#!/usr/bin/perl
# ----------------------------------------------------------------------------
# Article Manager 1.29
# Copyright (C) 2003 interactivetools.com, inc. All Rights Reserved
# http://www.interactivetools.com/
# ----------------------------------------------------------------------------
# This program is protected by Canadian and international copyright laws. Any
# use of this program is subject to the the terms of the license agreement
# included as part of this distribution archive. Any other uses are strictly
# prohibited without the written permission of interactivetools.com and all
# other rights are reserved.
# -----------------------------------------------------------------------------
# Warning : Modifying this program violates your license agreement!
# -----------------------------------------------------------------------------
BEGIN{@z=('70726f675f6e616d65','41727469636c65204d616e61676'
.'572','70726f675f6e616d6532','6172746d616e','70726f675f7665'
.'72','312e3239','73706172655f6669656c6473','457870697265642'
.'055736572','44697361626c6564','4e65772055736572','52656775'
.'6c61722055736572','41646d696e6973747261746f72','6172636869'
.'7665','617274','6461746166696c65','636174','6361745f6e756d',
'253034642530326425303264','79656172','6d6f6e','646179','79'
.'65617232','6d6f6e32','64617932','75726c5f736561726368','73'
.'65617263685f75726c','75726c5f67696e646578','75726c5f707562'
.'6c697368','7075626c6973685f696e6465785f66696c6570726566697'
.'8','2e','7075626c6973685f66696c65657874','66696c655f676361'
.'7465676f72696573','7075626c6973685f6361745f6c6973745f66696'
.'c65707265666978','66696c655f67686561646c696e6573','7075626'
.'c6973685f686561646c696e655f66696c65707265666978','66696c65'
.'5f686561646c696e65735f6279636174','7075626c6973685f73616d7'
.'06c65725f66696c65707265666978','66696c655f736561726368','7'
.'075626c6973685f7365617263685f666f726d5f66696c6570726566697'
.'8','676c6f62616c5f75706461746564','6461746574696d655f666f7'
.'26d6174','676361745f6e616d65','66696c655f63617465676f72696'
.'573','66696c655f686561646c696e6573','7075626c6973685f63617'
.'45f686561646c696e655f66696c65707265666978','68696464656e',
'63617465676f72795f70756c6c646f776e','3c6f7074696f6e2076616'
.'c75653d22','6e756d','223e','6e616d65','617263686976655f707'
.'56c6c646f776e','7365617263682f616476616e6365645f7365617263'
.'682e68746d6c','737369','6469725f7075626c697368','74656d706'
.'c617465','7365617263682f7365617263685f726573756c74732e6874'
.'6d6c','70657270616765','7374617274','696e5f','696e6465782f',
'686561646c696e65732f','7365617263682f','74656d706c61746564'
.'697231','2f','536f7272792c207468652074656d706c61746520796f'
.'7527766520726571756573746564206973206e6f742061207265676973'
.'74657265642074656d706c6174652e','75706461746564','7566696c'
.'655f696d616765','696d6167656865696768745f696d616765','696d'
.'61676577696474685f696d616765','7075625f66696c6570726566697'
.'85f73706563696679','7075625f66696c65707265666978','7075626'
.'c6973685f6361745f66696c65707265666978','75726c5f7365617263'
.'685f63617465676f7279','6669656c6473','73756d6d617279','636'
.'f6e74656e74','7370617265','737461747573','736561726368','6'
.'9676e6f72655f776f72645f626f756e646172696573','5c62','6b657'
.'9776f7264','7365617263685f6d61746368','6172745f','6172745f'
.'73756d6d617279','73756d6d6172795f666f726d6174','6172745f63'
.'6f6e74656e74','636f6e74656e745f666f726d6174','6172745f7370'
.'617265','666f726d61745f7370617265','686f7572','616d706d',''
.'706d','6d696e','6172745f64617465','646174655f666f726d6174',
'6172745f74696d65','74696d655f666f726d6174','6361745f6e616d'
.'65','6361745f696d616765','6361745f696d6167655f686569676874',
'6361745f696d6167655f7769647468','6172745f7072696e7465725f7'
.'5726c','616c6c6f775f6172745f66696c656e616d65','66696c656e6'
.'16d65','7075626c6973685f6172745f7072696e7465725f66696c6570'
.'7265666978','75726c5f696e646578','64657461696c5f6c696e6b',
'7075626c6973685f6172745f66696c65707265666978','76696577657'
.'25f70617468696e666f','7669657765725f75726c','6172745f6e756'
.'d','3f617263686976653d','266e756d3d','6172745f74797065','6'
.'c696e6b','75726c5f75706c6f6164','7566696c655f646f63756d656'
.'e74','6172745f696d6167655f75726c','63617074696f6e','617274'
.'5f6669656c64','726f77','726f775f73756d6d617279','726f775f6'
.'c696e6b','726f775f7566696c65','61727469636c655f6c697374',''
.'32','6e6f745f666f756e64','70726576','707265765f75726c','5f'
.'63676975726c','3f','54656d706c617465','63656c6c','6e6f5f70'
.'726576','6e657874','6e6578745f75726c','6e6f5f6e657874','73'
.'65617263685f7470616765','7365617263685f6370616765','736561'
.'7263685f6c6e756d','7365617263685f686e756d','6361745f757064'
.'61746564','5343524950545f46494c454e414d45','6d656e755f6865'
.'61646572','41727469636c6520456469746f72','6d656e755f74656d'
.'706c617465','5f6172745f6d656e75732e68746d6c','61727469636c'
.'652e646174','6e756d206372656174656420637265617465645f62792'
.'07570646174656420757064617465645f6279206d6f6e2064617920796'
.'56172206e616d652073756d6d61727920636f6e74656e7420','73756d'
.'6d6172795f666f726d617420636f6e74656e745f666f726d6174206361'
.'7420','7566696c655f696d61676531207566696c655f696d616765322'
.'07566696c655f696d61676533207566696c655f696d616765342075666'
.'96c655f696d61676535207566696c655f696d61676536207566696c655'
.'f696d61676537207566696c655f696d61676538207566696c655f696d6'
.'1676539207566696c655f696d616765313020','63617074696f6e3120'
.'63617074696f6e322063617074696f6e332063617074696f6e34206361'
.'7074696f6e352063617074696f6e362063617074696f6e372063617074'
.'696f6e382063617074696f6e392063617074696f6e313020','686f757'
.'2206d696e20616d706d206f776e6572206c696e6b206172745f7479706'
.'5207566696c655f646f63756d656e742068696464656e20','696d6167'
.'656e616d653120696d6167656e616d653220696d6167656e616d653320'
.'696d6167656e616d653420696d6167656e616d653520696d6167656e61'
.'6d653620696d6167656e616d653720696d6167656e616d653820696d61'
.'67656e616d653920696d6167656e616d65313020','696d61676577696'
.'474685f696d6167653120696d61676577696474685f696d61676532206'
.'96d61676577696474685f696d6167653320696d61676577696474685f6'
.'96d6167653420696d61676577696474685f696d6167653520696d61676'
.'577696474685f696d6167653620696d61676577696474685f696d61676'
.'53720696d61676577696474685f696d6167653820696d6167657769647'
.'4685f696d6167653920696d61676577696474685f696d616765313020',
'696d6167656865696768745f696d6167653120696d6167656865696768'
.'745f696d6167653220696d6167656865696768745f696d616765332069'
.'6d6167656865696768745f696d6167653420696d616765686569676874'
.'5f696d6167653520696d6167656865696768745f696d6167653620696d'
.'6167656865696768745f696d6167653720696d6167656865696768745f'
.'696d6167653820696d6167656865696768745f696d6167653920696d61'
.'67656865696768745f696d616765313020','73746174757320','7370'
.'6172653120737061726532207370617265332073706172653420737061'
.'7265352073706172653620737061726537207370617265382073706172'
.'653920737061726531302073706172653131207370617265313220','7'
.'374616d7020','7566696c655f696d6167653131207566696c655f696d'
.'6167653132207566696c655f696d6167653133207566696c655f696d61'
.'67653134207566696c655f696d6167653135207566696c655f696d6167'
.'653136207566696c655f696d6167653137207566696c655f696d616765'
.'3138207566696c655f696d6167653139207566696c655f696d61676532'
.'30207566696c655f696d6167653231207566696c655f696d6167653232'
.'207566696c655f696d6167653233207566696c655f696d616765323420'
.'7566696c655f696d616765323520','696d6167656e616d65313120696'
.'d6167656e616d65313220696d6167656e616d65313320696d6167656e6'
.'16d65313420696d6167656e616d65313520696d6167656e616d6531362'
.'0696d6167656e616d65313720696d6167656e616d65313820696d61676'
.'56e616d65313920696d6167656e616d65323020696d6167656e616d653'
.'23120696d6167656e616d65323220696d6167656e616d65323320696d6'
.'167656e616d65323420696d6167656e616d65323520','696d61676577'
.'696474685f696d616765313120696d61676577696474685f696d616765'
.'313220696d61676577696474685f696d616765313320696d6167657769'
.'6474685f696d616765313420696d61676577696474685f696d61676531'
.'3520696d61676577696474685f696d616765313620696d616765776964'
.'74685f696d616765313720696d61676577696474685f696d6167653138'
.'20696d61676577696474685f696d616765313920696d61676577696474'
.'685f696d616765323020696d61676577696474685f696d616765323120'
.'696d61676577696474685f696d616765323220696d6167657769647468'
.'5f696d616765323320696d61676577696474685f696d61676532342069'
.'6d61676577696474685f696d616765323520','696d616765686569676'
.'8745f696d616765313120696d6167656865696768745f696d616765313'
.'220696d6167656865696768745f696d616765313320696d61676568656'
.'96768745f696d616765313420696d6167656865696768745f696d61676'
.'5313520696d6167656865696768745f696d616765313620696d6167656'
.'865696768745f696d616765313720696d6167656865696768745f696d6'
.'16765313820696d6167656865696768745f696d616765313920696d616'
.'7656865696768745f696d616765323020696d6167656865696768745f6'
.'96d616765323120696d6167656865696768745f696d616765323220696'
.'d6167656865696768745f696d616765323320696d61676568656967687'
.'45f696d616765323420696d6167656865696768745f696d61676532352'
.'0','66696c656e616d6520','737061726531332073706172653134207'
.'3706172653135207370617265313620737061726531372073706172653'
.'1382073706172653139207370617265323020','63617074696f6e3131'
.'2063617074696f6e31322063617074696f6e31332063617074696f6e31'
.'342063617074696f6e31352063617074696f6e31362063617074696f6e'
.'31372063617074696f6e31382063617074696f6e31392063617074696f'
.'6e32302063617074696f6e32312063617074696f6e3232206361707469'
.'6f6e32332063617074696f6e32342063617074696f6e323520','666f7'
.'26d61745f73706172653120666f726d61745f73706172653220666f726'
.'d61745f73706172653320666f726d61745f73706172653420666f726d6'
.'1745f73706172653520666f726d61745f73706172653620666f726d617'
.'45f73706172653720666f726d61745f73706172653820666f726d61745'
.'f73706172653920666f726d61745f7370617265313020666f726d61745'
.'f7370617265313120666f726d61745f7370617265313220666f726d617'
.'45f7370617265313320666f726d61745f7370617265313420666f726d6'
.'1745f7370617265313520666f726d61745f7370617265313620666f726'
.'d61745f7370617265313720666f726d61745f7370617265313820666f7'
.'26d61745f7370617265313920666f726d61745f73706172653230','73'
.'6f72746279','2d237374616d7023','7075626c6973685f737562','6'
.'d656e755f73756273','6572617365','6c697374','74656d70','437'
.'2656174652041727469636c65','5f7772697465725f6d656e75732e68'
.'746d6c','74656d702e646174','43617465676f727920456469746f72',
'5f6361745f6d656e75732e68746d6c','63617465676f72792e646174',
'6e756d206372656174656420637265617465645f627920757064617465'
.'6420757064617465645f6279206e616d6520736f7264657220','74656'
.'d706c6174655f66696c652061727469636c655f74656d706c6174655f6'
.'6696c6520686561646c696e655f74656d706c6174655f66696c6520',''
.'7566696c655f696d616765207075625f66696c65707265666978207075'
.'625f66696c657072656669785f7370656369667920','7065727061676'
.'55f696e64657820706572706167655f686561646c696e6573206869646'
.'4656e207072696e7465725f74656d706c6174655f66696c6520','696d'
.'61676577696474685f696d61676520696d6167656865696768745f696d'
.'616765207075625f706572706167655f73706563696679','23736f726'
.'4657223','41726368697665204d616e61676572','5f6172636869766'
.'55f6d656e75732e68746d6c','617263686976652e646174','6e756d2'
.'06372656174656420637265617465645f6279207570646174656420757'
.'064617465645f6279206e616d6520636f756e74','236e756d23','616'
.'3636f756e74','5f6163636f756e745f6d656e75732e68746d6c','616'
.'3636f756e742e6461742e636769','6e756d2063726561746564206372'
.'65617465645f6279207570646174656420757064617465645f6279206e'
.'616d652069642070772061636c206e6f746573206361747320616c6c5f'
.'6361747320656d61696c5f6361747320656d61696c5f616c6c5f636174'
.'7320656d61696c5f6e6f74696669636174696f6e5f6576656e74732065'
.'6d61696c','6e616d65206964','73657373696f6e','73657373696f6'
.'e2e6461742e636769','7365747570','5f73657475705f6d656e75732'
.'e68746d6c','73657475702e6461742e636769','6e756d207469746c6'
.'5626172','20636f6e6669726d5f657261736520636f6e6669726d5f73'
.'6176656420636f6e6669726d5f6572617365642073657475705f776172'
.'6e696e67','2075706c6f61646c696d69742075706c6f61646d6178207'
.'5706c6f61645f6865696768742075706c6f61645f77696474682075706'
.'c6f6164657874206c686f7572206c686f75725f6f6666736574206c6d6'
.'96e206c6d696e5f6f66667365742072656731207265673220726567332'
.'06420632069','206469725f62617365206469725f75706c6f61642064'
.'69725f7075626c697368','2075726c5f696d6167652075726c5f68656'
.'c702075726c5f75706c6f61642075726c5f7075626c6973682075726c5'
.'f6c6f676f6666207365617263685f75726c','2064656661756c745f61'
.'75746f666f726d617420616c6c6f775f68746d6c20616c6c6f775f6172'
.'745f7479706573206175746f5f7075626c697368','207075626c69736'
.'85f696e6465785f66696c65707265666978207075626c6973685f68656'
.'1646c696e655f66696c65707265666978207075626c6973685f6361745'
.'f66696c65707265666978207075626c6973685f6361745f686561646c6'
.'96e655f66696c65707265666978207075626c6973685f6172745f66696'
.'c65707265666978207075626c6973685f6172745f7072696e7465725f6'
.'6696c65707265666978207075626c6973685f6361745f6c6973745f666'
.'96c65707265666978207075626c6973685f73616d706c65725f66696c6'
.'5707265666978207075626c6973685f66696c65657874','207075626c'
.'6973685f696e6465785f717479207075626c6973685f686561646c696e'
.'655f717479207075626c6973685f6361745f717479207075626c697368'
.'5f6361745f686561646c696e655f717479207075626c6973685f73616d'
.'706c65725f717479','207075626c6973685f696e646578207075626c6'
.'973685f686561646c696e6573207075626c6973685f636174207075626'
.'c6973685f6361745f686561646c696e6573207075626c6973685f61727'
.'469636c65207075626c6973685f7072696e746572207075626c6973685'
.'f6c6973745f6f665f63617473207075626c6973685f73616d706c6572',
'207075626c6973685f7365617263685f666f726d5f66696c6570726566'
.'6978207075626c6973685f7365617263685f666f726d','20676361745'
.'f6e616d65','20676c6f62616c5f75706461746564','20736669656c6'
.'45f6e616d653120736669656c645f6e616d653220736669656c645f6e6'
.'16d653320736669656c645f6e616d653420736669656c645f6e616d653'
.'520736669656c645f6e616d653620736669656c645f6e616d653720736'
.'669656c645f6e616d653820736669656c645f6e616d653920736669656'
.'c645f6e616d65313020736669656c645f6e616d65313120736669656c6'
.'45f6e616d653132','20736669656c645f6f726465723120736669656c'
.'645f6f726465723220736669656c645f6f726465723320736669656c64'
.'5f6f726465723420736669656c645f6f726465723520736669656c645f'
.'6f726465723620736669656c645f6f726465723720736669656c645f6f'
.'726465723820736669656c645f6f726465723920736669656c645f6f72'
.'646572313020736669656c645f6f72646572313120736669656c645f6f'
.'726465723132','20736669656c645f747970653120736669656c645f7'
.'47970653220736669656c645f747970653320736669656c645f7479706'
.'53420736669656c645f747970653520736669656c645f7479706536207'
.'36669656c645f747970653720736669656c645f7479706538207366696'
.'56c645f747970653920736669656c645f74797065313020736669656c6'
.'45f74797065313120736669656c645f747970653132','207075626c69'
.'73685f73796e6469636174655f66696c65707265666978207075626c69'
.'73685f73796e6469636174655f717479207075626c6973685f73796e64'
.'696361746520776562666565645f67656e5f616374697665','2076206'
.'272616e64696e6720666f6f746572207374617469635f6172636869766'
.'55f7061676573207669657765725f75726c207669657765725f7061746'
.'8696e666f20616c6c6f775f6172745f66696c656e616d65','20736669'
.'656c645f6e616d65313320736669656c645f6e616d6531342073666965'
.'6c645f6e616d65313520736669656c645f6e616d65313620736669656c'
.'645f6e616d65313720736669656c645f6e616d65313820736669656c64'
.'5f6e616d65313920736669656c645f6e616d653230','20736669656c6'
.'45f6f72646572313320736669656c645f6f72646572313420736669656'
.'c645f6f72646572313520736669656c645f6f726465723136207366696'
.'56c645f6f72646572313720736669656c645f6f7264657231382073666'
.'9656c645f6f72646572313920736669656c645f6f726465723230','20'
.'736669656c645f74797065313320736669656c645f7479706531342073'
.'6669656c645f74797065313520736669656c645f747970653136207366'
.'69656c645f74797065313720736669656c645f74797065313820736669'
.'656c645f74797065313920736669656c645f747970653230','20736f7'
.'274316669656c6420736f7274317265766572736520736f7274316e756'
.'d6572696320736f7274326669656c6420736f727432726576657273652'
.'0736f7274326e756d6572696320736f7274336669656c6420736f72743'
.'37265766572736520736f7274336e756d65726963','2073756d6d6172'
.'795f6e616d6520636f6e74656e745f6e616d652073756d6d6172795f74'
.'79706520636f6e74656e745f747970652073756d6d6172795f656e6162'
.'6c656420636f6e74656e745f656e61626c6564','20736669656c645f6'
.'56e61626c65643120736669656c645f656e61626c65643220736669656'
.'c645f656e61626c65643320736669656c645f656e61626c65643420736'
.'669656c645f656e61626c65643520736669656c645f656e61626c65643'
.'620736669656c645f656e61626c65643720736669656c645f656e61626'
.'c65643820736669656c645f656e61626c65643920736669656c645f656'
.'e61626c6564313020736669656c645f656e61626c65643131207366696'
.'56c645f656e61626c6564313220736669656c645f656e61626c6564313'
.'320736669656c645f656e61626c6564313420736669656c645f656e616'
.'26c6564313520736669656c645f656e61626c6564313620736669656c6'
.'45f656e61626c6564313720736669656c645f656e61626c65643138207'
.'36669656c645f656e61626c6564313920736669656c645f656e61626c6'
.'5643230','207075626c6973685f68696464656e5f696e64657820656d'
.'61696c5f6e6f74696669636174696f6e5f656e61626c6564206d61696c'
.'5f73656e6465725f656d61696c206d61696c5f73656e6465725f6e616d'
.'65206d61696c5f6d61696c6572206d61696c5f73656e646d61696c206d'
.'61696c5f736d7470206d61696c5f706f703361757468206d61696c5f70'
.'6f7033206d61696c5f706f703375736572206d61696c5f706f70337061'
.'7373','48415348','44425f5365656b203a2054686520666972737420'
.'617267756d656e74206d75737420626520612048415348207265666572'
.'656e636521','44425f5365656b203a20546865207365636f6e6420617'
.'267756d656e74206d75737420626520612048415348207265666572656'
.'e636521','44425f5365656b203a204e6f207365656b206669656c6420'
.'7761732073706563696669656421','43','6669656c646e','44425f4'
.'c697374203a2054686520666972737420617267756d656e74206d75737'
.'420626520612048415348207265666572656e636521','434f4445','4'
.'4425f4c697374203a20546865207365636f6e6420617267756d656e742'
.'06d757374206265206120434f4445207265666572656e636521','4442'
.'5f4c697374203a2054686520666f7572746820617267756d656e74206d'
.'75737420626520612048415348207265666572656e636521','44425f4'
.'c697374203a20416e6f6e207375622024726f77636f6465206973206e6'
.'f7420646566696e656421','44425f4c697374203a204e6f2064617461'
.'66696c6520646566696e656420696e2064617461626173652064656669'
.'6e6974696f6e20282544424465662921','6e','2d','44425f4c69737'
.'4203a2044424465662d3e736f7274627920636f6e7461696e7320756e6'
.'b6e6f776e206669656c64206e616d6520','a1','44425f4c697374506'
.'16765203a2054686520666972737420617267756d656e74206d7573742'
.'0626520612048415348207265666572656e636521','44425f4c697374'
.'50616765203a2054686520746869726420617267756d656e74206d7573'
.'74206265206120434f4445207265666572656e636521','44425f4c697'
.'37450616765203a20416e6f6e2073756220246d61746368636f6465206'
.'973206e6f7420646566696e656421','44425f4c69737450616765203a'
.'204e6f206461746166696c6520646566696e656420696e206461746162'
.'61736520646566696e6974696f6e20282544424465662921','44425f4'
.'c69737450616765203a2044424465662d3e736f7274627920636f6e746'
.'1696e7320756e6b6e6f776e206669656c64206e616d6520','44425f4c'
.'69737453617665203a2044424465662d3e736f7274627920636f6e7461'
.'696e7320756e6b6e6f776e206669656c64206e616d6520','414c4c',''
.'bf25303278','7072696e7420224c6f636174696f6e3a20687474703a2'
.'f2f7777772e696e746572616374697665746f6f6c732e636f6d2f6e6e2'
.'23b','5f5f454e445f5f','44425f416464203a2054686520666972737'
.'420617267756d656e74206d75737420626520612048415348207265666'
.'572656e636521','44425f416464203a20546865207365636f6e642061'
.'7267756d656e74206d7573742062652061204841534820726566657265'
.'6e636521','736f72646572','44425f4c6f6164203a20546865206669'
.'72737420617267756d656e74206d757374206265206120484153482072'
.'65666572656e636521','44425f4c6f6164203a20546865207365636f6'
.'e6420617267756d656e74206d757374206265206120484153482072656'
.'66572656e636521','44425f4c6f6164203a204e6f207265636f726420'
.'6e756d626572207761732073706563696669656421','44425f44656c2'
.'03a2054686520666972737420617267756d656e74206d7573742062652'
.'0612048415348207265666572656e636521','44425f44656c203a2054'
.'6865207365636f6e6420617267756d656e74206d757374206265206120'
.'7265636f7264206e756d62657221','44425f53617665203a205468652'
.'0666972737420617267756d656e74206d7573742062652061204841534'
.'8207265666572656e636521','44425f53617665203a20546865207365'
.'636f6e6420617267756d656e74206d7573742062652061204841534820'
.'7265666572656e636521','44425f53617665203a204e6f207265636f7'
.'264206e756d626572207761732073706563696669656421','6d61785f'
.'66696c656c6f636b5f77616974','6578636c7573697665','41525241'
.'59','556e6b6e6f776e206669656c642022','2220696e20636f6e6469'
.'74696f6e3c62723e3c62723e','4c494b45','4e4f54204c494b45','3'
.'d3d','3c','3e','3c3d','3e3d','213d','4245545745454e','4e4f'
.'54204245545745454e','494e','28','207c7c20','29','4e4f54204'
.'94e','2128','556e6b6e6f776e206f70657261746f722022','284066'
.'203d2073706c6974282fa12f2929','6d792040663b2020407b2472656'
.'35f6e6f7061636b7d203d2067726570207b20','20262620','207d204'
.'07b247265635f6e6f7061636b7d3b','6d792040663b2020666f726561'
.'63682028407b247265635f6e6f7061636b7d29207b202069662028','2'
.'9207b20246d617463685f6e6f7061636b7b24665b305d7d2b2b3b207d2'
.'07d','66696c6573797374656d','3d','766172','436f756c646e277'
.'42066696e6420','21','66696c6573','64697273','646972203a205'
.'56e6b6e6f776e2066696c652074797065203a20','26','64656275675'
.'f6f7574707574','6370203a2063616e2774207265616420','6370203'
.'a2063616e277420777269746520','434f4e54454e545f4c454e475448',
'51554552595f535452494e47','52656164466f726d203a20496e70757'
.'42065786365656473206d617820696e707574206c696d6974206f6620',
'434f4e54454e545f54595045','524551554553545f4d4554484f44',''
.'504f5354','5f70617468','5f66696c65','5f657874','474554','7'
.'4727565','56','4d','41','44','6e6f2d6361636865','636163686'
.'5','706c61696e','54656d706c6174653a20556e6b6e6f776e2074656'
.'d706c61746520666c616720','54656d706c617465203a204e6f207465'
.'6d706c6174652066696c65207761732073706563696669656421','546'
.'56d706c617465203a20546865207365636f6e6420617267756d656e742'
.'06d75737420626520612048415348207265666572656e636521','5465'
.'6d706c617465203a2054656d706c6174652066696c6520','20636f756'
.'c64206e6f7420626520666f756e6421','54656d706c617465203a2043'
.'6f756c646e2774206f70656e20','776562726f6f74','444f43554d45'
.'4e545f524f4f54','696e736964655f737369','5f7565','5f6865',''
.'5f6e627370','5f6a65','54656d706c61746543656c6c203a204e6f20'
.'74656d706c6174652063656c6c207761732073706563696669656421',
'54656d706c61746543656c6c203a2054656d706c6174652063656c6c20',
'206973206e6f7420646566696e656421','54656d706c61746543656c6'
.'c203a20546865207365636f6e6420617267756d656e74206d757374206'
.'26520612048415348207265666572656e636521','5a','61','7a','2'
.'b','422a','4d494d453634203a204e6f7468696e6720746f206465636'
.'f6465','252525303278','536574436f6f6b6965203a20436f6f6b696'
.'5206e616d65206d75737420626520737065636966696564','53657443'
.'6f6f6b6965203a2045787069726520446174652069736e277420696e20'
.'7365636f6e6473207573696e672074696d6528293b','30','65787069'
.'7265733d','706174683d','646f6d61696e3d','7365637572653b20',
'5365742d436f6f6b69653a20','485454505f434f4f4b4945','6c616e'
.'6775616765','6f7264696e616c73','20307468','20317374','2032'
.'6e64','20337264','20347468','20357468','20367468','2037746'
.'8','20387468','20397468','31307468','31317468','31327468',
'31337468','31347468','31357468','31367468','31377468','313'
.'87468','31397468','32307468','32317374','32326e64','323372'
.'64','32347468','32357468','32367468','32377468','32387468',
'32397468','33307468','33317374','7765656b5f66756c6c','7765'
.'656b5f61626272','6d6f6e74685f66756c6c','6d6f6e74685f616262'
.'72','25','62','42','63','256d2f25642f25792025483a254d3a255'
.'3','256120256220256520255420255a202559','64','25303264','2'
.'56d2f25642f2579','65','253264','68','48','49','6a','253033'
.'64','6b','6c','6d','6f','70','50','71','72','25493a254d3a2'
.'553202570','52','25483a254d','73','53','74','54','25483a25'
.'4d3a2553','55','77','57','78','58','79','59','25303464','4'
.'4617465537472696e67203a2054696d652076616c7565206d757374206'
.'26520616e20696e7465676572','4a616e','466562','4d6172','417'
.'072','4d6179','4a756e','4a756c','417567','536570','4f6374',
'4e6f76','446563','4a616e75617279','4665627275617279','4d61'
.'726368','417072696c','4a756e65','4a756c79','417567757374',
'53657074656d626572','4f63746f626572','4e6f76656d626572','4'
.'46563656d626572','53756e','4d6f6e','547565','576564','5468'
.'75','467269','536174','53756e646179','4d6f6e646179','54756'
.'573646179','5765646e6573646179','5468757273646179','467269'
.'646179','5361747572646179','7374','6e64','7264','7468','7e',
'2573','252d20353073','3c696e70757420747970653d68696464656e'
.'206e616d653d22','222076616c75653d22','534d54505f73656e646d'
.'61696c','686f7374','706f7274','68656c6f','6c6f63616c686f73'
.'74','74696d656f7574','6465627567','6572726f72','706f70335f'
.'61757468','5c62283f3a5b5c775c2d5d2b5b5c775c2d5c2e5d292a5b5'
.'c775c2d5d2b5c40','283f3a5b5c775c2d5d2b5b5c775c2d5c2e5d292a'
.'5b5c775c2d5d2b5c2e5b412d5a612d7a5d7b322c387d5c62','66726f6'
.'d','706f70335f75736572','706f70335f70617373','534d54505f70'
.'6f703361757468','617574686f72697a6564','706f70335f686f7374',
'706f70335f706f7274','706f70335f74696d656f7574','5f73756273',
'46485f437265617465','66696c656c6f636b696e67','6c6f636b','7'
.'37461636b','736861726564','756e6c6f636b3a206e6573746564206'
.'6696c656c6f636b20756e64657272756e','66696c656c6f636b','6c6'
.'f636b696e666f','68616e646c65','73657276657262757379','6367'
.'69646972','2e2e2e','414e59','75695f73756273','5f','6564697'
.'4','636f6e6669726d5f6572617365','7569','706167656e756d','6'
.'4617465','63726561746564','5f6267636f6c6f72','234545454546'
.'46','23444444444545','5f6d656e755f686561646572','5f6d656e7'
.'55f6e616d65','6d61785f7265636f726473','6572726f725f6d61785'
.'f7265636f726473','5f73656c6563746564','73656c6563746564',''
.'6e6f6e65','637265617465645f6279','757064617465645f6279','6'
.'16464','5f65646974','6e6f7265636f7264','5f636865636b6564',
'636865636b6564','5f636f6e6669726d5f6572617365','6572617365'
.'203a2043616e27742066696e64207265636f7264202320','636f6e666'
.'9726d5f657261736564','657261736564','73617665203a205461626'
.'c65206e616d6520756e646566696e6564','6469725f75706c6f6164',
'75706c6f6164657874','75706c6f61646c696d6974','75706c6f6164'
.'6d6178','6d657373616765','303030','75695f736176655f75706c6'
.'f616473203a2063616e277420736176652075706c6f616465642066696'
.'c6520','75706c6f61645f686569676874','75706c6f61645f7769647'
.'468','6f776e6572','696d6167657769647468','696d616765686569'
.'676874','7566696c65','73617665','6d617873697a65','6d617868'
.'6569676874','6d61787769647468','616363657074657874','4e6f6'
.'e65','6572726f725f75706c6f61645f6e6f745f7361766564','636f6'
.'e6669726d5f7361766564','7361766564','75695f6c697374203a205'
.'4686520666972737420617267756d656e74206d7573742062652061204'
.'8415348207265666572656e636521','5f6c697374616c6c','5f73746'
.'17465','5f70657270616765','5f6c697374','5f70636f756e74','5'
.'f6d636f756e74','5f72636f756e74','5f6370616765','5f6c706167'
.'65','5f6e70616765','6e6f745f666f756e645f736561726368','616'
.'363657373','61636c','6964','6572726f725f757365726e616d655f'
.'74616b656e','6572726f725f6c6173745f61646d696e','6c6f67696e'
.'5f696e76616c6964','6d61696c5f6d61696c6572','736d7470','6d6'
.'1696c5f736d7470','534d5450','736d74705f68656c6f','736d7470'
.'5f74696d656f7574','6d61696c5f706f703361757468','6d61696c5f'
.'706f7033','6d61696c5f706f703375736572','6d61696c5f706f7033'
.'70617373','73656e646d61696c','6d61696c5f73656e646d61696c',
'6669656c645f6e616d65','646972','66696c65','6d6b646972','54'
.'6865206162696c69747920746f20637265617465206e65772064697265'
.'63746f7269657320686173206265656e2072656d6f7665642066726f6d'
.'206f75722064656d6f2076657273696f6e2e2020','412072656769737'
.'4657265642076657273696f6e206f6620','20776f756c6420616c6c6f'
.'7720796f7520746f20646f20736f2e','6d6b66696c65','5468652061'
.'62696c69747920746f20637265617465206e65772066696c6573206861'
.'73206265656e2072656d6f7665642066726f6d206f75722064656d6f20'
.'76657273696f6e2e2020','546865206162696c69747920746f2062726'
.'f7773652061726f756e6420796f7572207365727665722068617320626'
.'5656e2072656d6f7665642066726f6d206f75722064656d6f207665727'
.'3696f6e2e2020','6469725f62617365','73646972','64656d6f','6'
.'d6b6469725f6e616d65','6469725f6572726f72','4e6f20646972656'
.'3746f7279206e616d652073706563696669656421','4469726563746f'
.'7279206e616d65206d6179206f6e6c7920636f6e7461696e20412d5a2c'
.'20612d7a2c20302d392c202d206f72205f','556e61626c6520746f206'
.'3726561746520646972203a20','6d6b66696c655f6e616d65','66696'
.'c655f6572726f72','4e6f2066696c65206e616d652073706563696669'
.'656421','46696c65206e616d65206d6179206f6e6c7920636f6e74616'
.'96e20412d5a2c20612d7a2c20302d392c202d2c205f206f72202e','46'
.'696c6520616c72656164792065786973747321','556e61626c6520746'
.'f206372656174652066696c65203a20','64697232','706172656e74',
'706172656e745f7565','4469726563746f727920646f65736e2774206'
.'57869737421','4469726563746f72792069736e277420726561646162'
.'6c6521','636f6e74656e74686561646572','5f62726f7773655f6469'
.'722e68746d6c','70617468','706174685f7565','73697a65','6d74'
.'696d65','6d6f646966696564','6f74686572','6e6f66696c6573',''
.'436f6e74656e742d747970653a20696d6167652f676966','436f6e746'
.'56e742d747970653a20696d6167652f6a706567','6c686f7572','6c6'
.'86f75725f6f6666736574','6d696e7573','6c6d696e','6c6d696e5f'
.'6f6666736574','6c6f67696e','7077','6c6f67696e5f65787069726'
.'564','6c6f67696e5f74696d656f7574','436f6e74656e742d7479706'
.'53a20746578742f68746d6c','5f696e746572666163652e68746d6c',
'75695f6c6f67696e5f696e746572666163653a2074656d706c61746563'
.'656c6c20','686561646572','6c6f67696e5f6d657373616765','666'
.'f6f746572','75726c5f6c6f676f6666','7374696d65','6c74696d65',
'656e765f7065726c5f6f73','656e765f7065726c5f766572','656e76'
.'5f6d6f645f7065726c','656e765f72656d6f74655f686f7374','656e'
.'765f72656d6f74655f61646472','656e765f636769646972','73656e'
.'646d61696c5f726f77','2f7573722f6c69622f73656e646d61696c',''
.'2f7573722f62696e2f73656e646d61696c','2f7573722f7362696e2f7'
.'3656e646d61696c','2f7573722f6c6f63616c2f62696e2f73656e646d'
.'61696c','2f7362696e2f73656e646d61696c','2f62696e2f73656e64'
.'6d61696c','2f6574632f73656e646d61696c','73656e646d61696c5f'
.'6c697374','74616231','73657475705f7761726e696e67','636c6f7'
.'3655f77696e646f775f6f6e5f636f6e6669726d','31','73657475705'
.'f746573746d61696c','5f73657475705f746573746d61696c2e68746d'
.'6c','5f636f6e74656e74','6d61696c5f74657374','706167655f746'
.'9746c65','54657374204d61696c','6d61696c746f','62616420656d'
.'61696c2061646472657373','496e76616c696420656d61696c2061646'
.'472657373','6e6f20656d61696c2061646472657373','456d61696c2'
.'061646472657373206c65667420626c616e6b2e','63616e74206f7065'
.'6e2074657374206d657373616765','626164206d61696c2074656d706'
.'c617465','7375622073656e646d61696c206572726f72','20','6d61'
.'696c207465737420737563636565646564','796573','6d61696c5f74'
.'6573745f6661696c6564','4572726f723a204e6f20456d61696c20416'
.'46472657373','4572726f723a20496e76616c696420456d61696c2041'
.'646472657373','6e6f','4572726f723a2050726f626c656d20776974'
.'682054657374204d657373616765','4572726f723a2050726f62656c6'
.'d20776974682054657374204d657373616765','4572726f723a205072'
.'6f62656c6d2073656e64696e67204d657374204d657373616765','6d6'
.'1696c5f746573745f737563636565646564','54657374204d61696c20'
.'537563636565646564','5f6261636b5f627574746f6e','5468652061'
.'62696c69747920746f20616c746572205365747570204f7074696f6e73'
.'20686173206265656e2072656d6f7665642066726f6d206f7572206465'
.'6d6f2076657273696f6e2e2020','20776f756c6420616c6c6f7720796'
.'f7520746f206368616e676520616e79206f66207468657365206669656'
.'c64732e','73617665645f74616231','72656733','496e76616c6964'
.'2050726f64756374204944213c62723e','596f75206d75737420656e7'
.'4657220796f75722050726f64756374204944213c62723e','72656732',
'596f75206d75737420656e74657220796f757220646f6d61696e206e61'
.'6d65213c62723e','72656731','596f75206d75737420656e74657220'
.'796f757220636f6d70616e79206e616d65213c62723e','5f72656731',
'5f72656732','5f72656733','74616239','5f6c6963656e73655f6e7'
.'56d','25303764','6373756d','23','73756d6d6172795f74797065',
'636f6e74656e745f74797065','5f696d61676575726c','75726c5f69'
.'6d616765','5f75695f7469746c65','7469746c65626172','5f75695'
.'f666f6f746572','5f75726c5f68656c70','75726c5f68656c70','70'
.'75626c69736865645f616c6c','496e74657266616365203a204e6f207'
.'4656d706c6174652063656c6c207761732073706563696669656421',''
.'496e74657266616365203a20546865207365636f6e6420617267756d65'
.'6e74206d75737420626520612048415348207265666572656e636521',
'6d656e756261725f61636c','6d656e75626172','5f6f6e6c79','5f6'
.'3757365725f6964','696e74657266616365','3c212d2d','2076','2'
.'0284275696c643a20','70726f645f6964','70726f675f6275696c64',
'4c6963656e73652023','207e20','457865637574652074696d653a20'
.'25303164207365636f6e6473','2d2d3e','64617461646972','6e6f7'
.'772697465','64656d6f5f6d657373616765','73657475705f7461627'
.'3','7461625f6e756d','7461625f6e616d65','7461625f756e73656c'
.'6563746564','7461625f73656c6563746564','5f6865616465725f74'
.'6162','7461625f626172','7461625f6c697374','4334','54656d70'
.'6c617465203a20546865207365636f6e6420617267756d656e74206d75'
.'737420626520612048415348207265666572656e6365206f7220756e64'
.'6566696e656421','696e636c75646573','61736466','75726c','69'
.'6d675f616c69676e','61727469636c655f656469746f72','696d6167'
.'655f616c69676e6d656e74','7269676874','696d675f75726c','696'
.'d675f63617074696f6e','696d675f686569676874','696d675f77696'
.'47468','696d675f6e6f63617074696f6e','3c6d657461206e616d653'
.'d2267656e657261746f722220636f6e74656e743d22','2c2068747470'
.'3a2f2f7777772e696e746572616374697665746f6f6c732e636f6d223e',
'3c212d2d204c617374205570646174656420','207769746820','2062'
.'7920696e746572616374697665746f6f6c732e636f6d202d2d3e','5f5'
.'f4449455f5f','5f5f5741524e5f5f','656d61696c5f6e6f746966696'
.'36174696f6e5f656e61626c6564','6e6f74696669636174696f6e5f65'
.'76656e7473','2c','656d61696c','6576656e745f6e616d6573','2d'
.'2d2d','7374617475735f6e616d6573','70656e64696e67','7669736'
.'9626c65','757365725f66756c6c6e616d65','6576656e74','617274'
.'5f636174','75726c5f7468697370616765','6172745f66696c656e61'
.'6d65','6d61696c5f73656e6465725f656d61696c','6d61696c5f7365'
.'6e6465725f6e616d65','656d61696c2f6e6f746966792e747874','54'
.'686520656d61696c2074656d706c617465206e6f746966792e74787420'
.'697320696d70726f7065726c7920666f726d61747465642e','436f6e7'
.'4656e742d547970653a20746578742f706c61696e','656d61696c5f61'
.'6c6c5f63617473','656d61696c5f63617473','656d61696c5f6e6f74'
.'696669636174696f6e5f6576656e7473','6e6f74696669636174696f6'
.'e735f746f5f6669656c64','3b20','5f75695f6267636f6c6f72','62'
.'67636f6c6f72','2e2e2f646174612f','2e2e2f646174612f66696c65'
.'6c6f636b2e6c6f636b','256220256f2c202559202d2025483a254d3a2'
.'553','25622025652c202559','6e6f5f7765625f736572766572','53'
.'43524950545f4e414d45','6d6f645f7065726c','4d4f445f5045524c',
'616c6c6f775f6d6f645f7065726c','63676975726c','63676966696c'
.'65','2e2e2f74656d706c61746573','74656d706c61746564697232',
'2e2e2f74656d706c617465732f696e74657266616365','74656d706c6'
.'1746564697233','2e2e2f5f736f757263655f696d61676573','69',''
.'506c6561736520696e7374616c6c207468652070726f6772616d206669'
.'7273742062792072756e6e696e672061646d696e2e636769','203a20',
'5f70726f675f6e616d65','75695f6267636f6c6f72','536572766572'
.'20746f6f206275737921','41727469636c65732063616e6e6f7420626'
.'5206163636573736564206f72207361766564207269676874206e6f772'
.'e20536f6d656f6e6520656c736520697320747279696e6720746f20736'
.'176652074686569722061727469636c652c206f7220746865207379737'
.'4656d20697320696e20746865206d69647374206f662072652d7075626'
.'c697368696e67206f7220617263686976696e672061727469636c65732'
.'e20506c6561736520776169742061206d6f6d656e7420616e642074686'
.'56e2074727920616761696e2e','6d6163667470','7075626c697368',
'6e6f68656c70','4e6f2048656c7020417661696c61626c65','536f72'
.'72792c206e6f2068656c702069732063757272656e746c792061766169'
.'6c61626c6520666f722074686973206170706c69636174696f6e2e2020'
.'506c6561736520636f6e7461637420796f75722073797374656d206164'
.'6d696e6973747261746f7220666f7220617373697374616e63652e','4'
.'e6f20737563682066696c65206f72206469726563746f7279','506572'
.'6d697373696f6e2064656e696564','75695f7469746c65','206f6e43'
.'6c69636b3d2277696e646f772e636c6f736528293b2220','6e6573746'
.'5645f6c6f636b73','3c212d2d20457865637574652074696d653a2025'
.'303164207365636f6e6473202d2d3e','3c212d2d20506f77657265642'
.'0627920696e746572616374697665746f6f6c732e636f6d2028696e666'
.'f40696e746572616374697665746f6f6c732e636f6d29202d2d3e'
);for(@z){$_=pack('H*',$_)}}use Socket;use Time::Local;use 
Fcntl qw(:DEFAULT :flock);%ab=();%ac=();%ad=();%ae=();%af=();
%ag=();%ah=();%ai=();$ab{$z[0]}=$z[1];$ab{$z[2]}=$z[3];$ab{$z[4]}
=$z[5];$ab{$z[6]}=20;@aj[0,1,2,3,9]=($z[7],$z[8],$z[9],$z[10],$z[11]);
$SIG{__DIE__}=\&ak;srand;$|=1;$^T=time();&al;sub qa{;}MAIN:;
&am();my$an=length$ag{$z[12]}?int$ag{$z[12]}:undef;if($an){
$ae{$z[13]}{$z[14]}="archive$an.dat";}my%ao;my$ap;($ag{$z[15]})
=($ag{$z[15]}=~/(\d+)/)if$ag{$z[15]};$ao{$z[16]}=$ag{$z[15]};
my($aq,$ar);$aq=sprintf($z[17],$ag{$z[18]},$ag{$z[19]},$ag{$z[20]}
)if($ag{$z[18]}&&$ag{$z[19]}&&$ag{$z[20]});$ar=sprintf($z[17],
$ag{$z[21]},$ag{$z[22]},$ag{$z[23]})if($ag{$z[21]}&&$ag{$z[22]}
&&$ag{$z[23]});$ad{$z[24]}=$ac{$z[25]};$ad{$z[26]}=$ac{$z[27]}
.$ac{$z[28]}.$z[29].$ac{$z[30]};$ad{$z[31]}=$ac{$z[32]}.$z[29]
.$ac{$z[30]};$ad{$z[33]}=$ac{$z[34]}.$z[29].$ac{$z[30]};$ad{$z[35]}
=$ac{$z[36]}.$z[29].$ac{$z[30]};$ad{$z[37]}=$ac{$z[38]}.$z[29]
.$ac{$z[30]};$ad{$z[39]}=&as($ab{$z[40]},&at($ac{$z[39]}))if
($ac{$z[39]});$ad{$z[41]}=$ac{$z[41]};if($ag{$z[15]}){$ad{$z[42]}
=$ac{$z[32]}.$ag{$z[15]}.$z[29].$ac{$z[30]};;$ad{$z[43]}=$ac{$z[44]}
.$ag{$z[15]}.$z[29].$ac{$z[30]};}else{$ad{$z[42]}=$ad{$z[31]};
$ad{$z[43]}=$ad{$z[33]};}if(!keys%ag){$ap=sub{my$au=shift;return 
if$au->{$z[45]};$ad{$z[46]}.=$z[47].$au->{$z[48]}.$z[49].$au->{$z[50]};
};&av($ae{$z[15]},$ap);&av($ae{$z[12]},sub{my$an=shift;$ad{$z[51]}
.=$z[47].$an->{$z[48]}.$z[49].$an->{$z[50]};});print"Content-type: text/html\n\n";
print&aw($z[52],{},$z[53],'',$ac{$z[54]});exit;}$ag{$z[55]}
||=$z[56];$ag{$z[57]}||=10;$ag{$z[58]}||=1;my($ax);foreach$ax
(sort keys%ag){$ad{"in_$ax"}=$ag{$ax};$ad{$z[59]}.="in_$ax"
." = ".$ad{"in_$ax"}."<br>";}my%ay;my$az;foreach$az('',$z[60],
$z[61],$z[62]){opendir AC,$ab{$z[63]}.$z[64].$az;%ay=(%ay,map
{$az.$_,1}grep{not-d"$ab{'templatedir1'}/$az$_"}readdir(AC));
closedir AC;}unless($ay{$ag{$z[55]}}){&ak($z[65]);}&aw($ag{$z[55]},
{},$z[53],'',$ac{$z[54]});my(%ba,%bb,%bc,%bd,%be,%bf,%bg);$ap
=sub{my%au=%{shift()};$ba{$au{$z[48]}}=$au{$z[50]};$bf{$au{$z[48]}}
=$au{$z[66]};$bc{$au{$z[48]}}=$au{$z[45]};$bb{$au{$z[48]}}=
$au{$z[67]}?"$ac{'url_upload'}$au{'ufile_image'}":"$ac{'url_image'}spacer.gif";
$bd{$au{$z[48]}}=$au{$z[68]};$be{$au{$z[48]}}=$au{$z[69]};$ad{$z[46]}
.=$z[47].$au{$z[48]}.$z[49].$au{$z[50]};if($au{$z[48]}){my$bh
=$au{$z[70]}?$au{$z[71]}:$ac{$z[72]}.$au{$z[48]};$bg{$au{$z[48]}}
=$ac{$z[27]}.$bh.$z[29].$ac{$z[30]};}else{$bg{$au{$z[48]}}=
$ad{$z[26]};}};&av($ae{$z[15]},$ap);if($ag{$z[15]}){$ad{$z[73]}
=$bg{$ag{$z[15]}};}else{$ad{$z[73]}=$ad{$z[26]};}&av($ae{$z[12]},
sub{my$an=shift;$ad{$z[51]}.=$z[47].$an->{$z[48]}.$z[49].$an->{$z[50]};
});my@bi;if($ag{$z[74]}){@bi=split(/[\s,]+/,$ag{$z[74]});foreach
(@bi){$_=~s/art_field/spare/ig;$_=~s/art_//ig;}}else{foreach
($z[50],$z[75],$z[76],map{$z[77].$_}1..$ab{$z[6]}){push(@bi,$_);
}}my$bj;$ap=sub{my$bk=shift;return unless($bk->{$z[15]});return 
if($bk->{$z[78]}!=2);return if($bc{$bk->{$z[15]}});return if
($ag{$z[15]}&&$ag{$z[15]}!=$bk->{$z[15]});my$bl=sprintf($z[17],
@{$bk}{qw/year mon day/});if($aq&&$ar){return unless($bl>=$aq
&&$bl<=$ar);}elsif($aq){return unless($bl>=$aq);}elsif($ar)
{return unless($bl<=$ar);}my$bm;my$bn=($af{$z[79]}{$z[80]}?
'':$z[81]).quotemeta($ag{$z[82]});foreach(@bi){$bm++if($bk->{$_}
=~m/$bn/i);}return if(defined$ag{$z[82]}&&not$bm);$ao{$z[83]}++;
if($ao{$z[83]}>=$ag{$z[58]}&&$ao{$z[83]}<$ag{$z[58]}+$ag{$z[57]})
{my($bo,$bp);foreach$bo(keys%{$bk}){$bp->{$z[84].$bo}=$bk->{$bo};
}$bp->{$z[85]}=~s|\n|<br />\n|g if$bk->{$z[86]};$bp->{$z[87]}
=~s|\n|<br />\n|g if$bk->{$z[88]};for(1..$ab{$z[6]}){$bp->{$z[89]
.$_}=~s|\n|<br />\n|g if$bk->{$z[90].$_};}my@bq=($bk->{$z[18]},
$bk->{$z[19]}-1,$bk->{$z[20]},$bk->{$z[91]}+($bk->{$z[92]}eq
$z[93]?12:0),$bk->{$z[94]});$bp->{$z[95]}=&as($ab{$z[96]},@bq);
$bp->{$z[97]}=&as($ab{$z[98]},@bq);$bp->{$z[16]}=$bk->{$z[15]};
$bp->{$z[99]}=$ba{$bk->{$z[15]}};$bp->{$z[100]}=$bb{$bk->{$z[15]}};
$bp->{$z[101]}=$bd{$bk->{$z[15]}};$bp->{$z[102]}=$be{$bk->{$z[15]}};
$bp->{$z[103]}=$ac{$z[27]}.($ac{$z[104]}&&$bk->{$z[105]}?$ac{$z[106]}
.$bk->{$z[105]}:$ac{$z[106]}.$bk->{$z[48]}).$z[29].$ac{$z[30]};
$bp->{$z[42]}=$ac{$z[32]}.$bk->{$z[15]}.$z[29].$ac{$z[30]};
$bp->{$z[43]}=$ac{$z[44]}.$bk->{$z[15]}.$z[29].$ac{$z[30]};
$bp->{$z[107]}=$bg{$bk->{$z[15]}};$bp->{$z[108]}=$ac{$z[27]}
.($ac{$z[104]}&&$bk->{$z[105]}?$bk->{$z[105]}:$ac{$z[109]}.
$bk->{$z[48]}).$z[29].$ac{$z[30]};if(defined$an){if($ac{$z[110]})
{$bp->{$z[108]}=$ac{$z[111]}.$z[64].$an.$z[64].$bp->{$z[112]};
}else{$bp->{$z[108]}=$ac{$z[111]}.$z[113].$an.$z[114].$bp->{$z[112]};
}}if($bk->{$z[115]}==3){$bp->{$z[116]}="http://$bk->{'link'}"
unless($bk->{$z[116]}=~m|^\w+://|);$bp->{$z[108]}=$bk->{$z[116]}
}if($bk->{$z[115]}==4){$bp->{$z[108]}=$ac{$z[117]}.$bk->{$z[118]};
}foreach(1..25){$bp->{$z[119].$_}=$ac{$z[117]}.$bk->{"ufile_image$_"};
$bp->{$z[120].$_}=$bk->{$z[120].$_};$bp->{$z[69].$_}=$bk->{$z[69]
.$_};$bp->{$z[68].$_}=$bk->{$z[68].$_};}$bp->{$z[85]}=&br($bp->{$z[85]},
$bp,'');$bp->{$z[87]}=&br($bp->{$z[87]},$bp,'');foreach(1..$ab{$z[6]})
{if($bp->{$z[89].$_}=~/\*{3}image(\d+)(:\w+)?\*{3}/s){$bp->{$z[121]
.$_}=&br($bp->{$z[89].$_},$bp,'');}else{$bp->{$z[121].$_}=$bp->{$z[89]
.$_};}}my$bs=($z[122],$z[123],$z[124],$z[125])[$bk->{$z[115]}
-1];$ao{$z[126]}.=&bt($bs,$bp,($bj++% 2==0)?'':$z[127]);}};
&av($ae{$z[13]},$ap);if(!$ao{$z[126]}){$ao{$z[126]}=&bu($z[128],
{});$ao{$z[83]}=0;}else{if($ag{$z[58]}>1){my$bv=$ag{$z[58]}
-$ag{$z[57]};$bv=1 if$bv<1;$ao{$z[129]}=&bu($z[129],{$z[130]
=>$ad{$z[131]}.$z[132].&bw({%ag,$z[58]=>$bv})});}elsif(defined
$ab{$z[133]}{$z[134]}{$z[135]}){$ao{$z[129]}=&bu($z[135],{});
}if($ao{$z[83]}>=$ag{$z[58]}+$ag{$z[57]}){my$bx=$ag{$z[58]}
+$ag{$z[57]};$ao{$z[136]}=&bu($z[136],{$z[137]=>$ad{$z[131]}
.$z[132].&bw({%ag,$z[58]=>$bx})});}elsif(defined$ab{$z[133]}{$z[134]}{$z[138]})
{$ao{$z[136]}=&bu($z[138],{});}}$ao{$z[139]}=&by($ao{$z[83]}
/$ag{$z[57]});$ao{$z[140]}=&by($ag{$z[58]}/$ag{$z[57]});$ao{$z[141]}
=$ag{$z[58]};$ao{$z[142]}=&bz($ag{$z[58]}+$ag{$z[57]}-1,$ao{$z[83]});
if($ag{$z[15]}){$ao{$z[99]}=$ba{$ag{$z[15]}};$ao{$z[143]}=&as($ab{$z[40]},
&at($bf{$ag{$z[15]}}))if$bf{$ag{$z[15]}};$ao{$z[100]}=$bb{$ag{$z[15]}};
$ao{$z[102]}=$be{$ag{$z[15]}}||1;$ao{$z[101]}=$bd{$ag{$z[15]}}
||1;}else{$ao{$z[99]}=$ac{$z[41]};$ao{$z[143]}=&as($ab{$z[40]},
&at($ac{$z[39]}))if$ac{$z[39]};}print"Content-type: text/html\n\n";
print&aw($ag{$z[55]},\%ao,$z[53],'',$ac{$z[54]});exit;sub al
{my$ca=$0;$ca=~s/.*[\\\/]//;my@cb=($0,$ENV{$z[144]});my$cc=
(grep(/$cgifile$/i&&s/^(.*)[\\\/].*/$1/,@cb))[0];$cc||=(($^O=~/mswin/i?`cd`:`pwd`)=~/(.*)/)[0];
$cc=~s/\\/\//g;if(!$cc){die("Can't determine cgi directory!\n");
}$ae{$z[13]}={$z[50]=>$z[13],$z[145]=>$z[146],$z[147]=>$z[148],
$z[14]=>$z[149],$z[74]=>$z[150].$z[151].$z[152].$z[153].$z[154].
$z[155].$z[156].$z[157].$z[158].$z[159].$z[160].$z[161].$z[162]
.$z[163].$z[164].$z[165].$z[166].$z[167].$z[168],$z[79]=>$z[50],
$z[169]=>$z[170],$z[171]=>\&cd,$z[172]=>[[$z[173],\&ce],[$z[174],
\&cf],],};$ae{$z[175]}={$z[50]=>$z[13],$z[145]=>$z[176],$z[147]
=>$z[177],$z[14]=>$z[178],$z[74]=>$ae{$z[13]}{$z[74]},$z[79]
=>$ae{$z[13]}{$z[79]},$z[169]=>$ae{$z[13]}{$z[169]},$z[172]
=>[[$z[174],\&cf],],};$ae{$z[15]}={$z[50]=>$z[15],$z[145]=>
$z[179],$z[147]=>$z[180],$z[14]=>$z[181],$z[74]=>$z[182].$z[183].
$z[184].$z[185].$z[186],$z[79]=>$z[50],$z[169]=>$z[187],$z[171]
=>\&cg,$z[172]=>[[$z[173],\&ch],[$z[174],\&ci],],};$ae{$z[12]}
={$z[50]=>$z[12],$z[145]=>$z[188],$z[147]=>$z[189],$z[14]=>
$z[190],$z[74]=>$z[191],$z[79]=>$z[50],$z[169]=>$z[192],$z[172]
=>[[$z[174],\&cj],],};$ae{$z[193]}={$z[50]=>$z[193],$z[147]
=>$z[194],$z[14]=>$z[195],$z[74]=>$z[196],$z[79]=>$z[197],$z[169]
=>$z[50],$z[172]=>[[$z[173],\&ck],[$z[174],\&cl],],};$ae{$z[198]}
={$z[50]=>$z[198],$z[14]=>$z[199],$z[74]=>$ae{$z[193]}{$z[74]},
};$ae{$z[200]}={$z[50]=>$z[200],$z[147]=>$z[201],$z[14]=>$z[202],
$z[74]=>$z[203].$z[204].$z[205].$z[206].$z[207].$z[208].$z[209]
.$z[210].$z[211].$z[212].$z[213].$z[214].$z[215].$z[216].$z[217]
.$z[218].$z[219].$z[220].$z[221].$z[222].$z[223].$z[224].$z[225]
.$z[226],};1;;sub mg{my$ae=$_[0];my($cm)="$ab{'datadir'}$ae->{'datafile'}";
my(@cn);if(ref($ae)ne$z[227]){die"DB_Count : The first argument must be a HASH reference!\n";
}if(!$ae->{$z[14]}){die"DB_Count : No datafile defined in database definition (\%DBDef)!\n";
}unless(-e$cm){return(0);}&co;open(AB,"<$cm")||&cp("DB_Count : Can't open '$cm'");
@cn=grep/^\d/,<AB>;close(AB);&cq;my$bj=@cn;return$bj||0;}sub 
mw{my$ae=$_[0];if(ref($ae)ne$z[227]){die$z[228]."\n";}if(defined($_[1])
&&ref($_[1])ne$z[227]){die$z[229]."\n";}if(!$_[2]){die$z[230]."\n";
}my($cm)="$ab{'datadir'}$ae->{'datafile'}";my(@bi)=split(/ /,$ae->{$z[74]});
my($ao)=$_[1]if defined($_[1]);my($cr)=grep{$bi[$_]eq$_[2]}
(0..$#bi);my($cs)=$_[3];my($ct)=$_[4];my(@cn);my(@cu);unless
(-e$cm){return(0);}if(-e$cm){&co;open(AB,"<$cm")||&cp("DB_Seek : Can't open '$cm'");
@cn=<AB>;close(AB);&cq;}foreach(@cn){/^(\d+)\¡/;($1&&$1>=$ct)
||next;s/[^¡]+$//;undef%$ao if defined($ao);@cu=split(/\¡/);
next if($cu[$cr]ne$cs);if(defined($ao)){for(0..$#bi){$ao->{$bi[$_]}
=$cu[$_];$ao->{$bi[$_]}=~s/¿([A-F0-9]{2})/pack($z[231],hex($1))/egix;
}}return 1;}return 0;}sub av{my$ae=$_[0];my($cm)="$ab{'datadir'}$ae->{'datafile'}";
my(@bi)=split(/ /,$ae->{$z[74]});unless($ae->{$z[232]}){for
(0..$#bi){$ae->{$z[232]}{$bi[$_]}=$_;}}my($ap)=$_[1];my($ao)
=$_[2]||{};my($cv)=$_[3];my(@cn);my(@cu);my($cw,$cx);my$cy;
if(ref($ae)ne$z[227]){die$z[233]."\n";}if(ref($_[1])ne$z[234]
&&$_[1]){die$z[235]."\n";}if(ref($_[2])ne$z[227]&&$_[2]){die
$z[236]."\n";}if(!defined&$ap){die$z[237]."\n";}if(!$ae->{$z[14]})
{die$z[238]."\n";}unless(-e$cm){return(0);}&co;open(AB,"<$cm")
||&cp("DB_List : Can't open '$cm'");@cn=<AB>;close(AB);&cq;
@cn=grep/^\d/,@cn;&cz($ae,\@cn,$cv);if($ae->{$z[169]}){my($da,$db);
foreach(split(/ /,$ae->{$z[169]})){if(s/#//g){$cw=$z[239];}
else{$cw='';}if(s/-//g){$cx=$z[240];}else{$cx='';}if(!defined
$ae->{$z[232]}{$_}){die($z[241]."'$_'!\n");}$db.="$cx$ae->{'fieldn'}{$_}$cw ";
}@cn=&dc($z[242],$db,\@cn);}foreach(@cn){s/[^¡]+$//;undef%$ao;
@cu=split(/\¡/);for$cy(0..$#bi){$ao->{$bi[$cy]}=$cu[$cy];$ao->{$bi[$cy]}
=~s/¿([A-F0-9]{2})/pack($z[231],hex($1))/egix;}&$ap($ao);}}
sub mu{my($ae)=$_[0];my($dd)=$_[1];my($de)=int$_[2]||1;my($df)
=int$_[3];my($dg)=$_[4];my($dh)=$_[5];my($cw,$cx);my($di,$dj,$cy);
my($ao)={};if(ref($ae)ne$z[227]){die$z[243]."\n";}if(ref($_[1])
ne$z[234]&&$_[1]){die$z[244]."\n";}if(!defined&$dd){die$z[245]."\n";
}if(!$ae->{$z[14]}){die$z[246]."\n";}my($cm)="$ab{'datadir'}$ae->{'datafile'}";
my(@bi)=split(/ /,$ae->{$z[74]});unless($ae->{$z[232]}){for
(0..$#bi){$ae->{$z[232]}{$bi[$_]}=$_;}}my($dk,$dl,$dm,$dn,$dp)
=(0,0,0,0,0);my(@cn);my(@cu);unless(-e$cm){return(0,0,0,0,0,0);
}&co;open(AB,"<$cm")||&cp("DB_List : Can't open '$cm'");@cn
=<AB>;close(AB);&cq;@cn=grep/^\d/,@cn;&cz($ae,\@cn,$dg);$dm
=scalar@cn;&cz($ae,\@cn,$dh);$dl=scalar@cn;if($ae->{$z[169]})
{my($da,$db);foreach(split(/ /,$ae->{$z[169]})){if(s/#//g){
$cw=$z[239];}else{$cw='';}if(s/-//g){$cx=$z[240];}else{$cx='';
}if(!defined$ae->{$z[232]}{$_}){die($z[247]."'$_'!\n");}$db
.="$cx$ae->{'fieldn'}{$_}$cw ";}@cn=&dc($z[242],$db,\@cn);}
$dj=($de*$df)-($df-1);$di=$de*$df;if($di>$#cn){$di=$#cn+1;}
for($dj..$di){$_=$cn[$_-1];s/[^\¡]+$//;undef%$ao;@cu=split(/\¡/);
for$cy(0..$#bi){$ao->{$bi[$cy]}=$cu[$cy];$ao->{$bi[$cy]}=~s/¿([A-F0-9]{2})/pack($z[231],hex($1))/egix;
}&$dd($ao);}$df||=1;$dk=int($dl/$df);if($dl%$df){$dk++;}if(($de-1)
<1||($de-1)>$dk){$dn=$dk;}else{$dn=$de-1;}if(($de+1)>$dk){$dp
=1;}else{$dp=$de+1;}if(!$dk){$de=$dn=$dp=0;}return($dk,$dl,
$dm,$de,$dn,$dp);}sub oe{my$ae=$_[0];if(ref($ae)ne$z[227]){
die"DB_ListSave : The first argument must be a HASH reference!\n";
}if(ref($_[1])ne$z[234]&&$_[1]){die"DB_ListSave : The second argument must be a CODE reference!\n";
}if(ref($_[2])eq$z[227]){die"DB_ListSave : Use of an output hash reference is depricated.  Argument order has been changed.\n";
}my($cm)="$ab{'datadir'}$ae->{'datafile'}";my(@bi)=split(/ /,$ae->{$z[74]});
unless($ae->{$z[232]}){for(0..$#bi){$ae->{$z[232]}{$bi[$_]}
=$_;}}my($ap)=$_[1];my($cv)=$_[2];my($dq)=$_[3];my($ao)=$_[4]
||{};my(@cn,$dr,%ds);my(@cu,$cw,$cx,$cy);unless(-e$cm){return(0);
}&co;open(AB,"<$cm")||&cp("DB_List : Can't open '$cm'");@cn
=<AB>;close(AB);if($cn[1]=~m/#(\d+)/){$dr=$1;}else{foreach(@cn)
{/^\d/||next;$ds{(split(/\¡/))[0]}=1;}$dr=(sort{$b<=>$a}keys
%ds)[0];}@cn=grep/^\d/,@cn;my$dt=&du($ae,\@cn,$cv);if($dq&&
$ae->{$z[169]}){my($da,$db);foreach(split(/ /,$ae->{$z[169]}))
{if(s/#//g){$cw=$z[239];}else{$cw='';}if(s/-//g){$cx=$z[240];
}else{$cx='';}if(!defined$ae->{$z[232]}{$_}){die($z[248]."'$_'!\n");
}$db.="$cx$ae->{'fieldn'}{$_}$cw ";}@cn=&dc($z[242],$db,\@cn);
}foreach(@cn){if(!$dt->{$z[249]}&&!$dt->{(/^(\d+)/)[0]}){next;
}s/[^¡]+$//;undef%$ao;@cu=split(/\¡/);for$cy(0..$#bi){$ao->{$bi[$cy]}
=$cu[$cy];$ao->{$bi[$cy]}=~s/¿([A-F0-9]{2})/pack($z[231],hex($1))/egix;
}&$ap($ao);if($ao->{num}){$_="$cu[$cy]¡";for$cy(1..$#bi){my($dv)
=$ao->{$bi[$cy]};$dv=~s/[\x1a\r\n\¡\¿]/sprintf($z[250],ord($&))/egx;
$_.="$dv¡";}$_.="\n";}else{undef$_;}}open(AB,">$cm.tmp$$")||
&cp("DB_ListSave : Can't open $cm.tmp$$");print AB"#!$^X\n";
print AB"#$dr\n";print AB$z[251]."\n".$z[252]."\n";foreach(@cn)
{/^\d/||next;s/[^¡]+$//;print AB"$_\n"or&cp("DB_ListSave: Can't write to $cm");
}close(AB)||&cp("DB_ListSave : Can't close $cm");rename("$cm.tmp$$",$cm)
||&cp("DB_ListSave : Can't rename $cm");&cq;}sub ec{my$ae=$_[0];
if(ref($ae)ne$z[227]){die$z[253]."\n";}if(ref($_[1])ne$z[227])
{die$z[254]."\n";}my($cm)="$ab{'datadir'}$ae->{'datafile'}";
my(@bi)=split(/ /,$ae->{$z[74]});my($ag)=$_[1];my($dw)=int$_[2];
my(@cn);my(@cu);my(%ds);my($dx,$cy,$dr);&co;if(-e$cm){open(AB,"<$cm")
||&cp("DB_Add : Can't open '$cm'");@cn=<AB>;close(AB);}if($cn[1]
=~m/#(\d+)/){$dr=$1;}else{foreach(@cn){/^\d/||next;$ds{(split(/\¡/))[0]}
=1;}$dr=(sort{$b<=>$a}keys%ds)[0];}if($dw&&$ds{$dw}){&cq;return
&dy(@_);}elsif($dw){$dx=$dw;}else{$dx=$dr=$dr+1;}$ag{$z[255]}
=$dx;open(AB,">$cm.tmp$$")||&cp("DB_Add : Can't open $cm.tmp$$");
print AB qq|#!$^X\n|;print AB qq|#$dr\n|;print AB$z[251]."\n".$z[252]."\n";
foreach(@cn){/^\d/||next;s/[^¡]+$//;print AB"$_\n"or die("DB_Add : Can't write to $cm : $!\n");
}my($dz)="$dx¡";for$cy(1..$#bi){my($dv)=$ag->{$bi[$cy]};$dv
=~s/[\x1a\r\n\¡\¿]/sprintf($z[250],ord($&))/egx;$dz.="$dv¡";
}print AB"$dz\n"or&cp("DB_Add : Can't write to $cm");close(AB)
||&cp("DB_Add : Can't close $cm");rename("$cm.tmp$$",$cm)||
&cp("DB_Add : Can't rename $cm");&cq;return$dx;}sub mh{my$ae
=$_[0];if(ref($ae)ne$z[227]){die$z[256]."\n";}if(ref($_[1])
ne$z[227]){die$z[257]."\n";}if(!$_[2]){die$z[258]."\n";}my($cm)
="$ab{'datadir'}$ae->{'datafile'}";my(@bi)=split(/ /,$ae->{$z[74]});
my($ao)=$_[1];my($ds)=int$_[2];my(@cn);my(@cu);my($cy);unless
(-e$cm){return(0);}if(-e$cm){&co;open(AB,"<$cm")||&cp("DB_Load : Can't open '$cm'");
@cn=<AB>;close(AB);&cq;}foreach(@cn){/^$ds\¡/||next;s/[^¡]+$//;
undef%$ao;@cu=split(/\¡/);for$cy(0..$#bi){$ao->{$bi[$cy]}=$cu[$cy];
$ao->{$bi[$cy]}=~s/¿([A-F0-9]{2})/pack($z[231],hex($1))/egix;
}return 1;}return 0;}sub mj{my$ae=$_[0];if(ref($ae)ne$z[227])
{die$z[259]."\n";}if(!$_[1]){die$z[260]."\n";}my($cm)="$ab{'datadir'}$ae->{'datafile'}";
my(@bi)=split(/ /,$ae->{$z[74]});my($ds)=int$_[1];my(%di);my($ea)
=0;for(1..$#_){$di{$_[$_]}++;}my(@cn,$dr,%ds);unless(-e$cm)
{return(0);}&co;if(-e$cm){open(AB,"<$cm")||&cp("DB_Del : Can't open '$cm'");
@cn=<AB>;close(AB);}if($cn[1]=~m/#(\d+)/){$dr=$1;}else{foreach
(@cn){/^\d/||next;$ds{(split(/\¡/))[0]}=1;}$dr=(sort{$b<=>$a
}keys%ds)[0];}open(AB,">$cm.tmp$$")||&cp("DB_Del : Can't open $cm.tmp$$");
print AB qq|#!$^X\n|;print AB qq|#$dr\n|;print AB$z[251]."\n".$z[252]."\n";
foreach(@cn){/^(\d+)\¡/||next;if($di{$1}){$ea++;next;}s/[^¡]+$//;
print AB"$_\n"or&cp("DB_Del : Can't write to $cm");}close(AB)
||&cp("DB_Del : Can't close $cm");rename("$cm.tmp$$",$cm)||
&cp("DB_Del : Can't rename $cm");&cq;return$ea;}sub dy{my$ae
=$_[0];if(ref($ae)ne$z[227]){die$z[261]."\n";}if(ref($_[1])
ne$z[227]){die$z[262]."\n";}if(!$_[2]){die$z[263]."\n";}my($cm)
="$ab{'datadir'}$ae->{'datafile'}";my(@bi)=split(/ /,$ae->{$z[74]});
my($ag)=$_[1];my($ds)=int$_[2];my($eb)=0;my(@cn);my(@cu);my($cy,$ao,$dr,%ds);
if(!-e$cm){return&ec(@_);}&co;open(AB,"<$cm")||&cp("DB_Save : Can't open '$cm'");
@cn=<AB>;close(AB);if($cn[1]=~m/#(\d+)/){$dr=$1;}else{foreach
(@cn){/^\d/||next;$ds{(split(/\¡/))[0]}=1;}$dr=(sort{$b<=>$a
}keys%ds)[0];}open(AB,">$cm.tmp$$")||&cp("DB_Save : Can't open $cm.tmp$$");
print AB qq|#!$^X\n|;print AB qq|#$dr\n|;print AB$z[251]."\n".$z[252]."\n";
foreach(@cn){/^\d/||next;if(/^$ds\¡/){my($dz)="$ds¡";for$cy
(1..$#bi){my($dv)=$ag->{$bi[$cy]};$dv=~s/[\x1a\r\n\¡\¿]/sprintf($z[250],ord($&))/egx;
$dz.="$dv¡";}print AB"$dz\n"or&cp("DB_Save : Can't write to $cm");
$eb++;next;}s/[^¡]+$//;print AB$_,"\n"or&cp("DB_Save : Can't write to $cm");
}close(AB)||&cp("DB_Save : Can't close $cm");rename("$cm.tmp$$",$cm)
||&cp("DB_Save : Can't rename $cm");&cq;unless($eb){return&ec(@_);
}}sub co{my$ed=$af{$z[264]}||5;&ee($z[265],$ed);}sub cq{my$ed
=$af{$z[264]}||5;&ef($ed);}sub er{my($ae,$eg,$eh)=@_;my(@ei,
@ej);unless($ae->{$z[232]}){my(@bi)=split(/ /,$ae->{$z[74]});
for(0..$#bi){$ae->{$z[232]}{$bi[$_]}=$_;}}foreach(@{$eh}){my
($ek,$el,$em)=@{$_};next if$em eq'';if(ref($em)eq$z[266]){foreach
(@$em){s/[\x1a\r\n\¡\¿]/sprintf($z[250],ord($&))/egx;$_=quotemeta($_);
}}else{$em=~s/[\x1a\r\n\¡\¿]/sprintf($z[250],ord($&))/egx;$em
=quotemeta($em);}$el=uc$el;my$en=$ae->{$z[232]}{$ek};unless
(defined$en){&ak($z[267].$ek.$z[268].&eo($eh));}if($el eq$z[269])
{push@ei,"/$em/i";push@ej,"\$f[$en] =~ /$em/i";}elsif($el eq
$z[270]){push@ej,"\$f[$en] ne /$em/i";}elsif($el eq$z[271])
{push@ei,"/¡$em¡/i";push@ej,"\$f[$en] eq q/$em/";}elsif($el 
eq$z[272]||$el eq$z[273]||$el eq$z[274]||$el eq$z[275]||$el 
eq$z[276]){push@ej,"\$f[$en] $el $em";}elsif($el eq$z[277])
{my($ep,$eq)=@{$em};push@ej,"\$f[$en] >= $ep && \$f[$en] <= $eq";
}elsif($el eq$z[278]){my($ep,$eq)=@{$em};push@ej,"!(\$f[$en] >= $ep && \$f[$en] <= $eq)";
}elsif($el eq$z[279]){push@ej,$z[280].join($z[281],map{"\$f[$en] eq q/$_/"
}@{$em}).$z[282];}elsif($el eq$z[283]){push@ej,$z[284].join($z[281],
map{"\$f[$en] eq q/$_/"}@{$em}).$z[282];}else{&ak($z[285].$el
.$z[268].&eo($eh));}}unshift(@ej,$z[286])if@ej;return(\@ei,
\@ej);}sub cz{my($ae,$rec_nopack,$eh)=@_;my($ei,$ej)=&er($ae,
$rec_nopack,$eh);return unless(@$ei||@$ej);my$es=$z[287].join($z[288],
@$ei,@$ej).$z[289];&et($es);eval$es;&et($@);}sub du{my($ae,
$rec_nopack,$eh)=@_;my($ei,$ej)=&er($ae,$rec_nopack,$eh);return
({$z[249]=>1})unless(@$ei||@$ej);my%match_nopack;my$es=$z[290]
.join($z[288],@$ej).$z[291];&et($es);eval$es;&et($@);return(\%match_nopack);
}sub cp{my($eu)=(@_);my($ev)=$!;if($ev eq''){$ev="Unknown error. Maybe disk quota exceeded?";
}&ak($z[292],"$eu : $ev\n");}1;;sub pm{local(*AB);my($ew)=$_[0];
my(@ex,$ey,%ez);$ey=\%ez;if(!$_[0]){die"INI_Load : No ini file was specified!\n";
}if(!-e$_[0]){die"INI_Load : The ini file '$_[0]' could not be found!\n";
}open(AB,"<$ew")||die("INI_Load : Could open ini file! $!\n");
@ex=<AB>;close(AB);foreach(@ex){/^\s*#/m&&next;if(/^\s*\[/m)
{$ey=\%ez;foreach(/\[(.+?)\]/g){$ey=\%{$ey->{$_}};}next;}my
$fa=index($_,$z[293]);if($fa>0){my$fb=substr($_,0,$fa);my$em
=substr($_,$fa+1);foreach($fb,$em){s/^\s+//;s/\s+$//;}$fb=~
/[^a-zA-Z\/0-9_\-]/&&die("INI_Load : Invalid key '$fb' in ini file '$ew'!\n");
defined$ey->{$fb}&&die("INI_Load : Key '$fb' defined twice in ini file '$ew'!\n");
$ey->{$fb}=$em;}elsif($fa==-1){my$fb=$_;for($fb){s/^\s+//;s/\s+$//;
}if(!length$fb){next;}defined$ey->{$fb}&&die("INI_Load : Key '$fb' defined twice in ini file '$ew'!\n");
$ey->{$fb}=1;}}return%ez;}sub eo{my$ey=$_[0];my$fc=$_[1];my
$fd=$_[2]||$z[294];my$ao;if(ref($ey)eq$z[227]){foreach(sort 
keys%{$ey}){if(ref($ey->{$_})){$ao.=&eo($ey->{$_},"$fc\{$_}");
}else{$ao.="\$$fd$fc"."{$_} = $ey->{$_}\n";}}}elsif(ref($ey)
eq$z[266]){for(0..$#{$ey}){if(ref($ey->[$_])){$ao.=&eo($ey->[$_],"$fc\[$_]");
}else{$ao.="\$$fd$fc"."[$_] = $ey->[$_]\n";}}}return$ao;}sub 
az{my($fe,$ff)=@_;my(%fg);local(*AC);if(!-e$fe){$!=$z[295].$fe.$z[296];
return(0);}if($ff&&$ff ne$z[297]&&$ff ne$z[298]){die($z[299]."$ff\n");
}opendir(AC,$fe);foreach(grep(!/^\.+$/,readdir(AC))){if($ff 
eq$z[297]){$fg{$_}++if-f"$fe/$_";}elsif($ff eq$z[298]){$fg{$_}++
if-d"$fe/$_";}else{$fg{$_}++;}}closedir(AC);return%fg;}sub 
et{my$fh;my$cy;while(my($ew,$dz,$fi)=(caller($cy++))[1,2,3])
{$ew=~s/^.*[\/\\]//;$fi=~s/^main:://;unless($fi=~s/__ANON__/(anonymous)/)
{$fi=$z[300].$fi;}$fh.=qq!$ew ($dz)¡called $fi¡¡!;}$fh=~s/\\/\\\\/g;
$fh=~s/'/\\'/g;$fh=~s/¡/\\n/g;$ab{$z[301]}.=qq|<a href="javascript:alert('$fh')"><font color="#BBEEFF">&gt;</font></a><font color="#66CCFF">|;
$ab{$z[301]}.=join("\n<br>",map{&fj($_)}@_)."</font>\n<br>";
}sub qb{my($fk,$fl)=@_;local(*AD);local(*AE);open(AD,"<$fk")
||die($z[302]."$fk : $!\n");open(AE,">$fl")||die($z[303]."$fl : $!\n");
binmode(AD);binmode(AE);print AE<AD>;close(AD);close(AE);}sub 
pn{my($fm)=$_[0];my($fb,$em,$fn,@fo,$fp,%ez);my($ew,$fe,$fq);
my($fr);binmode(STDIN);if($fm&&($ENV{$z[304]}||length$ENV{$z[305]})
>$fm){die($z[306]."$fm bytes\n");}($fr)=$ENV{$z[307]}=~/boundary=(?:"?)(\S+?)(?:"?)$/;
if($ENV{$z[308]}eq$z[309]&&$ENV{$z[307]}=~m|^multipart/form-data|)
{my$fp;read(STDIN,$fp,$ENV{$z[304]});foreach(split(/\n/,$fp))
{if(/^--$fr--/){$fp.="--$fr";last;}else{$fp.=$_;}}@fo=split(/--$fr/,$fp);
foreach$fn(@fo){unless($fn=~/^(\r\n|\n)Content-Disposition/)
{next;}($fb,$em)=$fn=~/^(?:\r\n|\n)(.*?)(?:\r\n|\n){2}(.*?)(?:\r\n|\n)$/s;
($fe)=$fb=~/filename="([^"]+)"/;($fb)=$fb=~/name="([^"]+)"/;
($ew)=$fe=~/([^\/\\]+)$/;($fq)=$fe=~/\.(\w+)$/;if(!$fe){$fb
=~s/\r\n/\n/g;$em=~s/\r\n/\n/g;$fb=~s/\x00//g;$em=~s/\x00//g;
}$ez{$fb}=$em;$ez{$fb.$z[310]}=$fe;$ez{$fb.$z[311]}=$ew;$ez{$fb.$z[312]}
=$fq;}}else{if($ENV{$z[308]}eq$z[309]){read(STDIN,$fp,$ENV{$z[304]});
}elsif($ENV{$z[308]}eq$z[313]){$fp=$ENV{$z[305]};}@fo=split(/&/,
$fp);foreach$fn(@fo){($fb,$em)=split(/=/,$fn);$fb=~tr/+/ /;
$em=~tr/+/ /;$fb=~s/%([A-F0-9]{2})/pack($z[231],hex($1))/egi;
$em=~s/%([A-F0-9]{2})/pack($z[231],hex($1))/egi;$fb=~s/\r\n/\n/g;
$em=~s/\r\n/\n/g;$fb=~s/\x00//g;$em=~s/\x00//g;if($fb=~/_multi$/)
{push@{$ez{$fb}},$em;}else{$ez{$fb}=$em;}}}foreach(keys%ez)
{if(/^(.*)(\.x|\.y)$/){$ez{$1}=$z[314];}}return%ez;}sub nn{
my($fs)=$_[0];my($ft,$fu)=split(/@/,$fs);if($fs eq''){return 
0;}if($fs=~/[^A-Za-z0-9-_\.\@]/){return 0;}if($ft!~/^([\w\-]+[\w\-\.])*[\w\-]+$/)
{return 0;}if($fu!~/^([\w\-]+[\w\-\.])*[\w\-]+\.[A-Za-z]{2,8}$/)
{return 0;}return 1;}sub qc{my($fv,$fw)=@_;unless($fv eq$z[315]
||$fv eq$z[316]||$fv eq$z[317]||$fv eq$z[318]){return undef;
}$fw=~s/[^\d]//g;my@fx=split//,$fw;unless(($fv eq$z[315]&&$fx[0]
==4)||($fv eq$z[316]&&$fx[0]==5)||($fv eq$z[317]&&$fx[0]==3)
||($fv eq$z[318]&&$fx[0]==6)){return undef;}unless(($fv eq$z[315]
&&($#fx==12||$#fx==15))||($fv eq$z[316]&&$#fx==15)||($fv eq
$z[317]&&$#fx==14)||($fv eq$z[318]&&$#fx==15)){return undef;
}my$fy;for(my$fa=($#fx+1)% 2;$fa<=$#fx;$fa+=2){if($fx[$fa]<
5){$fx[$fa]*=2;}else{$fx[$fa]=($fx[$fa]* 2)-9}}foreach(@fx)
{$fy+=$_;}unless($fy% 10==0){return undef;}return 1;}sub gf
{local(*AB);my($ew,%ez,$fz,$ga);%ez=%{$_[1]}if$_[1];my%gb;%gb
=($z[319]=>0,$z[320]=>0,$z[321]=>0,$z[53]=>0);foreach(split(/ /,$_[2]))
{if(undef$gb{$_}){die($z[322]."'$_'\n");}$gb{$_}=1;}if(!$_[0])
{die$z[323]."\n";}if(ref($_[1])ne$z[227]){die$z[324]."\n";}
if((!$gb{$z[320]}||!$ab{$z[133]}{$z[320]}{$_[0]})){if(-e"$_[0]")
{$ew=$_[0];}else{foreach(grep/^templatedir/,sort keys%ab){if
(-e"$ab{$_}/$_[0]"){$ew="$ab{$_}/$_[0]";last;}}if(!$ew){die
$z[325]."'$_[0]'".$z[326]."\n";}}}if($gb{$z[320]}&&$ab{$z[133]}{$z[320]}{$_[0]})
{$fz=$ab{$z[133]}{$z[320]}{$_[0]};}else{open(AB,"<$ew")||die
$z[327]."$ew! $!\n";binmode(AB)if($ew=~/gif$/i||$ew=~/jpg$/i);
read(AB,$fz,-s AB);close(AB);}if($gb{$z[321]}){return$fz;}if
($gb{$z[53]}){$ab{$z[328]}||=$ENV{$z[329]};$ab{$z[328]}||die("Template: webroot isn't defined!<br>\n");
while($fz=~/<!--#include file="(.*?)" -->/g){my$gc=$1;if(($gc
=~m!^/!)||(!$_[3])){$gc="$ab{'webroot'}/$gc";}else{my@gd=split
$z[64],$ew;my$gd=join$z[64],@gd[0..$#gd-1];$gc="$gd/$gc";}my
$ge=&gf($gc,$_[1],$_[2],$z[330]);$fz=~s/<!--#include file=".*?" -->/$ge/;
}}if(!$gb{$z[320]}||!$ab{$z[133]}{$z[320]}{$_[0]}){foreach$ga
($fz=~m/<!-- templatecell\s?:\s?([\w\.]+) -->/g){$ab{$z[133]}{$z[134]}{$1}=$2 
if($fz=~m/<!-- templatecell\s?:\s?($ga) -->(?:\r\n|\n)?(.*?)<!-- \/templatecell\s?:\s? \1 -->/is);
}$fz=~s/<!-- templatecell\s?:\s?([\w\.]+) -->(?:\r\n|\n)?(.*?)<!-- \/templatecell\s?:\s? \1 -->//gis;
if($gb{$z[320]}){$ab{$z[133]}{$z[320]}{$_[0]}=$fz;}}$fz=~s/<!-- template insert\s?:\s?(.*?) -->/$1/gi;
$fz=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$em=defined$ad{$1}
?$ad{$1}:$ez{$1};if($2 eq$z[331]){$em=&gg($em);}if($2 eq$z[332])
{$em=&gh($em);}if($2 eq$z[333]){$em=&gh($em);$em=~s/ /&nbsp;/g;
}if($2 eq$z[334]){$em=&gi($em);}$em;]ge;return$fz;}sub bu{if
(!$_[0]){die$z[335]."\n";}if(!defined$ab{$z[133]}{$z[134]}{$_[0]})
{die$z[336]."'$_[0]'".$z[337]."\n";}if(ref($_[1])ne"HASH"){
die$z[338]."\n";}local(*AB);my(%ez);%ez=%{$_[1]}if$_[1];my($fz)
=$ab{$z[133]}{$z[134]}{$_[0]};$fz=~s/<!-- templatecell\s?:\s?([\w\.]+) -->(?:\r\n|\n)?(.*?)<!-- \/templatecell\s?:\s? \1 -->//gs;
$fz=~s/<!-- template insert\s?:\s?(.*?) -->/$1/gi;$fz=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][
my$em=defined$ad{$1}?$ad{$1}:$ez{$1};if($2 eq$z[331]){$em=&gg($em);
}if($2 eq$z[332]){$em=&gh($em);}if($2 eq$z[333]){$em=&gh($em);
$em=~s/ /&nbsp;/g;}if($2 eq$z[334]){$em=&gi($em);}$em;]ge;return
$fz;}sub qd{my($ag)=$_[0];my(@gj)=(($z[317]..$z[339],$z[340]..$z[341],0..9),$z[342],$z[64]);
my($ao)=unpack($z[343],$ag);$ao=~s/(\d{6}|\d+$)/$gj[ord(pack$z[343],"00$1")]/ge;
while(length($ao)%4){$ao.=$z[293];}return$ao;}sub qe{my($ag)
=$_[0];my(%gj);my($ao);my$cy;for(($z[317]..$z[339],$z[340]..$z[341],0..9),$z[342],$z[64]){
$gj{$_}=$cy++}$ag=$_[0]||return$z[344];$ag=~s/[^A-Za-z0-9+\/]//g;
$ag=~s/[A-Za-z0-9+\/]/unpack'B*',chr($gj{$&})/ge;$ag=~s/\d\d(\d{6})/$1/g;
$ag=~s/\d{8}/$ao.=pack($z[343],$&)/ge;return$ao;}sub gg{my($gk)
=$_[0];$gk=~s/([^A-Za-z0-9\*\.\@\_\-])/uc sprintf($z[345],ord($1))/egx;
$gk=~tr/ /+/;return$gk;}sub hc{my($gk)=$_[0];$gk=~tr/+/ /;$gk
=~s/%([A-F0-9]{2})/pack($z[231],hex($1))/egi;return$gk;}sub 
mt{my($gl);my($fb,$em,$gm,$fe,$gn,$go)=@_;my($gp);if($fb eq
''){die($z[346]."\n");}if($gm&&$gm ne int($gm)){die($z[347]."\n");
}$ah{$fb}=$em;if($gm){my($gq,$gr,$gs,$gt,$gu,$gv,$gw,$gx)=gmtime($gm);
($gq,$gr,$gs,$gt)=map{$_<10?$z[348].$_:$_}($gq,$gr,$gs,$gt);
$gp=join('',(qw(Sun Mon Tue Wed Thu Fri Sat Sun))[$gw],", $gt-",(qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec))[$gu],$z[240],1900+$gv,
" $gy$gz$gq GMT");}if($fb){$fb=&gg($fb);}if($em){$em=&gg($em);
}if($gm){$gl.=$z[349]."$gp; ";}if($fe){$gl.=$z[350]."$fe; ";
}if($gn){$gl.=$z[351]."$gn; ";}if($go){$gl.=$z[352];}print$z 
[353]."$fb=$em; $gl\n";}sub po{my($ha,$fb,$em,%hb);foreach$ha
(split(/; /,$ENV{$z[354]})){($fb,$em)=split(/=/,$ha);foreach($fb,$em)
{$_=&hc($_);}$hb{$fb}=$em;}return%hb;}sub as{my$hd=$_[0]||die("DateString: The first parameter must be a date or time format string\n");
$hd=~/\%/||die("DateString: The first parameter must contain a date format marker '%'\n");
my$he=$_[1];my($gv,$gu,$gt,$hf,$gr,$gq,$gw,$gx);my@hg=(0,0,1,0,0,0);
my$hh=$_[-1]=~/^GMT$/i;pop(@_)if$hh;if(scalar(@_)>=3){die("DateString: Too many arguments\n")
if scalar(@_)>7;my$hi;foreach$hi(1..scalar(@_)-1){$hg[$hi-1]
=$_[$hi];}($gv,$gu,$gt,$hf,$gr,$gq)=@hg;if($gt>28){($gv,$gu,
$gt)=&hj($gv,$gu,$gt);}$he=$hh?&hk($gq,$gr,$hf,$gt,$gu,$gv)
:&hl($gq,$gr,$hf,$gt,$gu,$gv);}else{}($gq,$gr,$hf,$gt,$gu,$gv,
$gw,$gx)=($hh?gmtime($he):localtime($he));my$hm;if(exists($ab{DateString}{rhNames}))
{$hm=$ab{DateString}{rhNames};}else{$hm={$z[92]=>exists($af{$z[355]}{ampm})
?[split(/,/,$af{$z[355]}{ampm})]:[qw(AM PM)],$z[356]=>exists($af{$z[355]}{ordinals})
?[split(/,/,$af{$z[355]}{ordinals})]:[$z[357],$z[358],$z[359],
$z[360],$z[361],$z[362],$z[363],$z[364],$z[365],$z[366],$z[367],
$z[368],$z[369],$z[370],$z[371],$z[372],$z[373],$z[374],$z[375],
$z[376],$z[377],$z[378],$z[379],$z[380],$z[381],$z[382],$z[383],
$z[384],$z[385],$z[386],$z[387],$z[388]],$z[389]=>exists($af{$z[355]}{week_full})
?[split(/,/,$af{$z[355]}{week_full})]:[qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)],
$z[390]=>exists($af{$z[355]}{week_abbr})?[split(/,/,$af{$z[355]}{week_abbr})]
:[qw(Sun Mon Tue Wed Thu Fri Sat)],$z[391]=>exists($af{$z[355]}{month_full})
?[split(/,/,$af{$z[355]}{month_full})]:[qw(January February March April May June July August September October November December)],
$z[392]=>exists($af{$z[355]}{month_abbr})?[split(/,/,$af{$z[355]}{month_abbr})]
:[qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)],};$ab{DateString}{rhNames}
=$hm;}my($hn,$ho)=(0,1);my$hp={$z[393]=>$z[393],$z[340]=>$hm->{week_abbr}[$gw],
$z[317]=>$hm->{week_full}[$gw],$z[394]=>$hm->{month_abbr}[$gu],
$z[395]=>$hm->{month_full}[$gu],$z[396]=>$z[397],$z[231]=>$z[398],
$z[399]=>sprintf($z[400],$gt),$z[318]=>$z[401],$z[402]=>sprintf($z[403],
$gt),$z[404]=>$hm->{month_abbr}[$gu],$z[405]=>sprintf($z[400],
$hf),$z[406]=>sprintf($z[400],$hf% 12||12),$z[407]=>sprintf($z[408],$gx
+1),$z[409]=>sprintf($z[403],$hf),$z[410]=>sprintf($z[403],
$hf% 12||12),$z[411]=>sprintf($z[400],$gu+1),$z[316]=>sprintf($z[400],
$gr),$z[239]=>"\n",$z[412]=>$hm->{ordinals}[$gt],$z[413]=>$hm->{ampm}[$hf
>=12?1:0],$z[414]=>lc($hm->{ampm}[$hf>=12?1:0]),$z[415]=>int($gu
/3)+1,$z[416]=>$z[417],$z[418]=>$z[419],$z[420]=>$he,$z[421]
=>sprintf($z[400],$gq),$z[422]=>"\t",$z[423]=>$z[424],$z[425]
=>&hq($hn,$gw,$gx),$z[426]=>$gw,$z[427]=>&hq($ho,$gw,$gx),$z[428]
=>$z[401],$z[429]=>$z[424],$z[430]=>sprintf($z[400],$gv% 100),
$z[431]=>sprintf($z[432],$gv+1900),$z[339]=>'',$z[341]=>'',
};$hd=&hr($hp,$hd);return$hd;}sub hr{my($hp,$hd)=@_;$hd=~s/%(O?[%a-zA-Z])/&hs($hp,
$1)/sgeox;return$hd;}sub hs{my$ht=$_[1];return(exists($_[0]->{$ht}))
?($_[0]->{$ht}=~/\%/&&$ht ne$z[393]?&hr($_[0],$_[0]->{$ht})
:$_[0]->{$ht}):"\%$ht";}sub hq{my($hu,$gw,$gx)=@_;$gw=($gw+
7-$hu)% 7;return int(($gx-$gw+13)/7-1);}sub hj{my($gv,$gu,$hv)
=@_;return@_ if$hv<=28;my$hw;if($gu==1){if(($gv% 4==0)&&(!($gv
% 100==0)||($gv% 400==0))){$hw=29;}else{$hw=28;}}elsif($gu==
3||$gu==5||$gu==8||$gu==10){$hw=30;}else{$hw=31;}return($gv,
$gu,$hv<$hw?$hv:$hw);}sub qf{my$hx=$_[0];my$hy=$_[1]||die("DateString: The second argument must time()\n");
my$AF=$_[2];if($hy ne int($hy)){die($z[433]."\n");}my($gq,$gr,$gs,$hv,$gu,$gv,$gw);
if($AF){($gq,$gr,$gs,$hv,$gu,$gv,$gw)=gmtime($hy);}else{($gq,$gr,$gs,$hv,$gu,$gv,$gw)
=localtime($hy);}if($hy=~tr/://){($gv,$gu,$hv,$gs,$gr,$gq,$gw)
=split(/:/,$hy);$gv-=1900;$gu-=1;foreach($gv,$gu,$hv,$gs,$gr,$gq,$gw)
{$_||=0;}}my(%gw,%hz,%gu,%ia);my@gu=($z[434],$z[435],$z[436],$z[437],$z[438],$z[439],$z[440],$z[441],$z[442],$z[443],$z[444],$z[445]);
my@ia=($z[446],$z[447],$z[448],$z[449],$z[438],$z[450],$z[451],$z[452],$z[453],$z[454],$z[455],$z[456]);
my@gw=($z[457],$z[458],$z[459],$z[460],$z[461],$z[462],$z[463]);
my@hz=($z[464],$z[465],$z[466],$z[467],$z[468],$z[469],$z[470]);
foreach(@gw){$gw{lc$_}++;}foreach(@hz){$hz{lc$_}++;}foreach
(@gu){$gu{lc$_}++;}foreach(@ia){$ia{lc$_}++;}$hx=~s/\b[A-Za-z]{3,9}\b/
if($gw{lc$&}){if(uc($&)eq$&){uc$gw[$gw];}elsif(lc($&)eq$&){
lc$gw[$gw];}else{ucfirst lc$gw[$gw];}}elsif($hz{lc$&}){if(uc($&)
eq$&){uc$hz[$gw];}elsif(lc($&)eq$&){lc$hz[$gw];}else{ucfirst 
lc$hz[$gw];}}elsif($gu{lc$&}){if(uc($&)eq$&){uc$gu[$gu];}elsif
(lc($&)eq$&){lc$gu[$gu];}else{ucfirst lc$gu[$gu];}}elsif($ia{lc
$&}){if(uc($&)eq$&){uc$ia[$gu];}elsif(lc($&)eq$&){lc$ia[$gu];
}else{ucfirst lc$ia[$gu];}}else{$&;}/ge;$hx=~s/\d{1,4}\b/if
(length$&==4){$gv+1900;}elsif(length$&<=2){if(substr($&,0,1)
eq 0){sprintf($z[400],$hv);}else{$hv;}}else{$&;}/ge;$hx=~s/(\d{1,2})(st|nd|rd|th)/
if($hv==1||$hv==21||$hv==31){$hv.$z[471];}elsif($hv==2||$hv
==22){$hv.$z[472];}elsif($hv==3||$hv==23){$hv.$z[473];}else
{$hv.$z[474];}/gei;$hx=~s/YYYY/sprintf($z[432],$gv+1900)/gei;
$hx=~s/YY/sprintf($z[400],$gv%100)/gei;$hx=~s/MO\b/sprintf($z[400],$gu+1)/gei;
$hx=~s/DD/sprintf($z[400],$hv)/gei;$hx=~s/SS/sprintf($z[400],$gq)/gei;
$hx=~s/MM/sprintf($z[400],$gr)/gei;$hx=~s/HH/sprintf($z[400],$gs)/gei;
return$hx;}sub dc{my($ib,$db,$arrayref_nopack)=@_;my(@f_nopack,$da,$ic,
$id,$ie,$cy);my($cw,$cx);$cy=0;foreach(split(/ /,$db)){if(s/\#//g)
{$cw=1;}elsif(s/n//g){$cw=1;}else{$cw=0;}if(s/\-//g){$cx=$z[475];
}elsif(s/\+//g){$cx='';}else{$cx='';}s/[^0-9]//gs;push(@f_nopack,$_);
if($cw){$da+=15;$id.=$z[476];$ie.=qq|$cx sprintf('%015s',int(substr(\$str[$cy]*100,0,15))),|;
}else{$da+=50;$id.=$z[477];$ie.="$cx substr(\$str[$cy],0,50),";
}$cy++;}$ic.=qq|return map { substr(\$_,$da) } sort map {\n|;
$ic.=qq|  my \@str = (split(/\\$ib/,lc \$_))[\@f_nopack];\n|;
$ic.=qq|  sprintf("$id\%s" ,$ie\$_);\n|;$ic.=qq|  } \@\$arrayref_nopack;\n|;
eval$ic;}sub gi{my$ig=shift;$ig=~s/\\/\\\\/g;$ig=~s/'/\\'/g;
$ig=~s/\n/\\n/g;$ig=~s/\r/\\r/g;$ig=~s/\000//g;$ig=~s/-->/--'+'>/g;
$ig=~s!</script>!</scr'+'ipt>!g;return$ig;}sub fj{my$ih=shift;
$ih=~s/&/&amp;/g;$ih=~s/"/&quot;/g;$ih=~s/</&lt;/g;$ih=~s/>/&gt;/g;
return$ih;}sub gh{my$ih=shift;$ih=~s/&([^\w#]|$)/&amp;$1/g;
$ih=~s/"/&quot;/g;$ih=~s/</&lt;/g;$ih=~s/>/&gt;/g;return$ih;
}sub qg{my$ih=shift;$ih=~s/</&lt;/g;$ih=~s/>/&gt;/g;return$ih;
}sub bw{my$ii=shift;my%ij=map{$_,1}@_;return join($z[300],map
{$ij{$_}?():&gg($_).$z[293].&gg($ii->{$_})}keys%{$ii});}sub 
qh{my$ii=shift;my%ij=map{$_,1}@_;return join("\n",map{$ij{$_}
?():$z[478].&fj($_).$z[479].&fj($ii->{$_}).$z[49]}keys%{$ii});
}sub mq{$_=$_[0];/\.gif$/i&&return(&ik($_[0]));(/\.jpeg$/i||
/\.jpg$/i)&&return(&il($_[0]));/\.png$/i&&return(&im($_[0]));
undef;}sub im{my($in)=@_;my($io);open(PNG,$in)||return(undef,
undef,"PNG - Couldn't Open $in");binmode(PNG);seek(PNG,12,0);
read(PNG,$io,4);if($io ne"IHDR"){close PNG;return(undef,undef,
"PNG - Missing Image Header - $io");}read(PNG,$io,8);close 
PNG;return unpack("NN",$io);}sub il{my($in)=@_;my($io,$ip,$iq,
$ir,$is);open(JPEG,$in)||return(undef,undef,"JPEG - Couldn't Open $in");
binmode(JPEG);read(JPEG,$io,2);while(1){read(JPEG,$ip,4);($iq,
$ir,$is)=unpack("a a n",$ip);if($iq ne"\xFF"){close JPEG;return(undef,
undef,"JPEG - Marker not Found");}if((ord($ir)>=0xC0)&&(ord($ir)
<=0xC3)){read(JPEG,$io,5);close(JPEG);my($it,$iu)=unpack("xnn",
$io);return($iu,$it);}else{read(JPEG,$io,$is-2);}}}sub jc{my
($iv,$iw)=@_;my($ix);read($iv,$ix,$iw);while(1){if(eof($iv))
{close AG;return(undef);}read($iv,$ix,1);last if ord($ix)==
0;read($iv,$ix,ord($ix));}1;}sub ik{my($in)=@_;my($io,$ff,$iy,
$iz,$iu,$ja,$it,$jb);open(AG,$in)||return(undef,undef,"GIF - Couldn't Open $in");
binmode(AG);read(AG,$ff,6);read(AG,$io,7);if(length($io)!=7)
{close AG;return(undef,undef,"GIF - Corrupted Header");}($iu)
=unpack("x4 C",$io);if($iu&0x80){$iy=3*(2**(($iu&0x07)+1));
read(AG,$iz,$iy);if(!$iz){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,$io,1);($iu)=unpack("C",$io);if($iu==0x2c){read(AG,
$io,8);if(length($io)!=8){close AG;return(undef,undef,"GIF - Missing Image Header");
}($iu,$ja,$it,$jb)=unpack("x4 C4",$io);close(AG);return($iu
+$ja* 256,$it+$jb* 256);}if($iu==0x21){read(AG,$io,1);($iu)
=unpack("C",$io);if($iu==0xF9){read(AG,$io,6);}elsif($iu==0xFE)
{&jc(\*AG,0)||return(undef,undef,"GIF - Bad Block - skip=0");
}elsif($iu==0x01){&jc(\*AG,13)||return(undef,undef,"GIF - Bad Block - skip=13");
}elsif($iu==0xFF){&jc(\*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 qi{return($_[0]=~/(.+)/s)[0]||$_[0];}sub qj{my$jd;foreach
(split/\n/,shift){s!\\!\\\\!g;s!\"!\\\"!g;s!</!<\\/!g;$jd.=
qq|document.write("$_\\n");\n|;}return$jd;}sub qk{my$je=$_[0];
my$jf=$_[1];my$jg=$_[2];my@jh;my$bs;my$ji=scalar@{$je};my$jj
=int($ji/$cols)+int(int($ji/$cols)<($ji/$cols));foreach(@{$je})
{if(++$bs>$jj){$bs=1;}push(@{$jh[$bs]},$_);}if(defined$jg){
foreach(0..$#jh){while(scalar@{$jh[$_]}<$jf){push(@{$jh[$_]},
$jg);}}}shift@jh;return@jh;}sub na{my($jk,%jl,$AH);$jk=$_[0];
%jl=%{$_[1]};$AH="\x0D\x0A";local(*AI);if(!defined&jm){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_parseheader'\n");
}if(!defined&jn){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_debug'\n");
}if(!defined&jo){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_readline'\n");
}if(!defined&jp){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_pop3auth'\n");
}if(!defined&jq){die("SMTP_sendmail: Couldn't find required subroutine 'FH_readline'\n");
}if(!defined&jr){die("SMTP_sendmail: Couldn't find required subroutine 'FH_can_read'\n");
}foreach(keys%{$ab{$z[480]}}){defined$jl{$_}&&next;$jl{$_}=
$ab{$z[480]}{$_};}my($fu,$js,$jt,$ju,$et);$fu=$jl{$z[481]};
$js=$jl{$z[482]}||25;$jt=$jl{$z[483]}||$z[484];$ju=$jl{$z[485]}
||30;$et=$jl{$z[486]}||0;$ju+=time()if$ju<10**8&&$ju>0;if($fu
=~s/:(\d+)//){$js=$1;}if(!$fu){$ab{$z[487]}="No SMTP host specified.\n";
return 0;}if(!$js){$ab{$z[487]}="No SMTP port specified.\n";
return 0;}my($jv,@jw)=&jm($jk);$jk=~tr/\r//d;$jk=~s/\n/\r\n/gs;
$jk=~s/^\s*bcc\s*:.*\n//mgi;if($jl{$z[488]}){&jp(\%jl)||return 
0;}my($jx)=gethostbyname($fu)||do{$ab{$z[487]}="Could not connect to SMTP server. Unknown host $fu\n";
return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ab{$z[487]}
="Could not connect to SMTP server.  No Socket: $!\n";return 
0;};connect(AI,pack"SnA4x8",PF_INET,$js,$jx)||do{if($!eq"Unknown error")
{$ab{$z[487]}="Could not connect to SMTP server.  SMTP server does not exist or is not responding.\n";
return 0;}else{$ab{$z[487]}="Could not connect to SMTP server.  Connect failed: $!\n";
return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$jy
=&jo(\*AI,$ju)||do{$ab{$z[487]}="Timed out waiting for SMTP server to respond.\n";
return 0;};if($et){&jn($jy);}if(substr($jy,0,3)ne"220"){$ab{$z[487]}
="An unknown error occured.  Server response: $jy\n";return 
0;}print AI"HELO $jt",$AH;if($et){&jn("HELO $jt",$AH);}$jy=
&jo(\*AI,$ju)||do{$ab{$z[487]}="Timed out waiting for SMTP server to respond.\n";
return 0;};if($et){&jn($jy);}if(substr($jy,0,3)ne"250"){$ab{$z[487]}
="An unknown error occured.  Server response: $jy\n";return 
0;}print AI"MAIL FROM:<$jv>",$AH;if($et){&jn("MAIL FROM:<$jv>",
$AH);}$jy=&jo(\*AI,$ju)||do{$ab{$z[487]}="Timed out waiting for SMTP server to respond.\n";
return 0;};if($et){&jn($jy);}if(substr($jy,0,3)ne"250"){$ab{$z[487]}
="An unknown error occured.  Server response: $jy\n";return 
0;}my$jw;foreach$jw(@jw){print AI"RCPT TO:<$jw>",$AH;if($et)
{&jn("RCPT TO:<$jw>",$AH);}$jy=&jo(\*AI,$ju)||do{$ab{$z[487]}
="Timed out waiting for SMTP server to respond.\n";return 0;
};if($et){&jn($jy);}if(substr($jy,0,2)eq"55"){$ab{$z[487]}=
"The server won't accept mail for '$jw'.  Server response: $jy\n";
return 0;}if(substr($jy,0,2)ne"25"){$ab{$z[487]}="An unknown error occured.  Server response: $jy\n";
return 0;}}print AI"DATA",$AH;if($et){&jn("DATA",$AH);}$jy=
&jo(\*AI,$ju)||do{$ab{$z[487]}="Timed out waiting for SMTP server to respond.\n";
return 0;};if($et){&jn($jy);}if(substr($jy,0,3)ne"354"){$ab{$z[487]}
="An unknown error occured.  Server response: $jy\n";return 
0;}$jk=~s/^\./\.\./gm;print AI$jk,$AH;if($et){&jn($jk,$AH);
}print AI".",$AH;if($et){&jn(".",$AH);}$jy=&jo(\*AI,$ju)||do
{$ab{$z[487]}="Timed out waiting for SMTP server to respond.\n";
return 0;};if($et){&jn($jy);}if(substr($jy,0,3)ne"250"){$ab{$z[487]}
="An unknown error occured.  Server response: $jy\n";return 
0;}print AI"QUIT",$AH;if($et){&jn("QUIT",$AH);}close(AI);return 
1;}sub jm{my($jk,$bn,$jz,$ka,$dz);$jk=$_[0];$jk=~tr/\r//d;$bn
=$z[489];$bn.=$z[490];if($jk=~m/^(.*?)\n\n(.*)$/s){($jz,$ka)
=($1,$2);}else{die("SMTP_parseheader: couldn't find email header!\n");
}my($jv,@jw);foreach$dz(split(/\n/,$jz)){foreach(qw(from to cc bcc))
{if($dz=~/^\s*$_\s*:/i){my$kb=$_;foreach($dz=~m/($bn)/g){if
($kb eq$z[491]){$jv=$_;}else{push@jw,$_;}}}}}$jv||die("SMTP_parseheader: couldn't find from: address in mail header\n");
$#jw>=0||die("SMTP_parseheader: couldn't find to: address in mail header\n");
return($jv,@jw);}sub jo{my$AJ=$_[0];my$ju=int($_[1]);if(!$ju)
{die("SMTP_readline: no timeout value specified!\n");}if($ju
<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($dz,$kc);while(!$dz||substr($dz,3,1)eq$z[240]){$dz=&jq($AJ,$ju);
$kc.=$dz;}return$kc;}sub jn{my$eu=join'',@_;$eu=~s/\s+$//m;
my$kd=localtime();local*AK;if(!$eu){$kd="";$eu="\n";}if($eu
=~/^From:/i){$eu="[email content]";}if($eu=~/^PASS /i){$eu=
"PASS (not shown)";}$eu=~s/</&lt;/g;$eu=~s/>/&gt;/g;$eu=~s/\r\n|\n/<br>\n/g;
print"<p>$eu<br>\n\n";}sub jp{my($jk,%jl,$AH);%jl=%{$_[0]};
$AH="\x0D\x0A";local(*AI);if(!$jl{$z[492]}){die("SMTP_pop3auth: POP3 username not defined'\n");
}if(!$jl{$z[493]}){die("SMTP_pop3auth: POP3 password not defined'\n");
}if($ab{$z[494]}{$z[495]}){return 1;}my($fu,$js,$ft,$ke,$ju,$et);
$fu=$jl{$z[496]}||$jl{$z[481]};$js=$jl{$z[497]}||110;$ft=$jl{$z[492]};
$ke=$jl{$z[493]};$ju=$jl{$z[498]}||$jl{$z[485]}||30;$et=$jl{$z[486]}
||0;$ju+=time()if$ju<10**8&&$ju>0;if($fu=~s/:(\d+)//){$js=$1;
}my($jx)=gethostbyname($fu)||do{$ab{$z[487]}="Could not connect to POP3 server. Unknown host $fu\n";
return 0;};socket(AI,PF_INET,SOCK_STREAM,0)||do{$ab{$z[487]}
="Could not connect to POP3 server.  No Socket: $!\n";return 
0;};connect(AI,pack"SnA4x8",PF_INET,$js,$jx)||do{if($!eq"Unknown error")
{$ab{$z[487]}="Could not connect to POP3 server.  POP3 server does not exist or is not responding.\n";
return 0;}else{$ab{$z[487]}="Could not connect to POP3 server.  Connect failed: $!\n";
return 0;}};select(AI);$|=1;select(STDOUT);binmode(AI);my$jy
=&jq(\*AI,$ju)||do{$ab{$z[487]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($et){&jn($jy);}if(uc(substr($jy,0,3))ne"+OK")
{$ab{$z[487]}="An unknown error occured.  Server response: $jy\n";
return 0;}print AI"USER $ft",$AH;if($et){&jn("USER $ft",$AH);
}$jy=&jq(\*AI,$ju)||do{$ab{$z[487]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($et){&jn($jy);}if(substr($jy,0,3)ne"+OK"){$ab{$z[487]}
="The server didn't accept the login info for '$ft'.  Server response: $jy\n";
return 0;}print AI"PASS $ke",$AH;if($et){&jn("PASS $ke",$AH);
}$jy=&jq(\*AI,$ju)||do{$ab{$z[487]}="Timed out waiting for POP3 server to respond.\n";
return 0;};if($et){&jn($jy);}if(substr($jy,0,3)ne"+OK"){$ab{$z[487]}
="The server didn't accept the login info for '$ft'.  Server response: $jy\n";
return 0;}print AI"QUIT",$AH;if($et){&jn("QUIT",$AH);}close(AI);
$ab{$z[494]}{$z[495]}=1;return 1;}sub jr{my$AJ=$_[0];my$ju=
$_[1]||$z[348];my($kf,$kg,$kh,$ki,$kj,$kk,$kl);fileno($AJ)||
die("fh_can_read: invalid filehandle or filehandle not open!\n");
vec($kf,fileno($AJ),1)=1;$kl=select($kg=$kf,undef,undef,$ju);
return vec($kg,fileno($AJ),1);}sub jq{my$AJ=$_[0];my$ju=int($_[1]);
if(!$ju){die("FH_readline: no timeout value specified!\n");
}if($ju<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($dz,$km);while($ju>=time()){&jr(\*AI,0.25)||next;sysread(\*AI,$km,
1)||last;$dz.=$km;if($km eq"\x0A"){last;}}return$dz;}sub kw
{my$kn=$ab{$z[499]}{$z[500]}||={};my$ko=int++$kn->{$z[48]};
my$fb="FH$ko";return eval"local *$fb";}sub ee{return unless
($af{$z[501]});my$kn=$ab{$z[499]}{$z[502]}||={};$kn->{$z[503]}
||=[];my($kp,$ju)=@_;$kp||=$z[265];$ju||=0;if($kp ne$z[265]
and$kp ne$z[504]){&ak("lock: invalid lock type: '$kp'");}my
$kq;if(@{$kn->{$z[503]}}>0){$kq=$kn->{$z[503]}[-1];}if($kq 
eq$z[265]){$kp=$kq;}if($kq eq$kp){push(@{$kn->{$z[503]}},$kp);
return 1;}my$kr;if($kq eq$z[504]and$kp eq$z[265]){&ak("lock: cannot upgrade a 'shared' lock to an 'exclusive' lock");
}$kr=&ks('',$kp,$ju);if($kr){push(@{$kn->{$z[503]}},$kp);}return
$kr;}sub ef{return unless($af{$z[501]});my$kn=$ab{$z[499]}{$z[502]}
||={};$kn->{$z[503]}||=[];my($ju)=@_;$ju||=0;unless(@{$kn->{$z[503]}}
>0){&ak($z[505])}my$kq=pop(@{$kn->{$z[503]}});return if(@{$kn->{$z[503]}}
>0 and$kn->{$z[503]}[-1]eq$kq);if(@{$kn->{$z[503]}}==0){&kt('');
}}sub ks{my$kn=$ab{$z[499]}{$z[502]}||={};my($ku,$kp,$ju)=@_;
my$kv;if($ku){$kv="$ab{'datadir'}$ku.lock";}else{$kv=$ab{$z[506]};
}if(not exists$kn->{$z[507]}{$ku}){$kn->{$z[507]}{$ku}{$z[105]}
=$kv;$kn->{$z[507]}{$ku}{$z[508]}=&kw();sysopen($kn->{$z[507]}{$ku}{$z[508]},
$kn->{$z[507]}{$ku}{$z[105]},O_RDONLY|O_CREAT)||&ak($z[506],"error opening $kp file lock $kn->{'lockinfo'}{$ku}{'filename'}: $!\n");
}else{&ak("_lock_flock: already a lock for semaphore '$ku'");
}my$kx;if($kp eq$z[504]){$kx=LOCK_SH;}if($kp eq$z[265]){$kx
=LOCK_EX;}if($ju>0){$kx|=LOCK_NB;}my$ky=time()+$ju;until(flock($kn->{$z[507]}{$ku}{$z[508]},
$kx)){if(time()<$ky){sleep(1);}else{close($kn->{$z[507]}{$ku}{$z[508]});
&ak($z[509]);}}return 1;}sub kt{my$kn=$ab{$z[499]}{$z[502]}
||={};my($ku)=@_;unless(flock($kn->{$z[507]}{$ku}{$z[508]},
LOCK_UN)){&ak($z[506],"error releasing a flock() on file lock $kn->{'lockinfo'}{$ku}{'filename'}: $!\n");
}unless(close($kn->{$z[507]}{$ku}{$z[508]})){&ak($z[506],"error closing file lock $kn->{'lockinfo'}{$ku}{'filename'}: $!\n");
}delete$kn->{$z[507]}{$ku};return 1;}sub ql{my$fe=shift;$fe
=~s|\\|/|g;if($fe=~m|^/|){return$fe;}if($fe=~m|^\w:/|){return
$fe;}return&kz($ab{$z[510]}.$z[64].$fe);}sub kz{my$fe=shift;
$fe=~s|\\|/|g;1 while$fe=~s|[^/]*/\.\./||;return$fe;}sub qm
{my($la,@jl)=@_;$la=~s/\s+//g;$la=uc$la;my$lb;my$ld=-1;my$le;
foreach$le(split(/,/,$la)){$ld++;my$lf=shift@jl;my$lg=$le=~
s/\[|\]//g;if($le eq$z[511]){@jl=();last;}next if($lg and not 
defined$lf);next if($le eq$z[512]and defined$lf);next if($le
=~/\bVALUE\b/and not ref($lf)and defined($lf));next if(uc(ref
$lf)=~/\b$le\b/);next if($le=~/\bINT\b/and$lf!~/[^0-9\.\e\-]/i 
and$lf==int($lf));$lb.=", "if$lb;$lb.="\$_[$ld] must be ";$lb
.="either "if$lg;$lb.=$le;$lb.=" or undefined"if$lg;$lb.=" ARG: $lf.";
}if(@jl){$ld++;$lb.=", "if$lb;$lb.="extra argument(s) \@_["
.($ld)." .. ".($ld+$#jl)."]";}return 1unless$lb;my$fi=(caller(1))[3];
$fi=~s/^main:://;&ak("Invalid arguments passed to $fi".": $lb");
}1;;sub lp{my($lh,$li)=@_;foreach(@{$lh->{$z[172]}}){my($lj,
$fi)=@{$_};if(!defined&{$fi}&&!defined&{$ab{$z[513]}{$lj}})
{die("The action '$lj' defined as a handler for db '$lh->{'name'}' does not have a custom handler or a default handler");
}if((!$li&&$ag{$lh->{$z[50]}.$z[514].$lj})||$li eq$lj){if(defined
&{$fi}){&{$fi}($lh);exit;}else{&{$ab{$z[513]}{$lj}}($lh);exit;
}}}if($li){die"Unable to execute forced action '$li' on db '$lh->{'name'}'";
}}sub qn{my$lh=shift;my$ao=&lk($lh);&ll($lh,$ao);}sub qo{my
$lh=shift;my$ao=&lm($lh);&ln($lh,$ao);&lo($z[515],$ao);exit;
}sub qp{my$lh=shift;if(!$ac{$z[516]}){&lp($lh,$z[173]);}my$ao
=&lq($lh);&lo($z[516],$ao);exit;}sub qs{my$lh=shift;my$ao=&lr($lh);
&ls($lh,$ao);}sub qt{my$lh=shift;&co;my$lt=&lu($lh);my$lv=&lw($lh,
$lt);&lx($lh,$lt);&ly($lh,$lt);&cq;&lz($lh,$lv);&ma($lh);}sub 
qu{my$lh=shift;my($dg,$dh);my$mb={$z[57]=>$af{$z[517]}{$z[57]},
$z[518]=>1,$z[82]=>'',};$mb=&mc($lh,$mb);foreach(split(/\s+/,$lh->{$z[79]}))
{push(@$dh,[$_,$z[269],$mb->{$z[82]}]);}my$ap=sub{my$md=shift;
if(!defined$md->{$z[519]}&&$md->{$z[19]}){my$hy=&hl(0,0,0,$md->{$z[20]},$md->{$z[19]}-1,$md->{$z[18]});
$md->{$z[519]}=&as($ab{$z[96]},$hy);}$md->{$z[520]}=&as($ab{$z[40]},int($md->{$z[520]}))
if$md->{$z[520]};$md->{$z[66]}=&as($ab{$z[40]},int($md->{$z[66]}))
if$md->{$z[66]};$ad{$z[521]}=$ad{$z[521]}eq$z[522]?$z[523]:
$z[522];return&bu($z[122],$md);};my$ao=&me($lh,$ap,$mb,$dg,
$dh);&mf($ao);}sub lk{my$lh=shift;$ad{$z[524]}=$lh->{$z[145]};
$ad{$z[525]}=$lh->{$z[50]};&gf($lh->{$z[147]},{});my($ao)={};
if($lh->{$z[526]}&&&mg($lh)>=$lh->{$z[526]}){&lo($z[527],$lh);
}my($hv,$gu,$gv)=(localtime(&at($^T)))[3,4,5];$gu++;$gv+=1900;
$ao->{"day_$hv".$z[528]}=$z[529];$ao->{"mon_$gu".$z[528]}=$z[529];
$ao->{"year_$gv".$z[528]}=$z[529];foreach(split(/ /,$lh->{$z[74]}))
{if(/^ufile/&&!$ao->{$_}){$ao->{$_}=$z[530];}}$ao->{$z[520]}
=&as($ab{$z[40]},&at($^T));$ao->{$z[66]}=&as($ab{$z[40]},&at($^T));
$ao->{$z[531]}=$ai{$z[50]}||"unknown user";$ao->{$z[532]}=$ai{$z[50]}
||"unknown user";return$ao;}sub ll{my($lh,$ao)=@_;if($ab{$z[133]}{$z[134]}{$z[533]})
{&lo($z[533],$ao);}else{&lo($z[515],$ao);}exit;}sub lm{my$lh
=shift;$ad{$z[524]}=$lh->{$z[145]};$ad{$z[525]}=$lh->{$z[50]};
&gf($lh->{$z[147]},{});my($ko)=int$ag{$lh->{$z[50]}.$z[534]};
my$ao={};&mh($lh,$ao,$ko)||&ak($z[535],$ko);return$ao;}sub 
ln{my($lh,$ao)=@_;foreach(split(/ /,$lh->{$z[74]})){if(/^ufile/
&&!$ao->{$_}){$ao->{$_}=$z[530];}}foreach(keys%{$ao}){$ao->{$_}
=~s/\&/&amp;/g;$ao->{$_}=~s/\"/&quot;/g;$ao->{$_}=~s/\</&lt;/g;
$ao->{$_}=~s/\>/&gt;/g;}foreach(keys%{$ao}){if(!/\W/&&$ao->{$_}
!~/\W/){$ao->{$_.$z[514].$ao->{$_}.$z[536]}=$z[537];$ao->{$_.$z[514].$ao->{$_}.$z[528]}
=$z[529];}}$ao->{$z[520]}=&as($ab{$z[40]},&at($ao->{$z[520]}))
if$ao->{$z[520]};$ao->{$z[66]}=&as($ab{$z[40]},&at($ao->{$z[66]}))
if$ao->{$z[66]};my%mi;&mh($ae{$z[193]},\%mi,$ao->{$z[531]})
if$ao->{$z[531]};$ao->{$z[531]}=$mi{$z[50]}||"unknown user";
&mh($ae{$z[193]},\%mi,$ao->{$z[532]})if$ao->{$z[532]};$ao->{$z[532]}
=$mi{$z[50]}||"unknown user";return$ao;}sub lq{my$lh=shift;
$ad{$z[524]}=$lh->{$z[145]};$ad{$z[525]}=$lh->{$z[50]};&gf($lh->{$z[147]},
{});my($ko)=int($ag{$lh->{$z[50]}.$z[538]})||int($ag{$z[48]});
my($ao)={};&mh($lh,$ao,$ko)||&ak($z[535],$ko);return$ao;}sub 
lr{my$lh=shift;$ad{$z[524]}=$lh->{$z[145]};$ad{$z[525]}=$lh->{$z[50]};
&gf($lh->{$z[147]},{});my($ko)=$ag{$z[48]}||$ag{$lh->{$z[50]}.$z[538]};
my$ao={};&co();&mh($lh,$ao,$ko)||&ak($z[535],$ko);&mj($lh,$ko)
||die($z[539].$ko);&cq();foreach(split(/ /,$lh->{$z[74]})){
if(/^ufile/&&$ao->{$_}){if(-e"$ac{'dir_upload'}/$ao->{$_}")
{unlink("$ac{'dir_upload'}/$ao->{$_}");}}}if(defined&{$lh->{$z[171]}})
{&{$lh->{$z[171]}}($ko,$z[173],$ao);}return$ao;}sub ls{my($lh,
$ao)=@_;if(!$ac{$z[540]}){&lp($lh,$z[174]);}&lo($z[541],$ao);
exit;}sub lu{my$lh=shift;$ad{$z[524]}=$lh->{$z[145]};$ad{$z[525]}
=$lh->{$z[50]};&gf($lh->{$z[147]},{});my($ko)=int($ag{$z[48]});
my$lt={};if($lh->{$z[526]}){my($bj)=&mg($lh);if($ko&&$bj>$lh->{$z[526]})
{&lo($z[527],$lh);}elsif(!$ko&&$bj>=$lh->{$z[526]}){&lo($z[527],$lh);
}}if($ko){&mh($lh,$lt,$ko)||die("ui_save : Can't find record #$ko");
}return($lt);}sub lw{my($md)=$_[0]->{$z[50]}||die($z[542]);
my($ko)=int($ag{$z[48]});my(%md)=%{$_[1]||{}};my(%ew,%fq,$ek,%lv,%ao);
if(!$ac{$z[543]}){die("ui_save_uploads: No upload directory has been defined in setup options!\n");
}if(!-d$ac{$z[543]}){die("ui_save_uploads: Upload directory '$ac{'dir_upload'}' doesn't exist!\n");
}if(!-w$ac{$z[543]}){die("ui_save_uploads: Upload directory isn't writable!\n");
}%ew=&az($ac{$z[543]});foreach(split(/ |\,/,$ac{$z[544]})){
$fq{$_}++if$_;}foreach$ek(split(/ /,$_[0]->{$z[74]})){if($ek
!~/^ufile/){next;}if($ag{$ek}){if($ac{$z[545]}&&length($ag{$ek})
>$ac{$z[546]}*1000){my$mk=length($ag{$ek});$lv{$z[547]}.=qq|$ag{$ek."_file"} ($mk bytes, file too large)<br>\n|;
$ag{$ek}=$md{$ek};next;}if(!$fq{lc$ag{$ek.$z[312]}}){$lv{$z[547]}
.=qq|$ag{$ek."_file"} ('$ag{$ek.'_ext'}' files not accepted)<br>\n|;
$ag{$ek}=$md{$ek};next;}if($md{$ek}&&$ew{$md{$ek}}){unlink("$ac{'dir_upload'}/$md{$ek}");
}my($ml);my($mm)=lc$ag{$ek.$z[311]};my($mn)=lc$ag{$ek.$z[312]};
my($mo)=$z[548];$mm=~s/\.[^\.]*$//g;$mm=~s/[^a-z0-9_\-]/_/g;
$mn=~s/[^a-z0-9_\-]/_/g;$ml="$mm.$mn";if(-e"$ac{'dir_upload'}/$ml")
{do{$mo=sprintf($z[408],++$mo);$ml=$mm."_$mo.$mn";}while(-e
"$ac{'dir_upload'}/$ml");}open(AB,">$ac{'dir_upload'}/$ml")
||die($z[549]."$ml $!\n");binmode AB;print AB$ag{$ek};close(AB);
if($ml=~/\.(gif|jpg|jpeg|png)$/i){my($ja,$jb,$mp)=&mq("$ac{'dir_upload'}/$ml");
if(($ac{$z[550]}&&$jb>$ac{$z[550]})||($ac{$z[551]}&&$ja>$ac{$z[551]}))
{unlink("$ac{'dir_upload'}/$ml");$lv{$z[547]}.=qq|$ag{$ek."_file"} (${jb}x$ja, image too big)<br>\n|;
$ag{$ek}=$md{$ek};next;}}$ag{$ek}=$ml;}elsif($ag{$ek.$z[311]})
{if($md{$ek}&&$ew{$md{$ek}}){unlink("$ac{'dir_upload'}/$md{$ek}");
}$md{$ek}='';}else{$ag{$ek}=$md{$ek};}}return\%lv;}sub lx{my
($lh,$lt)=@_;my($ko)=int($ag{$z[48]});$ag{$z[520]}=$ko?$lt->{$z[520]}
:$^T;$ag{$z[531]}=$ko?$lt->{$z[531]}:$ai{$z[48]};$ag{$z[552]}
=$ko?$lt->{$z[552]}:$ai{$z[48]};$ag{$z[66]}=$^T;$ag{$z[532]}
=$ai{$z[48]};my$mr;foreach$mr($lh->{$z[74]}=~/\bufile([^ ]*)\b/g)
{if($lh->{$z[74]}=~/\bimagewidth\Q$mr\E\b/){($ag{$z[553].$mr},
$ag{$z[554].$mr})=&mq($ac{$z[543]}.$ag{$z[555].$mr});}}}sub 
ly{my($lh,$lt)=@_;my($ko)=int($ag{$z[48]});if($ko){&dy($lh,
\%ag,$ko);}else{$ag{$z[48]}=&ec($lh,\%ag,$ko);}if(defined&{$lh->{$z[171]}})
{&{$lh->{$z[171]}}($ag{$z[48]},$z[556],$lt);}}sub lz{my($lh,
$lv)=@_;if(keys%{$lv}){undef$ac{$z[546]}if!$ac{$z[545]};$lv->{$z[48]}
=$ag{$z[48]};$lv->{$z[557]}=&bu($z[557],\%ac)if$ac{$z[546]};
$lv->{$z[558]}=&bu($z[558],\%ac)if$ac{$z[550]};$lv->{$z[559]}
=&bu($z[559],\%ac)if$ac{$z[551]};$lv->{$z[560]}=&bu($z[560],
{$z[544]=>$ac{$z[544]}?$ac{$z[544]}:$z[561]});&lo($z[562],$lv);
exit;}}sub ma{my($lh)=@_;if(!$ac{$z[563]}){&lp($lh,$z[174]);
}&lo($z[564],\%ag);exit;}sub mf{my$ao=shift;&lo($z[174],$ao);
exit;}sub mc{my($lh,$mb)=@_;$ad{$z[524]}=$lh->{$z[145]};$ad{$z[525]}
=$lh->{$z[50]};if(ref($lh)ne$z[227]){die$z[565]."\n";}&gf($lh->{$z[147]},
{});if($ag{$lh->{$z[50]}.$z[566]}){my$ms={};while($ah{$lh->{$z[50]}.$z[567]}
=~/(.*?)\t(.*?)\t/g){$ms->{$1}=$2;}$mb->{$z[57]}=$ag{$z[568]}
||$ms->{$z[57]};}else{while($ah{$lh->{$z[50]}.$z[567]}=~/(.*?)\t(.*?)\t/g)
{$mb->{$1}=$2;}foreach(keys%{$mb}){if(defined$ag{$z[514].$_})
{if($_ ne$z[57]&&$_ ne$z[518]){$mb->{$z[518]}=1;}$mb->{$_}=
$ag{$z[514].$_};}}}&mt($lh->{$z[50]}.$z[567],join("\t",map{
$_,$mb->{$_}}keys%{$mb})."\t");foreach(keys%{$mb}){$ad{$z[514]
.$_}=$mb->{$_};$ad{$z[514].$_.$z[514].$mb->{$_}.$z[528]}=$z[529];
}return$mb;}sub me{my($lh,$ap,$mb,$dg,$dh)=@_;my%ao;my$jd=sub
{$ao{$z[569]}.=&{$ap}(@_);};($ao{$z[570]},$ao{$z[571]},$ao{$z[572]},
$ao{$z[573]},$ao{$z[574]},$ao{$z[575]})=&mu($lh,$jd,$mb->{$z[518]},
$mb->{$z[57]},$dg,$dh);unless($ao{$z[569]}){if($ab{$z[133]}{$z[134]}{$z[576]}
&&scalar grep{$_ ne$z[57]&&$_ ne$z[518]&&$mb->{$_}ne''}keys
%{$mb}){$ao{$z[569]}=&bu($z[576],{});}else{$ao{$z[569]}=&bu($z[128],
{});}}return\%ao;}sub cl{my$lh=shift;my($dg,$dh);my$mb={$z[57]
=>$af{$z[517]}{$z[57]},$z[518]=>1,$z[82]=>'',};$mb=&mc($lh,
$mb);foreach(split(/\s+/,$lh->{$z[79]})){push(@$dh,[$_,$z[269],
$mb->{$z[82]}]);}my$ap=sub{my$md=shift;$md->{$z[577]}=$aj[$md->{$z[578]}];
if(!defined$md->{$z[519]}&&$md->{$z[19]}){my$hy=&hl(0,0,0,$md->{$z[20]},$md->{$z[19]}-1,$md->{$z[18]});
$md->{$z[519]}=&as($ab{$z[96]},$hy);}$md->{$z[520]}=&as($ab{$z[40]},int($md->{$z[520]}))
if$md->{$z[520]};$md->{$z[66]}=&as($ab{$z[40]},int($md->{$z[66]}))
if$md->{$z[66]};$ad{$z[521]}=$ad{$z[521]}eq$z[522]?$z[523]:
$z[522];return&bu($z[122],$md);};my$ao=&me($lh,$ap,$mb,$dg,
$dh);&mf($ao);}sub qv{my$lh=shift;&co();my$lt=&lu($lh);my$lv
=&lw($lh,$lt);&lx($lh,$lt);my%mv;if(&mw($lh,\%mv,$z[579],$ag{$z[579]}))
{if($mv{$z[48]}!=$lt->{$z[48]}){&cq();&lo($z[580],\%ag);}}if
($ag{$z[48]}==$ai{$z[48]}&&$ag{$z[578]}<9){&cq();&lo($z[581],
{});}&ly($lh,$lt);my%mx;if(&mw($ae{$z[198]},\%mx,$z[48],$ag{$z[48]}))
{&dy($ae{$z[198]},\%ag,$ag{$z[48]});}&cq();&lz($lh,$lv);&ma($lh);
}sub qy{my$lh=shift;if(!$ac{$z[516]}){&lp($lh,$z[173]);}my$ao
=&lq($lh);if($ao->{$z[48]}==$ai{$z[48]}&&$ag{$z[578]}<9){&lo($z[581],
{});}&lo($z[516],$ao);}sub ck{my$lh=shift;my$ko=$ag{$z[48]}
||$ag{$lh->{$z[50]}.$z[538]};if($ko==$ai{$z[48]}&&$ag{$z[578]}
<9){$ad{$z[524]}=$lh->{$z[145]};$ad{$z[525]}=$lh->{$z[50]};
&gf($lh->{$z[147]},{});&lo($z[581],{});}&co();&mh($ae{$z[193]},
{},$ai{$z[48]})||&mz($z[582],{});my$ao=&lr($lh);&mj($ae{$z[198]},
$ko);&cq();&ls($lh,$ao);}sub nt{my$jk=shift;if($ac{$z[583]}
eq$z[584]){my%jl=(host=>$ac{$z[585]},helo=>$af{$z[586]}{$z[587]},
timeout=>$af{$z[586]}{$z[588]},pop3_auth=>$ac{$z[589]},pop3_host
=>$ac{$z[590]},pop3_user=>$ac{$z[591]},pop3_pass=>$ac{$z[592]});
&na($jk,\%jl)||die("Error sending message: $ab{'error'}");}
elsif($ac{$z[583]}eq$z[593]){if(!-e$ac{$z[594]}){die("sendmail: can't find sendmail program '$ac{'mail_sendmail'}'\n");
}local(*AL);my($jv)=&jm($jk);open(AL,"|$ac{'mail_sendmail'} -f $jv -t")
||die"Can't open $ac{'mail_sendmail'} : $!";print AL$jk;close(AL);
}elsif(!$ac{$z[583]}){die("sendmail: no mailer specified in setup options!\n");
}else{die("sendmail: unknown mailer '$ac{'mail_mailer'}' specified!\n");
}}sub qz{my($ff)=$_[0];my($nb)=$ag{$z[595]}||die("browse: you must pass a name/value for the 'fieldname'!\n");
my(%ao,$fg);if($ff ne$z[596]&&$ff ne$z[597]){die("browse: the first argument must be either 'dir' or 'file'!\n");
}if($ag{$z[598]}){&nc($z[599].$z[600].$ab{$z[0]}.$z[601]);}
if($ag{$z[602]}){&nc($z[603].$z[600].$ab{$z[0]}.$z[601]);}if
($ag{$z[596]}){&nc($z[604].$z[600].$ab{$z[0]}.$z[601]);}if(!-d
$ac{$z[605]}){delete$ac{$z[605]};}if($ag{$z[606]}){if(-f$ag{$z[606]})
{$ag{$z[606]}=~s!^(.+)(\\|/).*?$!$1!;}if(-d$ag{$z[606]}){$ag{$z[596]}
=$ag{$z[606]};}}if($af{$z[607]}){$ag{$z[596]}=$ac{$z[605]};
}&gf("_browse_$ff.html",{});my$nd="/";$ao{$z[595]}=$ag{$z[595]};
if($ag{$z[598]}){$ao{$z[608]}=$ag{$z[608]};if(!$ag{$z[608]})
{$ad{$z[609]}=$z[610];}elsif($ag{$z[608]}=~m/[^\w\-]/i){$ad{$z[609]}
=$z[611];}elsif(!mkdir("$ag{'cdir'}$nd$ag{'mkdir_name'}",0777)){
$ad{$z[609]}=$z[612].$!;}if($ad{$z[609]}){$ad{$z[609]}=&bu($z[609],\%ad);
}}if($ag{$z[602]}){local(*AB);$ao{$z[613]}=$ag{$z[613]};if(!$ag{$z[613]})
{$ad{$z[614]}=$z[615];}elsif($ag{$z[613]}=~m/[^\w\-\.]/i){$ad{$z[614]}
=$z[616];}elsif(-e"$ag{'cdir'}$nd$ag{'mkfile_name'}"){$ad{$z[614]}
=$z[617];}elsif(!open(AB,">$ag{'cdir'}$nd$ag{'mkfile_name'}"))
{$ad{$z[614]}=$z[618].$!;}close(AB);if($ad{$z[614]}){$ad{$z[614]}
=&bu($z[614],\%ad);}}$ao{$z[596]}=$ag{$z[596]}||$ac{$z[605]}
||$ab{$z[510]};$ao{$z[596]}=~s/^(.+)(\\|\/)+$/$1/;$ao{$z[619]}
=$ao{$z[596]};$ao{$z[619]}=~s!^([a-z]:)!$1/..!i;$ao{$z[620]}
=($ao{$z[596]}=~m#^(.*)[\\/]#,$1||$nd);$ao{$z[621]}=&gg($ao{$z[620]});
$ao{$z[174]}.=&bu($z[620],\%ao)if($ao{$z[596]}=~m!.+(\\|/)!);
if(!-e$ao{$z[596]}){$ao{$z[487]}=$z[622];}elsif(!-r$ao{$z[596]})
{$ao{$z[487]}=$z[623];}if($ao{$z[487]}){print"Content-type: text/html\n\n"
unless($ab{$z[624]}++);$ao{$z[174]}.=&bu($z[487],\%ao);print
&gf($z[625],\%ao);exit;}opendir(AC,"$ao{'dir2'}");my@fg=sort
{lc$a cmp lc$b}grep(!/^\.+$/,readdir(AC));closedir(AC);my($az);
foreach$az(@fg){-d"$ao{'dir'}$nd$az"||next;$ao{$z[50]}=$az;
$ao{$z[626]}="$ao{'dir'}$nd$az";$ao{$z[626]}=~s/$nd+/$nd/g;
$ao{$z[627]}=&gg($ao{$z[626]});($ao{$z[628]},$ao{$z[629]})=
(stat($ao{$z[626]}))[7,9];next if$ao{$z[629]}eq"";$ao{$z[630]}
=&as($ab{$z[40]},$ao{$z[629]});$ao{$z[174]}.=&bu($z[596],\%ao);
$fg++;}my($ew);foreach$ew(@fg){-d"$ao{'dir'}$nd$ew"&&next;$ao{$z[50]}
=$ew;$ao{$z[626]}="$ao{'dir'}$nd$ew";($ao{$z[628]},$ao{$z[629]})
=(stat($ao{$z[626]}))[7,9];next if$ao{$z[629]}eq"";if($ao{$z[628]})
{$ao{$z[628]}=(int($ao{$z[628]}/1000)||1)."KB";}else{$ao{$z[628]}
="0KB";}$ao{$z[630]}=&as($ab{$z[40]},$ao{$z[629]});$ao{$z[626]}
=~s/'/\\'/g;$ao{$z[626]}=~s/\\/\\\\/g;if(-f"$ao{'dir'}$nd$ew")
{$ao{$z[174]}.=&bu($z[597],\%ao);}else{$ao{$z[174]}.=&bu($z[631],\%ao);
}$fg++;}if(!$fg){$ao{$z[174]}.=&bu($z[632],{});}print"Content-type: text/html\n\n"
unless($ab{$z[624]}++);print&gf("_browse_$ff.html",\%ao);exit;
}sub ra{my($jz,$kc);if($ENV{$z[305]}=~/^[\w\-]+\.gif$/){$jz
=$z[633]."\n\n";}elsif($ENV{$z[305]}=~/^[\w\-]+\.jpg$/){$jz
=$z[634]."\n\n";}else{return;}$kc=&gf($ENV{$z[305]},{},$z[321]);
if($kc){binmode(STDOUT);print$jz ;print$kc ;exit;}}sub at{my
$hy=$_[0]||die("time_adj: first argument must be time()\n");
if($ac{$z[635]}eq$z[533]){$hy+=$ac{$z[636]}*60*60;}if($ac{$z[635]}
eq$z[637]){$hy-=$ac{$z[636]}*60*60;}if($ac{$z[638]}eq$z[533])
{$hy+=$ac{$z[639]}*60;}if($ac{$z[638]}eq$z[637]){$hy-=$ac{$z[639]}*60;
}return$hy;}sub rb{my($ap,$ne,$nf,$ng,%mx);my(%ao,%nh);if(!$ag{$z[640]}
&&!$ah{$z[579]}){&mz(undef,\%ao);}if($ag{$z[640]}){($ne,$nf)
=(lc$ag{$z[579]},lc$ag{$z[641]});if(!$ne&&!$nf){&mz($z[582],
\%ao);}if(!$ne||!$nf){&mz($z[582],\%ao);}$ap=sub{if(lc$nh{$z[579]}
eq$ne&&lc$nh{$z[641]}eq$nf){$ng=$nh{$z[48]};}};&av($ae{$z[193]},
$ap,\%nh);if(!$ng){&mz($z[582],\%ao);}&mh($ae{$z[193]},\%nh,
$ng);$nh{$z[520]}=$^T;$nh{$z[66]}=$^T;&dy($ae{$z[198]},\%nh,
$ng);}else{($ne,$nf)=(lc$ah{$z[579]},lc$ah{$z[641]});if(!$ne
||!$nf){&mz($z[642],\%ao);}$ap=sub{if(($af{$z[643]}&&$nh{$z[66]}
<$^T-60*$af{$z[643]})||$nh{$z[66]}<$^T-60*60*24){&mj($ae{$z[198]},
$nh{$z[48]});}elsif(lc$nh{$z[579]}eq$ne&&lc$nh{$z[641]}eq$nf)
{$ng=$nh{$z[48]};}};&av($ae{$z[198]},$ap,\%nh);if(!$ng){&mz($z[642],
\%ao);}&mh($ae{$z[198]},\%nh,$ng);$nh{$z[66]}=$^T;&dy($ae{$z[198]},
\%nh,$ng);}&mt($z[579],$ne);&mt($z[641],$nf);return%nh;}sub 
mz{if(!$ab{$z[624]}++){print$z [644]."\n\n";}my($eu)=$_[0];
my(%ao)=%{$_[1]||{}};&gf($z[645],{});foreach(keys%ao){$ao{$_}
=&fj($ao{$_});}if($eu&&!$ab{$z[133]}{$z[134]}{$eu}){die($z[646]."'$eu' isn't defined!\n");
}if($eu){$ao{$z[547]}=&bu($eu,\%ao);}print&bu($z[647],{});if
($eu){print&bu($z[648],\%ao);}else{print&bu($z[640],\%ao);}
print&bu($z[649],{});if($ab{$z[486]}){print"<p>";print"<pre>$ab{'debug_output'}</pre>"
if($ab{$z[301]});}&ni();exit;}sub rc{&gf($z[645],{});&mt($z[579],'');
&mt($z[641],'');$ac{$z[650]}=~s/^\s+|\s+$//g;if($ac{$z[650]}
&&$ENV{$z[305]}=~/logoff/i){print"Content-type: text/html\n\n";
print qq|<html><head><title></title>\n|;print qq|<meta http-equiv="Refresh" content="0;URL=$ac{'url_logoff'}">\n|;
print qq|</head>\n|;print qq|<body bgcolor="#ffffff"></body>\n|;
print qq|</html>\n|;exit;}&mz();}sub nx{&gf($ae{$z[200]}->{$z[147]},
{});&mh($ae{$z[200]},\%ac,1);foreach(keys%ac){if(!/\W/&&$ac{$_}
!~/\W/){$ac{$_."_$ac{$_}".$z[536]}=$z[537];$ac{$_."_$ac{$_}".$z[528]}
=$z[529];}}$ac{$z[651]}=&as($ab{$z[40]},$^T);$ac{$z[636]}||=
0;$ac{$z[639]}||=0;$ac{$z[652]}=&as($ab{$z[40]},&at($^T));foreach
(keys%ENV){$ac{"env_".lc($_)}=$ENV{$_};}$ac{$z[653]}=$^O;$ac{$z[654]}
=$];$ac{$z[655]}||="not available";$ac{$z[656]}||=$ac{$z[657]};
$ac{$z[658]}=$ab{$z[510]};foreach(grep/^env_/,keys%ac){$ac{$_}
=~s/(\W)(\w)/$1<wbr>$2/g;}foreach(keys%ac){$ac{$_.$z[331]}=
&gg($ac{$_})if/^dir/;$ac{$_}=~s/"/&quot;/g;}if($^O!~/win32/i
&&!$ac{$z[594]}&&defined$ab{$z[133]}{$z[134]}{$z[659]}){foreach
($z[660],$z[661],$z[662],$z[663],$z[664],$z[665],$z[666]){if
(-e$_){$ad{$z[667]}.=&bu($z[659],{$z[626]=>$_});}}}my$nj=$z[668];
$nj=$z[669]if($ac{$z[669]});foreach(1..10){$nj="tab$_"if($ag{"setup_tab$_"}
&&defined$ab{$z[133]}{$z[134]}{"tab$_"});}&lo($nj,\%ac);exit;
}sub rd{$ab{$z[670]}=$z[671];my(%ao,$nk);if($ag{$z[672]}){&gf($z[673],
{});$ao{$z[674]}=&bu($z[675],\%ao);$ao{$z[676]}=$z[677];my@nl
=qw(mail_smtp mail_sender_email mail_sender_name mail_mailer mail_sendmail mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass);
@ao{@nl}=@ag{@nl};print"Content-Type: text/html\n\n";print&gf($z[673],
\%ao);exit;}if(length($ag{$z[678]})){&nm($z[679],$z[680])unless
&nn($ag{$z[678]});}else{&nm($z[681],$z[682]);}my$np;open(AJ,
"<$ab{'templatedir1'}/email/email_test.txt")||&nm($z[683],"Unable to open test email template.");
read(AJ,$np,-s AJ);close(AJ);my($nq,$nr);if($np=~/^\s*Subject: *([^\r\n]*?)(\r\n|\r|\n)\s*Body: *([^ ].*)$/si)
{$nq=$1;$nr=$3;}else{&nm($z[684],"email_test.txt is improperly formatted.  Should have subject: and body:");
}if($ag{$z[583]}eq$z[593]){@ac{qw(mail_mailer mail_sendmail)}
=@ag{qw(mail_mailer mail_sendmail)};}else{@ac{qw(mail_mailer mail_smtp mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass)}
=@ag{qw(mail_mailer mail_smtp mail_pop3auth mail_pop3 mail_pop3user mail_pop3pass)};
}my$ns=qq|From: "$ag{'mail_sender_name'}" <$ag{'mail_sender_email'}>\nTo: "$ag{'mailto'}" <$ag{'mailto'}>\nSubject: $nq\nContent-Type: text/plain\n|
;$@=();eval{&nt("$ns\n$nr")};if($@){&nm($z[685],join($z[686],
$@));}else{&nm($z[687]);}}sub nm{my($ff,$jd)=@_;my%ao;my%nu
=($z[681]=>[$z[688],$z[689],$z[690]],$z[679]=>[$z[688],$z[689],
$z[691]],$z[683]=>[$z[692],$z[689],$z[693]],$z[684]=>[$z[692],
$z[689],$z[694]],$z[685]=>[$z[692],$z[689],$z[695]],$z[687]
=>[$z[692],$z[696],$z[697]]);&gf($z[673],{});$ao{$z[547]}=$jd;
if($nu{$ff}[0]eq$z[688]){$ao{$z[698]}=&bu($z[698],{});}$ao{$z[674]}
=&bu($nu{$ff}[1],\%ao);$ao{$z[676]}=$nu{$ff}[2];print"Content-Type: text/html\n\n";
print&gf($z[673],\%ao);exit;}sub re{&nv($z[699].$z[600].$ab{$z[0]}.$z[700]);
&gf($ae{$z[200]}->{$z[147]},{});&nw;if(!$ac{$z[563]}){&nx;}
my$nj=$z[701];foreach(1..10){$nj="saved_tab$_"if($ag{"setup_tab$_"}
&&defined$ab{$z[133]}{$z[134]}{"saved_tab$_"});}&lo($nj,{});
exit;}sub nw{my($lv);if(defined$ag{$z[702]}){$ag{$z[702]}=~
s/\s+//g;if(defined&ny){if(!&ny($ag{$z[702]})){$lv=$z[703];
}if(!$ag{$z[702]}){$lv=$z[704];}}if(!$ag{$z[705]}){$lv=$z[706];
}if(!$ag{$z[707]}){$lv=$z[708];}if($lv){$ad{$z[487]}=$lv;$ad{$z[709]}
=$ag{$z[707]};$ad{$z[710]}=$ag{$z[705]};$ad{$z[711]}=$ag{$z[702]};
&lo($z[712],\%ad)}$ac{$z[707]}=$ag{$z[707]};$ac{$z[705]}=$ag{$z[705]};
$ad{$z[713]}=int sprintf($z[714],&ny($ag{$z[702]}));$ab{$z[715]}
=&nz();if(defined&oa&&$ac{$z[702]}ne$ag{$z[702]}){&oa;}}foreach
(qw(uploadmax lhour_offset lmin_offset)){if(exists$ag{$_}){
$ag{$_}=int($ag{$_});}}foreach(qw(upload_height upload_width))
{if(exists$ag{$_}){$ag{$_}&&=int($ag{$_});}}foreach(grep{/_default_to$/i
}keys%ag){my($ob,$en)=/^((.*)_default_to)$/;if($ag{$ob}=~/^null$/i)
{$ag{$ob}='';}$ag{$en}||=$ag{$ob};}foreach(qw(publish_index publish_basename publish_fileext))
{$ag{$_}=~s/^\.+//;$ag{$_}=~s/\.+$//;}foreach(keys%ag){if((/^dir_/
||/^url_/)&&not/^url_logoff$/){if(!$ag{$_}){next;}$ag{$_}=~
tr|\\|/|;if(/^url_/&&index($ag{$_},$z[132])>=0){next;}if(/^url_/
&&index($ag{$_},$z[716])>=0){next;}if(substr($ag{$_},-1,1)ne
$z[64]){$ag{$_}.=$z[64];}}}my$oc=$ac{$z[717]};my$od=$ac{$z[718]};
&mh($ae{$z[200]},\%ac,1);foreach(sort keys%ac){$ac{$_}=$ag{$_}
if defined$ag{$_};}&dy($ae{$z[200]},\%ac,1);$ad{$z[719]}=$ac{$z[720]};
foreach(keys%ac){$ad{$z[514].$_}=$ac{$_}if/^ui_/;}$ad{$z[709]}
=$ac{$z[707]};$ad{$z[710]}=$ac{$z[705]};$ad{$z[711]}=$ac{$z[702]};
$ad{$z[721]}=$ac{$z[722]};$ad{$z[723]}=$ac{$z[649]};$ad{$z[724]}
=$ac{$z[725]};foreach(grep/^dir_/,keys%ac){$ac{$_}="$ab{'cgidir'}/$ac{$_}"
if index($ac{$_},$z[29])==0;$ac{$_}=~tr|\\|/|;1 while$ac{$_}
=~s|/[^/]+/\.\.||;}if(($oc ne$ac{$z[717]}||$od ne$ac{$z[718]})
&&($ac{$z[717]}||$ac{$z[718]})){&oe($ae{$z[13]},sub{my$bk=shift;
if($ac{$z[717]}&&$bk->{$z[86]}){$bk->{$z[75]}=~s/\n/<br \/>/g;
undef$bk->{$z[86]};}if($ac{$z[718]}&&$bk->{$z[88]}){$bk->{$z[76]}
=~s/\n/<br \/>/g;undef$bk->{$z[88]};}});}&am();}sub rf{&nw;
foreach(keys%ae){my$of=$ae{$_}{$z[171]};if(defined&{$of}){&{$of}();
}}&lo($z[726],{});}sub lo{my($ga)=$_[0];my($ao)=$_[1];unless
($ga){die($z[727]."\n");}if(ref($_[1])ne$z[227]){die$z[728]."\n";
}my(%ao);if(!$ab{$z[624]}++){print$z [644]."\n\n";}&gf($z[645],
{});print&bu($z[647],{});for(1..9){if($ai{$z[578]}>=$_&&$ab{$z[133]}{$z[134]}{$z[729].$_})
{$ao{$z[730]}.=&bu($z[729].$_,{});}if($ai{$z[578]}==$_&&$ab{$z[133]}{$z[134]}{$z[729].$_.$z[731]})
{$ao{$z[730]}.=&bu($z[729].$_.$z[731],{});}}$ad{$z[732]}="$ai{'name'} ($aj[$ai{'acl'}])";
$ao{$z[76]}=&bu($ga,$ao);print&bu($z[733],\%ao);print&bu($z[649],
{});if($ab{$z[486]}>=2){print"<p><font color=white><b>Stack Trace</b><br>";
my$cy=0;while(my($ew,$dz,$fi)=(caller($cy++))[1,2,3]){print 
qq!<p>($fi) called from ($ew) line ($dz)<BR>\n!;}}if($ab{$z[486]})
{print"<p>";print"<pre>$ab{'debug_output'}</pre>"if($ab{$z[301]});
}&ni();exit;}sub ni{print$z [734]."\n";print$ad {$z[721]}.$z[735]
.$ab{$z[4]}.$z[736].$ab{$z[737]}.$z[29].$ab{$z[738]}.")\n";
print$z [739].$ad{$z[713]}.$z[740].$ad{$z[709]}.$z[740].$ad{$z[710]}
."\n";printf($z[741]."\n",time()-$^T);print$z [742]."\n";}sub 
rg{my(@fg)=map"$ab{'datadir'}$ae{$_}{'datafile'}",keys%ae;my(@og)
=($ab{$z[743]});my($az,$ew,$oh);foreach$az(sort@og){if($az 
eq""){next;}if(!-d$az||!-w$az){$oh.="$az\n";}}foreach$ew(sort
@fg){$ew=~s/\\/\//g;1 while$ew=~s!/[^/]+/\.\./!/!;if(-f$ew&&
!-w$ew){$oh.="$ew\n";}}if($oh){&ak($z[744],$oh);}}sub nv{return 
unless$af{$z[607]};my$jk=shift;&mz($z[745],{$z[547]=>$jk});
}sub nc{return unless$af{$z[607]};my$jk=shift;$jk=&gg($jk);
print"Content-type: text/html\n\n";print qq|<script><!--\nopener.document.location='$ab{'cgiurl'}?demo_break=$jk';\nwindow.close();\n// --></script>\n|
;exit;}sub rh{&gf($ae{$z[200]}{$z[147]},{});my%oi;my$oj;foreach
$oj(keys%{$ab{$z[746]}}){my%ao=($z[747]=>$oj,$z[748]=>$ab{$z[746]}{$oj}
);$oi{$oj}[0]=&bu($z[749],\%ao);$oi{$oj}[1]=&bu($z[750],\%ao);
}foreach$oj(keys%{$ab{$z[746]}}){my$ok=join'',map{$oi{$_}[$oj
==$_?1:0]}sort keys%{$ab{$z[746]}};$ad{$z[751].$oj}=&bu($z[752],
{$z[753]=>$ok});}}1;;sub ri{my$ol=shift||die("ip2num : no ip or host specified!\n");
my($a,$b,$om,$on,$ko);if($ol=~/[^0-9\.]/){my$jx=gethostbyname("$ol.")
||die("ip2num: Can't find IP for host '$ol'!\n");($a,$b,$om,$on)
=unpack($z[754],$jx);}else{($a,$b,$om,$on)=split(/\./,$ol);
}$ko+=$on*(256**0);$ko+=$om*(256**1);$ko+=$b*(256**2);$ko+=
$a*(256**3);return$ko;}sub rj{my$ko=shift||die("num2ip : no number specified!\n");
my($a,$b,$om,$on);$a=($ko/256**3)% 256;$b=($ko/256**2)% 256;
$om=($ko/256**1)% 256;$on=($ko/256**0)% 256;return join$z[29],
$a,$b,$om,$on;}sub rk{my$hy=shift||time();$hy-=(localtime($hy))[6]
* 60*60*24;$hy-=(localtime($hy))[2]* 60*60;$hy-=(localtime($hy))[1]
* 60;$hy-=(localtime($hy))[0]* 1;return$hy;}sub rl{my$hy=shift
||time();$hy-=(localtime($hy))[2]* 60*60;$hy-=(localtime($hy))[1]
* 60;$hy-=(localtime($hy))[0]* 1;return$hy;}sub rm{my$gq=int 
shift;my$gr=int($gq/60);my$gs=int($gr/60);$gr%=60;$gq%=60;return 
sprintf("%01d:%02d:%02d",$gs,$gr,$gq);}sub rn{my$ko=reverse 
int shift;$ko=~s/(...)\B/$1,/g;return reverse$ko;}sub by{my
$ko=shift;if($ko==int($ko)){return$ko;}elsif($ko<0){return 
int$ko;}else{return int($ko)+1;}}sub ro{my$ko=shift;if($ko==
int($ko)){return$ko;}elsif($ko<0){return int($ko)-1;}else{return 
int$ko;}}sub bz{return(sort{$a<=>$b}@_)[0];}sub rp{return(sort
{$a<=>$b}@_)[-1];}1;;sub aw{local(*AB);my($ew,%ez,$fz,$ga);
%ez=%{$_[1]}if$_[1];my$oo=$_[3];my%gb;%gb=($z[319]=>0,$z[320]
=>0,$z[321]=>0,$z[53]=>0,$z[330]=>0);foreach(split(/ /,$_[2]))
{if(undef$gb{$_}){die($z[322]."'$_'\n");}$gb{$_}=1;}unless($gb{$z[319]})
{$gb{$z[320]}=1;}if(!$_[0]){die$z[323]."\n";}if(ref($_[1])ne
$z[227]){die$z[755]."\n";}if((!$gb{$z[320]}||!$ab{$z[133]}{$z[320]}{$_[0]})
){if(-e"$_[0]"){$ew=$_[0];}else{foreach(grep/^templatedir/,
sort keys%ab){if(-e"$ab{$_}/$_[0]"){$ew="$ab{$_}/$_[0]";last;
}}if(!$ew){die$z[325]."'$_[0]'".$z[326]."\n";}}}if($gb{$z[320]}
&&$ab{$z[133]}{$z[320]}{$_[0]}){$fz=$ab{$z[133]}{$z[320]}{$_[0]};
}else{open(AB,"<$ew")||die$z[327]."$ew! $!\n";binmode(AB)if
($ew=~/gif$/i||$ew=~/jpg$/i);read(AB,$fz,-s AB);close(AB);}
if($gb{$z[321]}){return$fz;}if(!$gb{$z[320]}||!$ab{$z[133]}{$z[320]}{$_[0]})
{foreach$ga($fz=~m/<!-- templatecell\s?:\s?([\w\.]+) -->/g)
{$ab{$z[133]}{$z[134]}{"$oo$1"}=$2 if($fz=~m/<!-- templatecell\s?:\s?($ga) -->(?:\r\n|\n)?(.*?)<!-- \/templatecell\s?:\s? \1 -->/is);
}$fz=~s/<!-- templatecell\s?:\s?([\w\.]+) -->(?:\r\n|\n)?(.*?)<!-- \/templatecell\s?:\s? \1 -->//gis;
if($gb{$z[320]}){$ab{$z[133]}{$z[320]}{$_[0]}=$fz;}}if($gb{$z[53]})
{while($fz=~/<!-- template include : (.*?) -->/i){my$op=$1;
my$gc=$op;$gc=~s/\$(\w+?)\$/defined$ad{$1}?$ad{$1}:$ez{$1}/eg;
unless($gc){$fz=~s/<!-- template include : \Q$op\E -->//;next;
}if($gc=~m!^/!){;}else{if($_[4]){$gc="$_[4]$gc";}else{$gc=($ew
=~m!(.*/)!)[0].$gc;}}my$ge;if(not$ab{$z[133]}{$z[756]}{$gc}++)
{my$oq;if(-e"$gc"){$oq++;}else{foreach(grep/^templatedir/,sort 
keys%ab){if(-e"$ab{$_}/$gc"){$oq++;last;}}}if($oq){$ge=&aw($gc,
$_[1],"$_[2] inside_ssi",$z[757],$_[4]);}else{$ge="[ Program Error - Could not include file \"$gc\" via template include ]";
}}else{$ge="[ Program Error - Cyclic Include - The file '$gc' is included by itself (perhaps indirectly). Please check include files for other Include statements. ]";
}$fz=~s/<!-- template include : \Q$op\E -->/$ge/;delete$ab{$z[133]}{$z[756]}{$gc};
}}else{$fz=~s/<!-- template include : (.*?) -->//gi;}$fz=~s/<!-- template insert\s?:\s?(.*?) -->/$1/gi;
$fz=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$em=defined$ad{$1}
?$ad{$1}:$ez{$1};if($2 eq$z[331]){$em=&gg($em);}if($2 eq$z[332])
{$em=&gh($em);}if($2 eq$z[333]){$em=&gh($em);$em=~s/ /&nbsp;/g;
}if($2 eq$z[334]){$em=&gi($em);}$em;]ge;return$fz;}sub br{my
($hx,$bk,$oo)=@_;$hx=~s|<br>(\s*\*\*\*image\d+(?:\:(\w+))?\*\*\*)|<br clear="all">$1|gsi;
$hx=~s[\s*\*\*\*image(\d+)(?:\:(\w+))?\*\*\*\s*][if($2 eq$z[758])
{$bk->{$z[119].$1}}else{my%or;$or{$z[759]}=$2||$af{$z[760]}{$z[761]}
||$z[762];$or{$z[763]}=$bk->{$z[119].$1};$or{$z[764]}=$bk->{$z[120]
.$1};$or{$z[765]}=$bk->{$z[68].$1};$or{$z[766]}=$bk->{$z[69]
.$1};&bu($oo.($or{$z[764]}ne''?$z[764]:$z[767]),\%or);}]eigo;
return$hx;}sub rq{my($ao,$bk,$oo,$os,$ot,@ou)=@_;$ao->{$z[85]}
=&br($os,$bk,$oo);$ao->{$z[87]}=&br($ot,$bk,$oo);my$cy;for$cy
(1..$ab{$z[6]}){$ao->{$z[121].$cy}=&br($ou[$cy-1],$bk,$oo);
}}sub rr{my($ao,$os,$ot,@ou)=@_;($ao->{$z[85]}=$os)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;
($ao->{$z[87]}=$ot)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;
my$cy;for$cy(1..$ab{$z[6]}){($ao->{$z[121].$cy}=$ou[$cy-1])
=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;}}sub rs{my$fz=shift;
my$hy=$ad{$z[39]}||&as($ab{$z[40]},$ac{$z[39]}||$^T);my$ov=
$z[768].$ab{$z[0]}.$z[769];$$fz=$z[770].$hy.$z[771].$ab{$z[0]}
.$z[772]."\n\n".$$fz;unless($$fz=~s/(<meta[^>]+>)/$ov\n$1/is)
{$$fz=~s/(<head[^>]*>)/$1\n$ov\n/i;}}sub hl{my$jd;eval{local
$SIG{$z[773]}=undef;local$SIG{$z[774]}=undef;$jd=timelocal(@_);
};if($@){$jd=0;}return$jd;}sub hk{my$jd;eval{local$SIG{$z[773]}
=undef;local$SIG{$z[774]}=undef;$jd=timegm(@_);};if($@){$jd
=0;}return$jd;}sub rt{if(!$ac{$z[775]}||(scalar(@{$ab{$z[776]}})
<1)){return;}my$bk=shift;my%ow=%{$bk};my($ox,$oy,$oz,$pa)=(1..4);
if($ab{$z[486]}){if(scalar(@{$ab{$z[776]}})>1){my%pb=map{$_,
1}("$ox,$oy","$oy,$oz","$oy,$pa");my$pc=join($z[777],sort{$a
<=>$b}@{$ab{$z[776]}});unless(exists$pb{$pc}){&ak("Invalid notification events combination: $pc");
}}}my%pd;@pd{$z[520],$z[630]}=(split(/\s*,\s*/,$af{$z[778]}{$z[779]}));
$pd{$z[520]}||=$z[520];$pd{$z[630]}||=$z[630];my@pe=($z[780],
split(/\s*,\s*/,$af{$z[778]}{$z[781]}));$pe[1]||=$z[782];$pe[2]
||=$z[783];$pe[3]||=$z[45];$pe[4]||=$z[541];my(@bq,%au,$bh);
$ow{$z[784]}=$ai{$z[50]};$ow{$z[785]}=(grep/^$ox$/,@{$ab{$z[776]}})
?$pd{$z[520]}:$pd{$z[630]};$ow{$z[78]}=(grep/^$pa$/,@{$ab{$z[776]}})
?$pe[4]:$pe[$bk->{$z[78]}];foreach(keys%ow){$ow{$z[84].$_}=
$ow{$_};}foreach(1..$ab{$z[6]}){$ow{$z[121].$_}=$ow{$z[89].
$_};}$ow{$z[24]}=$ac{$z[25]};$ow{$z[27]}=$ac{$z[27]};$ow{$z[26]}
=$ac{$z[27]}.$ac{$z[28]}.$z[29].$ac{$z[30]};$ow{$z[31]}=$ac{$z[32]}
.$z[29].$ac{$z[30]};$ow{$z[33]}=$ac{$z[34]}.$z[29].$ac{$z[30]};
$ow{$z[42]}=$ac{$z[32]}.$ow{$z[786]}.$z[29].$ac{$z[30]};;$ow{$z[43]}
=$ac{$z[44]}.$ow{$z[786]}.$z[29].$ac{$z[30]};$ow{$z[35]}=$ac{$z[36]}
.$z[29].$ac{$z[30]};$ow{$z[37]}=$ac{$z[38]}.$z[29].$ac{$z[30]};
$ow{$z[103]}=$ac{$z[27]}.($ac{$z[104]}&&$ow{$z[105]}?$ac{$z[106]}
.$ow{$z[105]}:$ac{$z[106]}.$ow{$z[48]}).$z[29].$ac{$z[30]};
$ow{$z[39]}=&as($ab{$z[40]},&at($ac{$z[39]}))if($ac{$z[39]});
@bq=($ow{$z[18]},$ow{$z[19]}-1,$ow{$z[20]},$ow{$z[91]}+($ow{$z[92]}
eq$z[93]?12:0),$ow{$z[94]});$ow{$z[95]}=&as($ab{$z[96]},@bq);
$ow{$z[97]}=&as($ab{$z[98]},@bq);&mh($ae{$z[15]},\%au,$ow{$z[786]});
$ow{$z[99]}=$au{$z[50]};$bh=$au{$z[70]}?$au{$z[71]}:$ac{$z[72]}
.$ow{$z[786]};$ow{$z[107]}=$ac{$z[27]}.$bh.$z[29].$ac{$z[30]};
$ow{$z[16]}=$ow{$z[786]};$ow{$z[41]}=$ac{$z[41]};if($bk->{$z[78]}
==2){if($bk->{$z[115]}==1){$ow{$z[787]}=$ow{$z[108]}=$ac{$z[27]}
.($ac{$z[104]}&&$ow{$z[788]}?$ow{$z[105]}:$ac{$z[109]}.$ow{$z[112]})
.$z[29].$ac{$z[30]};}else{$ow{$z[787]}=$ow{$z[108]}=$ow{$z[107]}
.$z[716].$bk->{$z[48]};}}else{$ow{$z[787]}=$ow{$z[108]}=$ow{$z[107]};
}$ow{$z[789]}=$ac{$z[789]};$ow{$z[790]}=$ac{$z[790]}||$ac{$z[789]};
my$np;local(*AJ);open(AJ,"<$ab{'templatedir1'}/email/notify.txt")
||&ak("Unable to open email template");read(AJ,$np,-s AJ);close(AJ);
my($nq,$nr);if($np=~/^\s*Subject: *([^\r\n]*?)(\r\n|\r|\n)\s*Body: *([^ ].*)$/si)
{$nq=$1;$ab{$z[133]}{$z[320]}{$z[791]}=$3;$nq=~s/\$(.*?)\$/$ow{$1}/g;
$nr=&gf($z[791],\%ow,$z[320]);}else{&ak($z[792]);}my$pf=$bk->{$z[15]};
my$pg=$z[793];my@ph;my$ap=sub{my$pi=shift;if($pi->{$z[794]}
||$pi->{$z[795]}=~/(^|,)$pf(,|$)/){if($pi->{$z[578]}==1){return;
}if(!$pi->{$z[778]}||!&nn($pi->{$z[778]})){return;}$pi->{$z[50]}
||=$pi->{$z[778]};my$pj;foreach$pj(split(/,/,$pi->{$z[796]}))
{if(grep/^$pj$/,@{$ab{$z[776]}}){push(@ph,qq|"$pi->{'name'}" <$pi->{'email'}>|);
last;}}}};&av($ae{$z[193]},$ap);if(scalar(@ph)){my$pk;if(length($af{$z[778]}{$z[797]}))
{$pk=qq|To: $af{'email'}{'notifications_to_field'}\n|;}my$pl
=join($z[798],@ph);$pk.=qq|Bcc: $pl|;my$ns=qq|From: "$ow{'mail_sender_name'}" <$ow{'mail_sender_email'}>\n$pk\nSubject: $nq\n$pg\n|
;&nt("$ns\n$nr");}}1;;%af=&pm("$cc/config.ini");$ad{$z[799]}
=$af{$z[517]}{$z[800]}||"#336699";$ab{$z[743]}=$af{$z[743]}
||$z[801];$ab{$z[506]}=$af{$z[506]}||$z[802];$ab{$z[40]}=$af{$z[517]}{$z[40]}
||$z[803];$ab{$z[96]}=$af{$z[517]}{$z[96]}||$z[804];$ab{$z[98]}
=$af{$z[517]}{$z[98]}||$z[424];&ak($z[805])if!$ENV{$z[806]};
&ak("macftp")if"¡"ne"\xA1";&ak($z[807])if$ENV{$z[808]}&&!$af{$z[809]};
%ab=(%ab,$z[510]=>$cc,$z[810]=>$ca,$z[811]=>$ca,$z[63]=>$z[812],
$z[813]=>$z[814],$z[815]=>$z[816],$z[624]=>0,);foreach(qw(datadir filelock templatedir1 templatedir2 templatedir3 archive))
{if(ref($ab{$_})){next;}$ab{$_}="$cc/$ab{$_}"if(index($ab{$_},$z[29])
==0);$ab{$_}=~s|\\|/|g;1 while$ab{$_}=~s|/[^/]+/\.\./|/|;}&mh($ae{$z[200]},
\%ac,1);if(!$ac{$z[817]}){&ak($z[818]);}foreach(grep/^dir_/,
keys%ac){$ac{$_}="$cc/$ac{$_}"if index($ac{$_},$z[29])==0;$ac{$_}
=~tr|\\|/|;1 while$ac{$_}=~s|/[^/]+/\.\.||;}foreach(qw(prog_name prog_name2 prog_ver cgidir cgiurl publish_fileext))
{$ad{$z[514].$_}=$ab{$_};}foreach(qw(url_help reg1 reg2 reg3))
{$ad{$z[514].$_}=$ac{$_};}$ad{$z[27]}=$ac{$z[27]};$ad{$z[719]}
=$ac{$z[720]};$ad{$z[721]}=join$z[819],grep{$_}$ab{$z[0]},$ac{$z[722]};
$ad{$z[820]}||=$ac{$z[722]};%ag=&pn;%ah=&po;}sub ak{my($pp)
=$ad{$z[131]};my($ff,$pq,$pr)=@_;my(%ps,$lv,$pt);$pq=&fj($pq);
$ad{$z[821]}||="#336699";%ps=($z[535]=>[("Can't find record # $pq",
"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[744]=>[("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:<p><font size=1>$pq</font>")],
$z[506]=>[("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). <p>For your reference, the filelock error was: '$pq'.")],
$z[509]=>[($z[822],$z[823])],$z[824]=>[("Warning: Program corrupted during upload!",
"This is usually caused by Mac FTP clients that have an \"Translate ISO characters\" setting enabled.<p>If you are using a Mac, try disabling this setting and re-uploading all the files, otherwise, contact support for assistance. ")],
$z[825]=>[("Publishing Error","The program cannot create or write to the file:<br><br><font size=1>$pq</font><br><br>Please ask your server administrator to make sure the publish directory and publish file(s) are writable.")],
$z[807]=>[("Program doesn't support mod_perl","Your server is running $ENV{MOD_PERL}<br><br>This program doesn't support mod_perl.  Please ask your server administrator to disable mod_perl for this program.")],
$z[805]=>[("This program can only be run through a web server.",
"")],$z[826]=>[($z[827],$z[828])],$z[829]=>[("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:<br><br><font size=1>$pq</font>")],
$z[830]=>[("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:<br><br><font size=1>$pq</font>")],
$z[292]=>[("File System Error!","The program is unable to access a required file. Please contact your server administrator or technical support for assistance. <p>The error was: $pq",
$pu)],);my($pv)=$ad{$z[831]}||$ps{$ff}[0]||"Program Message";
if($ps{$ff}[0]){$pt=$ps{$ff}[0];$lv=$ps{$ff}[1];}elsif($pq&&
$ff){$pt=&fj($ff);$lv=$pq;}else{$pt="Program Message";$lv=&fj($ff);
}if(!$ps{$ff}[1]){$lv=~s/\n/<br><br>\n/g;}if($ab{$z[486]}){
if(!$ENV{$z[806]}){$lv.="\n\nSTACK TRACE\n";}else{$lv.="<p><b>Stack Trace</b><br>";
}my$cy=0;while(my($ew,$dz,$fi)=(caller($cy++))[1,2,3]){if(!$ENV{$z[806]})
{$lv.=qq!($fi) called from ($ew) line ($dz)\n!;}else{$lv.=qq!<p>($fi) called from ($ew) line ($dz)<BR>\n!;
}}}if(!$ENV{$z[806]}){foreach($pt,$lv){s/<br>/\n/gm;s/<p>/\n\n/gm;
}foreach($pt,$lv){s/<[^>]*>//gm;}print"\n$ab{'prog_name'} v$ab{'prog_ver'}\n$pt\n$lv\n";
}else{if(!$ab{$z[624]}++){print"Cache-Control: no-cache\nPragma: no-cache\nExpires: -1\n";
print"Content-type: text/html\n\n";}my$pw=$z[832]if$pr;print 
qq|<!-- \n\n $ab{'prog_name'} v$ab{'prog_ver'} (License #$ad{'license_num'})\n Copyright (C) 2002 interactivetools.com, inc., All Rights Reserved\n http://www.interactivetools.com/\n\n This product is licensed to:\n\n $ac{'reg1'}\n $ac{'reg2'}\n\n-->\n<html>\n <head>\n  <title>$pv</title>\n  <meta name="robots" content="noindex,nofollow">\n </head>\n<body bgcolor="$ad{'ui_bgcolor'}" link="#000099" vlink="#000099" alink="#000099">\n<form method=post action="$pp">\n<table border=0 cellspacing=0 cellpadding=0 width=100% height=90%><tr><td align=center>\n<table border="0" cellpadding="0" cellspacing="0" width=350><tr><td bgcolor="#000000">\n<table border="0" cellpadding="6" cellspacing="1" width=100%><tr><td bgcolor="#FFFFFF">\n <font face="ms sans serif,arial" size=2>\n <p><b>$pt</b><br><br>\n $lv\n <p><div align=right><input type="submit" $pw value="  ok  "></div>\n </font>\n</td></tr></table>\n</td></tr></table>\n</td></tr></table>\n</form></body></html>\n|
;}if($ab{$z[486]}&&$ab{$z[301]}){if(!$ENV{$z[806]}){print"$ab{'debug_output'}\n";
}else{print"<p><font color=\"#66CCFF\">";print"<pre>$ab{'debug_output'}"
if($ab{$z[301]});print"</font>";}}if($ab{$z[833]}){rmdir($ab{$z[506]})
&&undef$ab{$z[833]};}if($ENV{$z[806]}){printf($z[834]."\n",time()-$^T);
print$z [835]."\n\n";}exit;}sub bt{my($ga,$ii,$px)=@_;if(defined
$ab{$z[133]}{$z[134]}{$ga.$px}){$ga.=$px;}&bu($ga,$ii);}sub 
am{my@py;my$cy;foreach$cy(1..3){my$pz=$ac{"sort${cy}field"};
next unless$pz;$pz="#$pz#"if$ac{"sort${cy}numeric"};$pz="-$pz"
if$ac{"sort${cy}reverse"};push@py,$pz;}$ae{$z[13]}{$z[169]}
=join($z[686],@py);}
# ----------------------------------------------------------------------------
#   Programming by interactivetools.com, inc. <info@interactivetools.com>
