#!/usr/bin/perl # ---------------------------------------------------------------------------- # Article Manager 1.2 # Copyright (C) 2002 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','312e32','73706172655f6669656c6473','45787069726564205' .'5736572','44697361626c6564','4e65772055736572','526567756c' .'61722055736572','41646d696e6973747261746f72','617263686976' .'65','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','737461747573','736561726368','69676' .'e6f72655f776f72645f626f756e646172696573','5c62','6b6579776' .'f7264','73756d6d617279','636f6e74656e74','7370617265','736' .'5617263685f6d61746368','6172745f','6172745f6669656c64','61' .'72745f7370617265','6172745f73756d6d617279','73756d6d617279' .'5f666f726d6174','6172745f636f6e74656e74','636f6e74656e745f' .'666f726d6174','6172745f64617465','646174655f666f726d6174', '6172745f74696d65','25733a253032642573','686f7572','6d696e', '616d706d','6361745f6e616d65','6361745f696d616765','6361745' .'f696d6167655f686569676874','6361745f696d6167655f7769647468', '6172745f7072696e7465725f75726c','616c6c6f775f6172745f66696' .'c656e616d65','66696c656e616d65','7075626c6973685f6172745f7' .'072696e7465725f66696c65707265666978','75726c5f696e646578', '64657461696c5f6c696e6b','7075626c6973685f6172745f66696c657' .'07265666978','7669657765725f70617468696e666f','76696577657' .'25f75726c','6172745f6e756d','3f617263686976653d','266e756d' .'3d','6172745f74797065','6c696e6b','75726c5f75706c6f6164','' .'7566696c655f646f63756d656e74','6172745f696d6167655f75726c', '63617074696f6e','726f77','726f775f73756d6d617279','726f775' .'f6c696e6b','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','6669656c6473','6e756d206372656174656420637265' .'617465645f6279207570646174656420757064617465645f6279206d6f' .'6e206461792079656172206e616d652073756d6d61727920636f6e7465' .'6e7420','73756d6d6172795f666f726d617420636f6e74656e745f666' .'f726d61742063617420','7566696c655f696d61676531207566696c65' .'5f696d61676532207566696c655f696d61676533207566696c655f696d' .'61676534207566696c655f696d61676535207566696c655f696d616765' .'36207566696c655f696d61676537207566696c655f696d616765382075' .'66696c655f696d61676539207566696c655f696d616765313020','636' .'17074696f6e312063617074696f6e322063617074696f6e33206361707' .'4696f6e342063617074696f6e352063617074696f6e362063617074696' .'f6e372063617074696f6e382063617074696f6e392063617074696f6e3' .'13020','686f7572206d696e20616d706d206f776e6572206c696e6b20' .'6172745f74797065207566696c655f646f63756d656e74206869646465' .'6e20','696d6167656e616d653120696d6167656e616d653220696d616' .'7656e616d653320696d6167656e616d653420696d6167656e616d65352' .'0696d6167656e616d653620696d6167656e616d653720696d6167656e6' .'16d653820696d6167656e616d653920696d6167656e616d65313020','' .'696d61676577696474685f696d6167653120696d61676577696474685f' .'696d6167653220696d61676577696474685f696d6167653320696d6167' .'6577696474685f696d6167653420696d61676577696474685f696d6167' .'653520696d61676577696474685f696d6167653620696d616765776964' .'74685f696d6167653720696d61676577696474685f696d616765382069' .'6d61676577696474685f696d6167653920696d61676577696474685f69' .'6d616765313020','696d6167656865696768745f696d6167653120696' .'d6167656865696768745f696d6167653220696d6167656865696768745' .'f696d6167653320696d6167656865696768745f696d6167653420696d6' .'167656865696768745f696d6167653520696d6167656865696768745f6' .'96d6167653620696d6167656865696768745f696d6167653720696d616' .'7656865696768745f696d6167653820696d6167656865696768745f696' .'d6167653920696d6167656865696768745f696d616765313020','7374' .'6174757320','737061726531207370617265322073706172653320737' .'0617265342073706172653520737061726536207370617265372073706' .'1726538207370617265392073706172653130207370617265313120737' .'0617265313220','7374616d7020','7566696c655f696d61676531312' .'07566696c655f696d6167653132207566696c655f696d6167653133207' .'566696c655f696d6167653134207566696c655f696d616765313520756' .'6696c655f696d6167653136207566696c655f696d61676531372075666' .'96c655f696d6167653138207566696c655f696d6167653139207566696' .'c655f696d6167653230207566696c655f696d6167653231207566696c6' .'55f696d6167653232207566696c655f696d6167653233207566696c655' .'f696d6167653234207566696c655f696d616765323520','696d616765' .'6e616d65313120696d6167656e616d65313220696d6167656e616d6531' .'3320696d6167656e616d65313420696d6167656e616d65313520696d61' .'67656e616d65313620696d6167656e616d65313720696d6167656e616d' .'65313820696d6167656e616d65313920696d6167656e616d6532302069' .'6d6167656e616d65323120696d6167656e616d65323220696d6167656e' .'616d65323320696d6167656e616d65323420696d6167656e616d653235' .'20','696d61676577696474685f696d616765313120696d61676577696' .'474685f696d616765313220696d61676577696474685f696d616765313' .'320696d61676577696474685f696d616765313420696d6167657769647' .'4685f696d616765313520696d61676577696474685f696d61676531362' .'0696d61676577696474685f696d616765313720696d616765776964746' .'85f696d616765313820696d61676577696474685f696d6167653139206' .'96d61676577696474685f696d616765323020696d61676577696474685' .'f696d616765323120696d61676577696474685f696d616765323220696' .'d61676577696474685f696d616765323320696d61676577696474685f6' .'96d616765323420696d61676577696474685f696d616765323520','69' .'6d6167656865696768745f696d616765313120696d6167656865696768' .'745f696d616765313220696d6167656865696768745f696d6167653133' .'20696d6167656865696768745f696d616765313420696d616765686569' .'6768745f696d616765313520696d6167656865696768745f696d616765' .'313620696d6167656865696768745f696d616765313720696d61676568' .'65696768745f696d616765313820696d6167656865696768745f696d61' .'6765313920696d6167656865696768745f696d616765323020696d6167' .'656865696768745f696d616765323120696d6167656865696768745f69' .'6d616765323220696d6167656865696768745f696d616765323320696d' .'6167656865696768745f696d616765323420696d616765686569676874' .'5f696d616765323520','66696c656e616d6520','7370617265313320' .'7370617265313420737061726531352073706172653136207370617265' .'313720737061726531382073706172653139207370617265323020','6' .'3617074696f6e31312063617074696f6e31322063617074696f6e31332' .'063617074696f6e31342063617074696f6e31352063617074696f6e313' .'62063617074696f6e31372063617074696f6e31382063617074696f6e3' .'1392063617074696f6e32302063617074696f6e32312063617074696f6' .'e32322063617074696f6e32332063617074696f6e32342063617074696' .'f6e3235','736f72746279','2d237374616d7023','7075626c697368' .'5f737562','6d656e755f73756273','6572617365','6c697374','74' .'656d70','4372656174652041727469636c65','5f7772697465725f6d' .'656e75732e68746d6c','74656d702e646174','43617465676f727920' .'456469746f72','5f6361745f6d656e75732e68746d6c','6361746567' .'6f72792e646174','6e756d206372656174656420637265617465645f6' .'279207570646174656420757064617465645f6279206e616d6520736f7' .'264657220','74656d706c6174655f66696c652061727469636c655f74' .'656d706c6174655f66696c6520686561646c696e655f74656d706c6174' .'655f66696c6520','7566696c655f696d616765207075625f66696c657' .'07265666978207075625f66696c657072656669785f737065636966792' .'0','706572706167655f696e64657820706572706167655f686561646c' .'696e65732068696464656e207072696e7465725f74656d706c6174655f' .'66696c6520','696d61676577696474685f696d61676520696d6167656' .'865696768745f696d616765207075625f706572706167655f737065636' .'96679','23736f7264657223','41726368697665204d616e61676572', '5f617263686976655f6d656e75732e68746d6c','617263686976652e6' .'46174','6e756d206372656174656420637265617465645f6279207570' .'646174656420757064617465645f6279206e616d6520636f756e74','2' .'36e756d23','6163636f756e74','5f6163636f756e745f6d656e75732' .'e68746d6c','6163636f756e742e6461742e636769','6e756d2063726' .'56174656420637265617465645f6279207570646174656420757064617' .'465645f6279206e616d652069642070772061636c206e6f74657320636' .'1747320616c6c5f63617473','6e616d65206964','73657373696f6e', '73657373696f6e2e6461742e636769','7365747570','5f7365747570' .'5f6d656e75732e68746d6c','73657475702e6461742e636769','6e75' .'6d207469746c65626172','20636f6e6669726d5f657261736520636f6' .'e6669726d5f736176656420636f6e6669726d5f6572617365642073657' .'475705f7761726e696e67','2075706c6f61646c696d69742075706c6f' .'61646d61782075706c6f61645f6865696768742075706c6f61645f7769' .'6474682075706c6f6164657874206c686f7572206c686f75725f6f6666' .'736574206c6d696e206c6d696e5f6f6666736574207265673120726567' .'322072656733206420632069','206469725f62617365206469725f757' .'06c6f6164206469725f7075626c697368','2075726c5f696d61676520' .'75726c5f68656c702075726c5f75706c6f61642075726c5f7075626c69' .'73682075726c5f6c6f676f6666207365617263685f75726c','2064656' .'661756c745f6175746f666f726d617420616c6c6f775f68746d6c20616' .'c6c6f775f6172745f7479706573206175746f5f7075626c697368','20' .'7075626c6973685f696e6465785f66696c65707265666978207075626c' .'6973685f686561646c696e655f66696c65707265666978207075626c69' .'73685f6361745f66696c65707265666978207075626c6973685f636174' .'5f686561646c696e655f66696c65707265666978207075626c6973685f' .'6172745f66696c65707265666978207075626c6973685f6172745f7072' .'696e7465725f66696c65707265666978207075626c6973685f6361745f' .'6c6973745f66696c65707265666978207075626c6973685f73616d706c' .'65725f66696c65707265666978207075626c6973685f66696c65657874', '207075626c6973685f696e6465785f717479207075626c6973685f6865' .'61646c696e655f717479207075626c6973685f6361745f717479207075' .'626c6973685f6361745f686561646c696e655f717479207075626c6973' .'685f73616d706c65725f717479','207075626c6973685f696e6465782' .'07075626c6973685f686561646c696e6573207075626c6973685f63617' .'4207075626c6973685f6361745f686561646c696e6573207075626c697' .'3685f61727469636c65207075626c6973685f7072696e7465722070756' .'26c6973685f6c6973745f6f665f63617473207075626c6973685f73616' .'d706c6572','207075626c6973685f7365617263685f666f726d5f6669' .'6c65707265666978207075626c6973685f7365617263685f666f726d', '20676361745f6e616d65','20676c6f62616c5f75706461746564','20' .'736669656c645f6e616d653120736669656c645f6e616d653220736669' .'656c645f6e616d653320736669656c645f6e616d653420736669656c64' .'5f6e616d653520736669656c645f6e616d653620736669656c645f6e61' .'6d653720736669656c645f6e616d653820736669656c645f6e616d6539' .'20736669656c645f6e616d65313020736669656c645f6e616d65313120' .'736669656c645f6e616d653132','20736669656c645f6f72646572312' .'0736669656c645f6f726465723220736669656c645f6f7264657233207' .'36669656c645f6f726465723420736669656c645f6f726465723520736' .'669656c645f6f726465723620736669656c645f6f72646572372073666' .'9656c645f6f726465723820736669656c645f6f7264657239207366696' .'56c645f6f72646572313020736669656c645f6f7264657231312073666' .'9656c645f6f726465723132','20736669656c645f7479706531207366' .'69656c645f747970653220736669656c645f747970653320736669656c' .'645f747970653420736669656c645f747970653520736669656c645f74' .'7970653620736669656c645f747970653720736669656c645f74797065' .'3820736669656c645f747970653920736669656c645f74797065313020' .'736669656c645f74797065313120736669656c645f747970653132','2' .'07075626c6973685f73796e6469636174655f66696c657072656669782' .'07075626c6973685f73796e6469636174655f717479207075626c69736' .'85f73796e64696361746520776562666565645f67656e5f61637469766' .'5','2076206272616e64696e6720666f6f746572207374617469635f61' .'7263686976655f7061676573207669657765725f75726c207669657765' .'725f70617468696e666f20616c6c6f775f6172745f66696c656e616d65', '20736669656c645f6e616d65313320736669656c645f6e616d65313420' .'736669656c645f6e616d65313520736669656c645f6e616d6531362073' .'6669656c645f6e616d65313720736669656c645f6e616d653138207366' .'69656c645f6e616d65313920736669656c645f6e616d653230','20736' .'669656c645f6f72646572313320736669656c645f6f726465723134207' .'36669656c645f6f72646572313520736669656c645f6f7264657231362' .'0736669656c645f6f72646572313720736669656c645f6f72646572313' .'820736669656c645f6f72646572313920736669656c645f6f726465723' .'230','20736669656c645f74797065313320736669656c645f74797065' .'313420736669656c645f74797065313520736669656c645f7479706531' .'3620736669656c645f74797065313720736669656c645f747970653138' .'20736669656c645f74797065313920736669656c645f747970653230', '20736f7274316669656c6420736f7274317265766572736520736f7274' .'316e756d6572696320736f7274326669656c6420736f72743272657665' .'72736520736f7274326e756d6572696320736f7274336669656c642073' .'6f7274337265766572736520736f7274336e756d65726963','2073756' .'d6d6172795f6e616d6520636f6e74656e745f6e616d652073756d6d617' .'2795f7479706520636f6e74656e745f747970652073756d6d6172795f6' .'56e61626c656420636f6e74656e745f656e61626c6564','2073666965' .'6c645f656e61626c65643120736669656c645f656e61626c6564322073' .'6669656c645f656e61626c65643320736669656c645f656e61626c6564' .'3420736669656c645f656e61626c65643520736669656c645f656e6162' .'6c65643620736669656c645f656e61626c65643720736669656c645f65' .'6e61626c65643820736669656c645f656e61626c65643920736669656c' .'645f656e61626c6564313020736669656c645f656e61626c6564313120' .'736669656c645f656e61626c6564313220736669656c645f656e61626c' .'6564313320736669656c645f656e61626c6564313420736669656c645f' .'656e61626c6564313520736669656c645f656e61626c65643136207366' .'69656c645f656e61626c6564313720736669656c645f656e61626c6564' .'313820736669656c645f656e61626c6564313920736669656c645f656e' .'61626c65643230','48415348','44425f436f756e74203a2043616e27' .'74206f70656e20','44425f5365656b203a20546865206669727374206' .'17267756d656e74206d757374206265206120484153482072656665726' .'56e636521','44425f5365656b203a20546865207365636f6e64206172' .'67756d656e74206d75737420626520612048415348207265666572656e' .'636521','44425f5365656b203a204e6f207365656b206669656c64207' .'761732073706563696669656421','44425f5365656b203a204572726f' .'722c2043616e2774206f70656e20','43','6669656c646e','44425f4' .'c697374203a2054686520666972737420617267756d656e74206d75737' .'420626520612048415348207265666572656e636521','434f4445','4' .'4425f4c697374203a20546865207365636f6e6420617267756d656e742' .'06d757374206265206120434f4445207265666572656e636521','4442' .'5f4c697374203a2054686520666f7572746820617267756d656e74206d' .'75737420626520612048415348207265666572656e636521','44425f4' .'c697374203a20416e6f6e207375622024726f77636f6465206973206e6' .'f7420646566696e656421','44425f4c697374203a204e6f2064617461' .'66696c6520646566696e656420696e2064617461626173652064656669' .'6e6974696f6e20282544424465662921','44425f4c697374203a20436' .'16e2774206f70656e20','6e','2d','44425f4c697374203a20444244' .'65662d3e736f7274627920636f6e7461696e7320756e6b6e6f776e2066' .'69656c64206e616d6520','a1','44425f4c69737450616765203a2054' .'686520666972737420617267756d656e74206d75737420626520612048' .'415348207265666572656e636521','44425f4c69737450616765203a2' .'054686520746869726420617267756d656e74206d75737420626520612' .'0434f4445207265666572656e636521','44425f4c6973745061676520' .'3a20416e6f6e2073756220246d61746368636f6465206973206e6f7420' .'646566696e656421','44425f4c69737450616765203a204e6f2064617' .'46166696c6520646566696e656420696e2064617461626173652064656' .'6696e6974696f6e20282544424465662921','44425f4c697374506167' .'65203a2044424465662d3e736f7274627920636f6e7461696e7320756e' .'6b6e6f776e206669656c64206e616d6520','44425f4c6973745361766' .'5203a2044424465662d3e736f7274627920636f6e7461696e7320756e6' .'b6e6f776e206669656c64206e616d6520','414c4c','bf25303278','' .'7072696e7420224c6f636174696f6e3a20687474703a2f2f7777772e69' .'6e746572616374697665746f6f6c732e636f6d2f6e6e223b','5f5f454' .'e445f5f','44425f416464203a2054686520666972737420617267756d' .'656e74206d75737420626520612048415348207265666572656e636521', '44425f416464203a20546865207365636f6e6420617267756d656e7420' .'6d75737420626520612048415348207265666572656e636521','44425' .'f416464203a204572726f722c2043616e2774206f70656e20','736f72' .'646572','44425f416464203a2043616e277420777269746520746f20', '44425f4c6f6164203a2054686520666972737420617267756d656e7420' .'6d75737420626520612048415348207265666572656e636521','44425' .'f4c6f6164203a20546865207365636f6e6420617267756d656e74206d7' .'5737420626520612048415348207265666572656e636521','44425f4c' .'6f6164203a204e6f207265636f7264206e756d62657220776173207370' .'6563696669656421','44425f4c6f6164203a204572726f722c2043616' .'e2774206f70656e20','44425f44656c203a2054686520666972737420' .'617267756d656e74206d75737420626520612048415348207265666572' .'656e636521','44425f44656c203a20546865207365636f6e642061726' .'7756d656e74206d7573742062652061207265636f7264206e756d62657' .'221','44425f44656c203a204572726f722c2043616e2774206f70656e' .'20','44425f44656c203a2043616e277420777269746520746f20','44' .'425f53617665203a2054686520666972737420617267756d656e74206d' .'75737420626520612048415348207265666572656e636521','44425f5' .'3617665203a20546865207365636f6e6420617267756d656e74206d757' .'37420626520612048415348207265666572656e636521','44425f5361' .'7665203a204e6f207265636f7264206e756d6265722077617320737065' .'63696669656421','44425f53617665203a204572726f722c2043616e2' .'774206f70656e20','44425f53617665203a2043616e27742077726974' .'6520746f20','66696c656c6f636b696e67','6e65737465645f6c6f63' .'6b73','66696c656c6f636b','6e6f7772697465','64617461646972', '73657276657262757379','4152524159','556e6b6e6f776e20666965' .'6c642022','2220696e20636f6e646974696f6e3c62723e3c62723e','' .'4c494b45','4e4f54204c494b45','3d3d','3c','3e','3c3d','3e3d', '213d','4245545745454e','4e4f54204245545745454e','494e','28', '207c7c20','29','4e4f5420494e','2128','556e6b6e6f776e206f70' .'657261746f722022','284066203d2073706c6974282fa12f2929','6d' .'792040663b2020407b247265635f6e6f7061636b7d203d206772657020' .'7b20','20262620','207d20407b247265635f6e6f7061636b7d3b','6' .'d792040663b2020666f72656163682028407b247265635f6e6f7061636' .'b7d29207b202069662028','29207b20246d617463685f6e6f7061636b' .'7b24665b305d7d2b2b3b207d207d','3d','766172','436f756c646e2' .'7742066696e6420','21','66696c6573','64697273','646972203a2' .'0556e6b6e6f776e2066696c652074797065203a20','26','646562756' .'75f6f7574707574','6370203a2063616e2774207265616420','63702' .'03a2063616e277420777269746520','434f4e54454e545f4c454e4754' .'48','51554552595f535452494e47','52656164466f726d203a20496e' .'7075742065786365656473206d617820696e707574206c696d6974206f' .'6620','434f4e54454e545f54595045','524551554553545f4d455448' .'4f44','504f5354','5f70617468','5f66696c65','5f657874','474' .'554','74727565','56','4d','41','44','6e6f2d6361636865','63' .'61636865','706c61696e','54656d706c6174653a20556e6b6e6f776e' .'2074656d706c61746520666c616720','54656d706c617465203a204e6' .'f2074656d706c6174652066696c6520776173207370656369666965642' .'1','54656d706c617465203a20546865207365636f6e6420617267756d' .'656e74206d75737420626520612048415348207265666572656e636520' .'6f7220756e646566696e656421','54656d706c617465203a2054656d7' .'06c6174652066696c6520','20636f756c64206e6f7420626520666f75' .'6e6421','54656d706c617465203a20436f756c646e2774206f70656e2' .'0','776562726f6f74','444f43554d454e545f524f4f54','696e7369' .'64655f737369','5f7565','5f6865','5f6e627370','5f6a65','546' .'56d706c61746543656c6c203a204e6f2074656d706c6174652063656c6' .'c207761732073706563696669656421','54656d706c61746543656c6c' .'203a2054656d706c6174652063656c6c20','206973206e6f742064656' .'6696e656421','54656d706c61746543656c6c203a2054686520736563' .'6f6e6420617267756d656e74206d757374206265206120484153482072' .'65666572656e6365206f7220756e646566696e656421','5a','61','7' .'a','2b','422a','4d494d453634203a204e6f7468696e6720746f2064' .'65636f6465','252525303278','536574436f6f6b6965203a20436f6f' .'6b6965206e616d65206d75737420626520737065636966696564','536' .'574436f6f6b6965203a2045787069726520446174652069736e2774206' .'96e207365636f6e6473207573696e672074696d6528293b','30','657' .'870697265733d','706174683d','646f6d61696e3d','736563757265' .'3b20','5365742d436f6f6b69653a20','485454505f434f4f4b4945', '6c616e6775616765','6f7264696e616c73','20307468','20317374', '20326e64','20337264','20347468','20357468','20367468','203' .'77468','20387468','20397468','31307468','31317468','313274' .'68','31337468','31347468','31357468','31367468','31377468', '31387468','31397468','32307468','32317374','32326e64','323' .'37264','32347468','32357468','32367468','32377468','323874' .'68','32397468','33307468','33317374','7765656b5f66756c6c', '7765656b5f61626272','6d6f6e74685f66756c6c','6d6f6e74685f61' .'626272','25','62','42','63','256d2f25642f25792025483a254d3' .'a2553','256120256220256520255420255a202559','64','25303264', '256d2f25642f2579','65','253264','68','48','49','6a','25303' .'364','6b','6c','6d','6f','70','50','71','72','25493a254d3a' .'2553202570','52','25483a254d','73','53','74','54','25483a2' .'54d3a2553','55','77','57','78','58','79','59','25303464','' .'44617465537472696e67203a2054696d652076616c7565206d75737420' .'626520616e20696e7465676572','4a616e','466562','4d6172','41' .'7072','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','5c62283f3a5b772d5d2b5b772d2e5d292a5b772d5d2b40', '283f3a5b772d5d2b5b772d2e5d292a5b772d5d2b2e5b412d5a612d7a5d' .'7b322c387d62','66726f6d','706f70335f75736572','706f70335f7' .'0617373','534d54505f706f703361757468','617574686f72697a656' .'4','706f70335f686f7374','706f70335f706f7274','706f70335f74' .'696d656f7574','636769646972','75695f73756273','5f','656469' .'74','636f6e6669726d5f6572617365','7569','706167656e756d','' .'64617465','63726561746564','5f6267636f6c6f72','23454545454' .'646','23444444444545','5f6d656e755f686561646572','5f6d656e' .'755f6e616d65','6d61785f7265636f726473','6572726f725f6d6178' .'5f7265636f726473','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', '7061737374687275','6c6f676f6666','75695f6c6f67696e5f696e74' .'6572666163653a2074656d706c61746563656c6c20','686561646572', '6c6f67696e5f6d657373616765','666f6f746572','75726c5f6c6f67' .'6f6666','7374696d65','6c74696d65','656e765f7065726c5f6f73', '656e765f7065726c5f766572','656e765f6d6f645f7065726c','656e' .'765f72656d6f74655f686f7374','656e765f72656d6f74655f6164647' .'2','656e765f636769646972','73656e646d61696c5f726f77','2f75' .'73722f6c69622f73656e646d61696c','2f7573722f62696e2f73656e6' .'46d61696c','2f7573722f7362696e2f73656e646d61696c','2f75737' .'22f6c6f63616c2f62696e2f73656e646d61696c','2f7362696e2f7365' .'6e646d61696c','2f62696e2f73656e646d61696c','2f6574632f7365' .'6e646d61696c','73656e646d61696c5f6c697374','74616231','736' .'57475705f7761726e696e67','5f73657475705f746573746d61696c2e' .'68746d6c','746f','546865206162696c69747920746f20616c746572' .'205365747570204f7074696f6e7320686173206265656e2072656d6f76' .'65642066726f6d206f75722064656d6f2076657273696f6e2e2020','2' .'0776f756c6420616c6c6f7720796f7520746f206368616e676520616e7' .'9206f66207468657365206669656c64732e','73617665645f74616231', '72656733','496e76616c69642050726f64756374204944213c62723e', '596f75206d75737420656e74657220796f75722050726f647563742049' .'44213c62723e','72656732','596f75206d75737420656e7465722079' .'6f757220646f6d61696e206e616d65213c62723e','72656731','596f' .'75206d75737420656e74657220796f757220636f6d70616e79206e616d' .'65213c62723e','5f72656731','5f72656732','5f72656733','7461' .'6239','5f6c6963656e73655f6e756d','25303764','6373756d','23', '73756d6d6172795f74797065','636f6e74656e745f74797065','5f69' .'6d61676575726c','75726c5f696d616765','5f75695f7469746c65', '7469746c65626172','5f75695f666f6f746572','5f75726c5f68656c' .'70','75726c5f68656c70','7075626c69736865645f616c6c','496e7' .'4657266616365203a204e6f2074656d706c6174652063656c6c2077617' .'32073706563696669656421','496e74657266616365203a2054686520' .'7365636f6e6420617267756d656e74206d757374206265206120484153' .'48207265666572656e636521','6d656e756261725f61636c','6d656e' .'75626172','5f6f6e6c79','5f63757365725f6964','696e746572666' .'16365','3c212d2d','2076','20284275696c643a20','70726f645f6' .'964','70726f675f6275696c64','4c6963656e73652023','207e20', '457865637574652074696d653a2025303164207365636f6e6473','2d2' .'d3e','64656d6f5f6d657373616765','73657475705f74616273','74' .'61625f6e756d','7461625f6e616d65','7461625f756e73656c656374' .'6564','7461625f73656c6563746564','5f6865616465725f746162', '7461625f626172','7461625f6c697374','4334','696e636c7564657' .'3','61736466','75726c','696d675f616c69676e','61727469636c6' .'55f656469746f72','696d6167655f616c69676e6d656e74','7269676' .'874','696d675f75726c','696d675f63617074696f6e','696d675f68' .'6569676874','696d675f7769647468','696d675f6e6f63617074696f' .'6e','3c6d657461206e616d653d2267656e657261746f722220636f6e7' .'4656e743d22','2c20687474703a2f2f7777772e696e74657261637469' .'7665746f6f6c732e636f6d223e','3c212d2d204c61737420557064617' .'4656420','207769746820','20627920696e746572616374697665746' .'f6f6c732e636f6d202d2d3e','5f5f4449455f5f','5f5f5741524e5f5' .'f','5f75695f6267636f6c6f72','6267636f6c6f72','2e2e2f646174' .'612f','2e2e2f646174612f66696c656c6f636b2e6c6f636b','256220' .'256f2c202559202d2025483a254d3a2553','25622025652c202559','' .'74696d655f666f726d6174','6e6f5f7765625f736572766572','5343' .'524950545f4e414d45','6d6f645f7065726c','4d4f445f5045524c', '616c6c6f775f6d6f645f7065726c','63676975726c','63676966696c' .'65','2e2e2f74656d706c61746573','74656d706c61746564697232', '2e2e2f74656d706c617465732f696e74657266616365','74656d706c6' .'1746564697233','2e2e2f5f736f757263655f696d61676573','69','' .'506c6561736520696e7374616c6c207468652070726f6772616d206669' .'7273742062792072756e6e696e672061646d696e2e636769','203a20', '5f70726f675f6e616d65','75695f6267636f6c6f72','536572766572' .'20746f6f206275737921','54686520736572766572206973206375727' .'2656e746c7920746f6f206275737920746f2070726f6365737320796f7' .'5722072657175657374207269676874206e6f772e2020506c656173652' .'0776169742061206d6f6d656e7420616e64207468656e2074727920616' .'761696e2e','6d6163667470','7075626c697368','6e6f68656c70', '4e6f2048656c7020417661696c61626c65','536f7272792c206e6f206' .'8656c702069732063757272656e746c7920617661696c61626c6520666' .'f722074686973206170706c69636174696f6e2e2020506c65617365206' .'36f6e7461637420796f75722073797374656d2061646d696e697374726' .'1746f7220666f7220617373697374616e63652e','4e6f207375636820' .'66696c65206f72206469726563746f7279','5065726d697373696f6e2' .'064656e696564','75695f7469746c65','206f6e436c69636b3d22776' .'96e646f772e636c6f736528293b2220','3c212d2d2045786563757465' .'2074696d653a2025303164207365636f6e6473202d2d3e','3c212d2d2' .'0506f776572656420627920696e746572616374697665746f6f6c732e6' .'36f6d2028696e666f40696e746572616374697665746f6f6c732e636f6' .'d29202d2d3e','20' );for(@z){$_=pack('H*',$_)}}use Socket;use Time::Local;%aa= ();%ab=();%ac=();%ad=();%ae=();%af=();%ag=();%ah=();$aa{$z[0]} =$z[1];$aa{$z[2]}=$z[3];$aa{$z[4]}=$z[5];$aa{$z[6]}=20;@ai[0,1,2,3,9] =($z[7],$z[8],$z[9],$z[10],$z[11]);$SIG{__DIE__}=\&aj;srand; $|=1;$^T=time();&ak;sub ny{;}MAIN:;&al();my$am=length$af{$z[12]} ?int$af{$z[12]}:undef;if($am){$ad{$z[13]}{$z[14]}="archive$am.dat"; }my%an;my$ao;($af{$z[15]})=($af{$z[15]}=~/(\d+)/)if$af{$z[15]}; $an{$z[16]}=$af{$z[15]};my($ap,$aq);$ap=sprintf($z[17],$af{$z[18]} ,$af{$z[19]},$af{$z[20]})if($af{$z[18]}&&$af{$z[19]}&&$af{$z[20]} );$aq=sprintf($z[17],$af{$z[21]},$af{$z[22]},$af{$z[23]})if ($af{$z[21]}&&$af{$z[22]}&&$af{$z[23]});$ac{$z[24]}=$ab{$z[25]}; $ac{$z[26]}=$ab{$z[27]}.$ab{$z[28]}.$z[29].$ab{$z[30]};$ac{$z[31]} =$ab{$z[32]}.$z[29].$ab{$z[30]};$ac{$z[33]}=$ab{$z[34]}.$z[29] .$ab{$z[30]};$ac{$z[35]}=$ab{$z[36]}.$z[29].$ab{$z[30]};$ac{$z[37]} =$ab{$z[38]}.$z[29].$ab{$z[30]};$ac{$z[39]}=&ar($aa{$z[40]}, &as($ab{$z[39]}))if($ab{$z[39]});$ac{$z[41]}=$ab{$z[41]};if ($af{$z[15]}){$ac{$z[42]}=$ab{$z[32]}.$af{$z[15]}.$z[29].$ab{$z[30]}; ;$ac{$z[43]}=$ab{$z[44]}.$af{$z[15]}.$z[29].$ab{$z[30]};}else {$ac{$z[42]}=$ac{$z[31]};$ac{$z[43]}=$ac{$z[33]};}if(!keys%af) {$ao=sub{my$at=shift;return if$at->{$z[45]};$ac{$z[46]}.=$z[47].$at->{$z[48]}.$z[49].$at->{$z[50]}; };&au($ad{$z[15]},$ao);&au($ad{$z[12]},sub{my$am=shift;$ac{$z[51]} .=$z[47].$am->{$z[48]}.$z[49].$am->{$z[50]};});print"Content-type: text/html\n\n"; print&av($z[52],{},$z[53],'',$ab{$z[54]});exit;}$af{$z[55]} ||=$z[56];$af{$z[57]}||=10;$af{$z[58]}||=1;my($aw);foreach$aw (sort keys%af){$ac{"in_$aw"}=$af{$aw};$ac{$z[59]}.="in_$aw" ." = ".$ac{"in_$aw"}."
";}my%ax;my$ay;foreach$ay('',$z[60], $z[61],$z[62]){opendir AB,$aa{$z[63]}.$z[64].$ay;%ax=(%ax,map {$ay.$_,1}grep{not-d"$aa{'templatedir1'}/$ay$_"}readdir(AB)); closedir AB;}unless($ax{$af{$z[55]}}){&aj($z[65]);}&av($af{$z[55]}, {},$z[53],'',$ab{$z[54]});my(%az,%ba,%bb,%bc,%bd,%be,%bf);$ao =sub{my%at=%{shift()};$az{$at{$z[48]}}=$at{$z[50]};$be{$at{$z[48]}} =$at{$z[66]};$bb{$at{$z[48]}}=$at{$z[45]};$ba{$at{$z[48]}}= $at{$z[67]}?"$ab{'url_upload'}$at{'ufile_image'}":"$ab{'url_image'}spacer.gif"; $bc{$at{$z[48]}}=$at{$z[68]};$bd{$at{$z[48]}}=$at{$z[69]};$ac{$z[46]} .=$z[47].$at{$z[48]}.$z[49].$at{$z[50]};if($at{$z[48]}){my$bg =$at{$z[70]}?$at{$z[71]}:$ab{$z[72]}.$at{$z[48]};$bf{$at{$z[48]}} =$ab{$z[27]}.$bg.$z[29].$ab{$z[30]};}else{$bf{$at{$z[48]}}= $ac{$z[26]};}};&au($ad{$z[15]},$ao);if($af{$z[15]}){$ac{$z[73]} =$bf{$af{$z[15]}};}else{$ac{$z[73]}=$ac{$z[26]};}&au($ad{$z[12]}, sub{my$am=shift;$ac{$z[51]}.=$z[47].$am->{$z[48]}.$z[49].$am->{$z[50]}; });my$bh;$ao=sub{my$bi=shift;return unless($bi->{$z[15]});return if($bi->{$z[74]}!=2);return if($bb{$bi->{$z[15]}});return if ($af{$z[15]}&&$af{$z[15]}!=$bi->{$z[15]});my$bj=sprintf($z[17], @{$bi}{qw/year mon day/});if($ap&&$aq){return unless($bj>=$ap &&$bj<=$aq);}elsif($ap){return unless($bj>=$ap);}elsif($aq) {return unless($bj<=$aq);}my$bk;my$bl=($ae{$z[75]}{$z[76]}? '':$z[77]).quotemeta($af{$z[78]});foreach($z[50],$z[79],$z[80], map{$z[81].$_}1..$aa{$z[6]}){$bk++if($bi->{$_}=~m/$bl/i);}return if(defined$af{$z[78]}&¬$bk);$an{$z[82]}++;if($an{$z[82]} >=$af{$z[58]}&&$an{$z[82]}<$af{$z[58]}+$af{$z[57]}){my$bm;foreach (keys%{$bi}){$bm->{$z[83].$_}=$bi->{$_};}foreach(1..$aa{$z[6]}) {$bm->{$z[84].$_}=$bm->{$z[85].$_}}$bm->{$z[86]}=~s|\n|
\n|g if$bi->{$z[87]};$bm->{$z[88]}=~s|\n|
\n|g if$bi->{$z[89]}; $bm->{$z[90]}=&ar($aa{$z[91]},$bi->{$z[18]},$bi->{$z[19]}-1, $bi->{$z[20]});$bm->{$z[92]}=sprintf($z[93],$bi->{$z[94]}|| 12,$bi->{$z[95]},$bi->{$z[96]});$bm->{$z[16]}=$bi->{$z[15]}; $bm->{$z[97]}=$az{$bi->{$z[15]}};$bm->{$z[98]}=$ba{$bi->{$z[15]}}; $bm->{$z[99]}=$bc{$bi->{$z[15]}};$bm->{$z[100]}=$bd{$bi->{$z[15]}}; $bm->{$z[101]}=$ab{$z[27]}.($ab{$z[102]}&&$bi->{$z[103]}?$ab{$z[104]} .$bi->{$z[103]}:$ab{$z[104]}.$bi->{$z[48]}).$z[29].$ab{$z[30]}; $bm->{$z[42]}=$ab{$z[32]}.$bi->{$z[15]}.$z[29].$ab{$z[30]}; $bm->{$z[43]}=$ab{$z[44]}.$bi->{$z[15]}.$z[29].$ab{$z[30]}; $bm->{$z[105]}=$bf{$bi->{$z[15]}};$bm->{$z[106]}=$ab{$z[27]} .($ab{$z[102]}&&$bi->{$z[103]}?$bi->{$z[103]}:$ab{$z[107]}. $bi->{$z[48]}).$z[29].$ab{$z[30]};if(defined$am){if($ab{$z[108]}) {$bm->{$z[106]}=$ab{$z[109]}.$z[64].$am.$z[64].$bm->{$z[110]}; }else{$bm->{$z[106]}=$ab{$z[109]}.$z[111].$am.$z[112].$bm->{$z[110]}; }}if($bi->{$z[113]}==3){$bm->{$z[114]}="http://$bi->{'link'}" unless($bi->{$z[114]}=~m|^\w+://|);$bm->{$z[106]}=$bi->{$z[114]} }if($bi->{$z[113]}==4){$bm->{$z[106]}=$ab{$z[115]}.$bi->{$z[116]}; }foreach(1..25){$bm->{$z[117].$_}=$ab{$z[115]}.$bi->{"ufile_image$_"}; $bm->{$z[118].$_}=$bi->{$z[118].$_};$bm->{$z[69].$_}=$bi->{$z[69] .$_};$bm->{$z[68].$_}=$bi->{$z[68].$_};}$bm->{$z[86]}=&bn($bm->{$z[86]}, $bm,'');$bm->{$z[88]}=&bn($bm->{$z[88]},$bm,'');my$bo=($z[119], $z[120],$z[121],$z[122])[$bi->{$z[113]}-1];$an{$z[123]}.=&bp($bo, $bm,($bh++% 2==0)?'':$z[124]);}};&au($ad{$z[13]},$ao);if(!$an{$z[123]}) {$an{$z[123]}=&bq($z[125],{});$an{$z[82]}=0;}else{if($af{$z[58]} >1){my$br=$af{$z[58]}-$af{$z[57]};$br=1 if$br<1;$an{$z[126]} =&bq($z[126],{$z[127]=>$ac{$z[128]}.$z[129].&bs({%af,$z[58] =>$br})});}elsif(defined$aa{$z[130]}{$z[131]}{$z[132]}){$an{$z[126]} =&bq($z[132],{});}if($an{$z[82]}>=$af{$z[58]}+$af{$z[57]}){ my$bt=$af{$z[58]}+$af{$z[57]};$an{$z[133]}=&bq($z[133],{$z[134] =>$ac{$z[128]}.$z[129].&bs({%af,$z[58]=>$bt})});}elsif(defined $aa{$z[130]}{$z[131]}{$z[135]}){$an{$z[133]}=&bq($z[135],{}); }}$an{$z[136]}=&bu($an{$z[82]}/$af{$z[57]});$an{$z[137]}=&bu($af{$z[58]} /$af{$z[57]});$an{$z[138]}=$af{$z[58]};$an{$z[139]}=&bv($af{$z[58]} +$af{$z[57]}-1,$an{$z[82]});if($af{$z[15]}){$an{$z[97]}=$az{$af{$z[15]}}; $an{$z[140]}=&ar($aa{$z[40]},&as($be{$af{$z[15]}}))if$be{$af{$z[15]}}; }else{$an{$z[97]}=$ab{$z[41]};$an{$z[140]}=&ar($aa{$z[40]}, &as($ab{$z[39]}))if$ab{$z[39]};}print"Content-type: text/html\n\n"; print&av($af{$z[55]},\%an,$z[53],'',$ab{$z[54]});exit;sub ak {my$bw=$0;$bw=~s/.*[\\\/]//;my@bx=($0,$ENV{$z[141]});my$by= (grep(/$cgifile$/i&&s/^(.*)[\\\/].*/$1/,@bx))[0];$by||=(($^O=~/mswin/i?`cd`:`pwd`)=~/(.*)/)[0]; $by=~s/\\/\//g;if(!$by){die("Can't determine cgi directory!\n"); }$ad{$z[13]}={$z[50]=>$z[13],$z[142]=>$z[143],$z[144]=>$z[145], $z[14]=>$z[146],$z[147]=>$z[148].$z[149].$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[75]=>$z[50],$z[166] =>$z[167],$z[168]=>\&bz,$z[169]=>[[$z[170],\&ca],[$z[171],\&cb ],],};$ad{$z[172]}={$z[50]=>$z[13],$z[142]=>$z[173],$z[144] =>$z[174],$z[14]=>$z[175],$z[147]=>$ad{$z[13]}{$z[147]},$z[75] =>$ad{$z[13]}{$z[75]},$z[166]=>$ad{$z[13]}{$z[166]},$z[169] =>[[$z[171],\&cb],],};$ad{$z[15]}={$z[50]=>$z[15],$z[142]=> $z[176],$z[144]=>$z[177],$z[14]=>$z[178],$z[147]=>$z[179].$z[180]. $z[181].$z[182].$z[183],$z[75]=>$z[50],$z[166]=>$z[184],$z[168] =>\&cc,$z[169]=>[[$z[170],\&cd],[$z[171],\&ce],],};$ad{$z[12]} ={$z[50]=>$z[12],$z[142]=>$z[185],$z[144]=>$z[186],$z[14]=> $z[187],$z[147]=>$z[188],$z[75]=>$z[50],$z[166]=>$z[189],$z[169] =>[[$z[171],\&cf],],};$ad{$z[190]}={$z[50]=>$z[190],$z[144] =>$z[191],$z[14]=>$z[192],$z[147]=>$z[193],$z[75]=>$z[194], $z[166]=>$z[50],$z[169]=>[[$z[170],\&cg],[$z[171],\&ch],],}; $ad{$z[195]}={$z[50]=>$z[195],$z[14]=>$z[196],$z[147]=>$ad{$z[190]}{$z[147]}, };$ad{$z[197]}={$z[50]=>$z[197],$z[144]=>$z[198],$z[14]=>$z[199], $z[147]=>$z[200].$z[201].$z[202].$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] ,};1;;sub le{my$ad=$_[0];my($ci)="$aa{'datadir'}/$ad->{'datafile'}"; my(@cj);if(ref($ad)ne$z[223]){die"DB_Count : The first argument must be a HASH reference!\n"; }if(!$ad->{$z[14]}){die"DB_Count : No datafile defined in database definition (\%DBDef)!\n"; }unless(-e$ci){return(0);}&ck;open(AA,"<$ci")||die($z[224]."'$ci'. $!\n"); @cj=grep/^\d/,;close(AA);&cl;my$bh=@cj;return$bh||0;}sub lv{my$ad=$_[0];if(ref($ad)ne$z[223]){die$z[225]."\n";}if(defined($_[1]) &&ref($_[1])ne$z[223]){die$z[226]."\n";}if(!$_[2]){die$z[227]."\n"; }my($ci)="$aa{'datadir'}/$ad->{'datafile'}";my(@cm)=split(/ /,$ad->{$z[147]}); my($an)=$_[1]if defined($_[1]);my($cn)=grep{$cm[$_]eq$_[2]} (0..$#cm);my($co)=$_[3];my($cp)=$_[4];my(@cj);my(@cq);unless (-e$ci){return(0);}if(-e$ci){&ck;open(AA,"<$ci")||die($z[228]."'$ci'. $!\n"); @cj=;close(AA);&cl;}foreach(@cj){/^(\d+)\¡/;($1&&$1>=$cp) ||next;s/[^¡]+$//;undef%$an if defined($an);@cq=split(/\¡/); next if($cq[$cn]ne$co);if(defined($an)){for(0..$#cm){$an->{$cm[$_]} =$cq[$_];$an->{$cm[$_]}=~s/¿([A-F0-9]{2})/pack($z[229],hex($1))/egix; }}return 1;}return 0;}sub au{my$ad=$_[0];my($ci)="$aa{'datadir'}/$ad->{'datafile'}"; my(@cm)=split(/ /,$ad->{$z[147]});unless($ad->{$z[230]}){for (0..$#cm){$ad->{$z[230]}{$cm[$_]}=$_;}}my($ao)=$_[1];my($an) =$_[2]||{};my($cr)=$_[3];my(@cj);my(@cq);my($cs,$ct);my$cu; if(ref($ad)ne$z[223]){die$z[231]."\n";}if(ref($_[1])ne$z[232] &&$_[1]){die$z[233]."\n";}if(ref($_[2])ne$z[223]&&$_[2]){die $z[234]."\n";}if(!defined&$ao){die$z[235]."\n";}if(!$ad->{$z[14]}) {die$z[236]."\n";}unless(-e$ci){return(0);}&ck;open(AA,"<$ci") ||die($z[237]."'$ci'. $!\n");@cj=;close(AA);&cl;@cj=grep /^\d/,@cj;&cv($ad,\@cj,$cr);if($ad->{$z[166]}){my($cw,$cx); foreach(split(/ /,$ad->{$z[166]})){if(s/#//g){$cs=$z[238];} else{$cs='';}if(s/-//g){$ct=$z[239];}else{$ct='';}if(!defined $ad->{$z[230]}{$_}){die($z[240]."'$_'!\n");}$cx.="$ct$ad->{'fieldn'}{$_}$cs "; }@cj=&cy($z[241],$cx,\@cj);}foreach(@cj){s/[^¡]+$//;undef%$an; @cq=split(/\¡/);for$cu(0..$#cm){$an->{$cm[$cu]}=$cq[$cu];$an->{$cm[$cu]} =~s/¿([A-F0-9]{2})/pack($z[229],hex($1))/egix;}&$ao($an);}} sub lt{my($ad)=$_[0];my($cz)=$_[1];my($da)=int$_[2]||1;my($db) =int$_[3];my($dc)=$_[4];my($dd)=$_[5];my($cs,$ct);my($de,$df,$cu); my($an)={};if(ref($ad)ne$z[223]){die$z[242]."\n";}if(ref($_[1]) ne$z[232]&&$_[1]){die$z[243]."\n";}if(!defined&$cz){die$z[244]."\n"; }if(!$ad->{$z[14]}){die$z[245]."\n";}my($ci)="$aa{'datadir'}/$ad->{'datafile'}"; my(@cm)=split(/ /,$ad->{$z[147]});unless($ad->{$z[230]}){for (0..$#cm){$ad->{$z[230]}{$cm[$_]}=$_;}}my($dg,$dh,$di,$dj,$dk) =(0,0,0,0,0);my(@cj);my(@cq);unless(-e$ci){return(0,0,0,0,0,0); }&ck;open(AA,"<$ci")||die($z[237]."'$ci'. $!\n");@cj=;close(AA); &cl;@cj=grep/^\d/,@cj;&cv($ad,\@cj,$dc);$di=scalar@cj;&cv($ad, \@cj,$dd);$dh=scalar@cj;if($ad->{$z[166]}){my($cw,$cx);foreach (split(/ /,$ad->{$z[166]})){if(s/#//g){$cs=$z[238];}else{$cs=''; }if(s/-//g){$ct=$z[239];}else{$ct='';}if(!defined$ad->{$z[230]}{$_}) {die($z[246]."'$_'!\n");}$cx.="$ct$ad->{'fieldn'}{$_}$cs "; }@cj=&cy($z[241],$cx,\@cj);}$df=($da*$db)-($db-1);$de=$da*$db; if($de>$#cj){$de=$#cj+1;}for($df..$de){$_=$cj[$_-1];s/[^\¡]+$//; undef%$an;@cq=split(/\¡/);for$cu(0..$#cm){$an->{$cm[$cu]}=$cq[$cu]; $an->{$cm[$cu]}=~s/¿([A-F0-9]{2})/pack($z[229],hex($1))/egix; }&$cz($an);}$db||=1;$dg=int($dh/$db);if($dh%$db){$dg++;}if(($da-1) <1||($da-1)>$dg){$dj=$dg;}else{$dj=$da-1;}if(($da+1)>$dg){$dk =1;}else{$dk=$da+1;}if(!$dg){$da=$dj=$dk=0;}return($dg,$dh, $di,$da,$dj,$dk);}sub mt{my$ad=$_[0];if(ref($ad)ne$z[223]){ die"DB_ListSave : The first argument must be a HASH reference!\n"; }if(ref($_[1])ne$z[232]&&$_[1]){die"DB_ListSave : The second argument must be a CODE reference!\n"; }if(ref($_[2])eq$z[223]){die"DB_ListSave : Use of an output hash reference is depricated. Argument order has been changed.\n"; }my($ci)="$aa{'datadir'}/$ad->{'datafile'}";my(@cm)=split(/ /,$ad->{$z[147]}); unless($ad->{$z[230]}){for(0..$#cm){$ad->{$z[230]}{$cm[$_]} =$_;}}my($ao)=$_[1];my($cr)=$_[2];my($dl)=$_[3];my($an)=$_[4] ||{};my(@cj,$dm,%dn);my(@cq,$cs,$ct,$cu);unless(-e$ci){return(0); }&ck;open(AA,"<$ci")||die($z[237]."'$ci'. $!\n");@cj=;close(AA); if($cj[1]=~m/#(\d+)/){$dm=$1;}else{foreach(@cj){/^\d/||next; $dn{(split(/\¡/))[0]}=1;}$dm=(sort{$b<=>$a}keys%dn)[0];}@cj =grep/^\d/,@cj;my$do=&dp($ad,\@cj,$cr);if($dl&&$ad->{$z[166]}) {my($cw,$cx);foreach(split(/ /,$ad->{$z[166]})){if(s/#//g){ $cs=$z[238];}else{$cs='';}if(s/-//g){$ct=$z[239];}else{$ct=''; }if(!defined$ad->{$z[230]}{$_}){die($z[247]."'$_'!\n");}$cx .="$ct$ad->{'fieldn'}{$_}$cs ";}@cj=&cy($z[241],$cx,\@cj);} foreach(@cj){if(!$do->{$z[248]}&&!$do->{(/^(\d+)/)[0]}){next; }s/[^¡]+$//;undef%$an;@cq=split(/\¡/);for$cu(0..$#cm){$an->{$cm[$cu]} =$cq[$cu];$an->{$cm[$cu]}=~s/¿([A-F0-9]{2})/pack($z[229],hex($1))/egix; }&$ao($an);if($an->{num}){$_="$cq[$cu]¡";for$cu(1..$#cm){my($dq) =$an->{$cm[$cu]};$dq=~s/[\x1a\r\n\¡\¿]/sprintf($z[249],ord($&))/egx; $_.="$dq¡";}$_.="\n";}else{undef$_;}}open(AA,">$ci.tmp$$")|| die("DB_ListSave : Can\'t write $ci.tmp$$ : $!\n");print AA "#!$^X\n";print AA"#$dm\n";print AA$z[250]."\n".$z[251]."\n"; foreach(@cj){/^\d/||next;s/[^¡]+$//;print AA"$_\n";}close(AA) ||die("DB_ListSave : Can't write $ci : $!\n");rename("$ci.tmp$$",$ci) ||die("DB_ListSave : Can't write $ci : $!\n");&cl;}sub dx{my $ad=$_[0];if(ref($ad)ne$z[223]){die$z[252]."\n";}if(ref($_[1]) ne$z[223]){die$z[253]."\n";}my($ci)="$aa{'datadir'}/$ad->{'datafile'}"; my(@cm)=split(/ /,$ad->{$z[147]});my($af)=$_[1];my($dr)=int $_[2];my(@cj);my(@cq);my(%dn);my($ds,$cu,$dm);&ck;if(-e$ci) {open(AA,"<$ci")||die($z[254]."'$ci'. $!\n");@cj=;close(AA); }if($cj[1]=~m/#(\d+)/){$dm=$1;}else{foreach(@cj){/^\d/||next; $dn{(split(/\¡/))[0]}=1;}$dm=(sort{$b<=>$a}keys%dn)[0];}if($dr &&$dn{$dr}){&cl;return&dt(@_);}elsif($dr){$ds=$dr;}else{$ds =$dm=$dm+1;}$af{$z[255]}=$ds;open(AA,">$ci.tmp$$")||die($z[256]."$ci.tmp$$ $!\n"); print AA qq|#!$^X\n|;print AA qq|#$dm\n|;print AA$z[250]."\n".$z[251]."\n"; foreach(@cj){/^\d/||next;s/[^¡]+$//;print AA"$_\n";}my($du) ="$ds¡";for$cu(1..$#cm){my($dq)=$af->{$cm[$cu]};$dq=~s/[\x1a\r\n\¡\¿]/sprintf($z[249],ord($&))/egx; $du.="$dq¡";}print AA"$du\n";close(AA)||die("DB_Add : Can't write $ci : $!\n"); rename("$ci.tmp$$",$ci)||die("DB_Add : Can't write $ci : $!\n"); &cl;return$ds;}sub lg{my$ad=$_[0];if(ref($ad)ne$z[223]){die $z[257]."\n";}if(ref($_[1])ne$z[223]){die$z[258]."\n";}if(!$_[2]) {die$z[259]."\n";}my($ci)="$aa{'datadir'}/$ad->{'datafile'}"; my(@cm)=split(/ /,$ad->{$z[147]});my($an)=$_[1];my($dn)=int $_[2];my(@cj);my(@cq);my($cu);unless(-e$ci){return(0);}if(-e $ci){&ck;open(AA,"<$ci")||die($z[260]."'$ci'. $!\n");@cj=; close(AA);&cl;}foreach(@cj){/^$dn\¡/||next;s/[^¡]+$//;undef %$an;@cq=split(/\¡/);for$cu(0..$#cm){$an->{$cm[$cu]}=$cq[$cu]; $an->{$cm[$cu]}=~s/¿([A-F0-9]{2})/pack($z[229],hex($1))/egix; }return 1;}return 0;}sub li{my$ad=$_[0];if(ref($ad)ne$z[223]) {die$z[261]."\n";}if(!$_[1]){die$z[262]."\n";}my($ci)="$aa{'datadir'}/$ad->{'datafile'}"; my(@cm)=split(/ /,$ad->{$z[147]});my($dn)=int$_[1];my(%de); my($dv)=0;for(1..$#_){$de{$_[$_]}++;}my(@cj,$dm,%dn);unless (-e$ci){return(0);}&ck;if(-e$ci){open(AA,"<$ci")||die($z[263]."'$ci'. $!\n"); @cj=;close(AA);}if($cj[1]=~m/#(\d+)/){$dm=$1;}else{foreach (@cj){/^\d/||next;$dn{(split(/\¡/))[0]}=1;}$dm=(sort{$b<=>$a }keys%dn)[0];}open(AA,">$ci.tmp$$")||die($z[264]."$ci.tmp$$ $!\n"); print AA qq|#!$^X\n|;print AA qq|#$dm\n|;print AA$z[250]."\n".$z[251]."\n"; foreach(@cj){/^(\d+)\¡/||next;if($de{$1}){$dv++;next;}s/[^¡]+$//; print AA"$_\n";}close(AA)||die("DB_Del : Can't write $ci : $!\n"); rename("$ci.tmp$$",$ci)||die("DB_Del : Can't write $ci : $!\n"); &cl;return$dv;}sub dt{my$ad=$_[0];if(ref($ad)ne$z[223]){die $z[265]."\n";}if(ref($_[1])ne$z[223]){die$z[266]."\n";}if(!$_[2]) {die$z[267]."\n";}my($ci)="$aa{'datadir'}/$ad->{'datafile'}"; my(@cm)=split(/ /,$ad->{$z[147]});my($af)=$_[1];my($dn)=int $_[2];my($dw)=0;my(@cj);my(@cq);my($cu,$an,$dm,%dn);if(!-e$ci) {return&dx(@_);}&ck;open(AA,"<$ci")||die($z[268]."'$ci'. $!\n"); @cj=;close(AA);if($cj[1]=~m/#(\d+)/){$dm=$1;}else{foreach (@cj){/^\d/||next;$dn{(split(/\¡/))[0]}=1;}$dm=(sort{$b<=>$a }keys%dn)[0];}open(AA,">$ci.tmp$$")||die($z[269]."$ci.tmp$$ $!\n"); print AA qq|#!$^X\n|;print AA qq|#$dm\n|;print AA$z[250]."\n".$z[251]."\n"; foreach(@cj){/^\d/||next;if(/^$dn\¡/){my($du)="$dn¡";for$cu (1..$#cm){my($dq)=$af->{$cm[$cu]};$dq=~s/[\x1a\r\n\¡\¿]/sprintf($z[249],ord($&))/egx; $du.="$dq¡";}print AA"$du\n";$dw++;next;}s/[^¡]+$//;print AA $_,"\n";}close(AA)||die("DB_Save : Can't write $ci : $!\n"); rename("$ci.tmp$$",$ci)||die("DB_Save : Can't write $ci : $!\n"); &cl;unless($dw){return&dx(@_);}}sub ck{if(!$ae{$z[270]}){return; }return if$aa{$z[271]}++;my($dy)=$aa{$z[272]};my($cu);while (!mkdir($dy,0777)){my$dz=(stat($dy))[9];if($dz&&$dz<$^T-300) {&aj($z[272],$dy);}sleep 1;if(++$cu>5){if(!-e$dy){&aj($z[273],$aa{$z[274]}); }else{&aj($z[275]);}}}}sub cl{if(!$ae{$z[270]}){return;}die "Nested Filelock Underrun"unless$aa{$z[271]};return if--$aa{$z[271]}; my($dy)=$aa{$z[272]};rmdir($dy);}sub el{my($ad,$ea,$eb)=@_; my(@ec,@ed);unless($ad->{$z[230]}){my(@cm)=split(/ /,$ad->{$z[147]}); for(0..$#cm){$ad->{$z[230]}{$cm[$_]}=$_;}}foreach(@{$eb}){my ($ee,$ef,$eg)=@{$_};next if$eg eq'';if(ref($eg)eq$z[276]){foreach (@$eg){s/[\x1a\r\n\¡\¿]/sprintf($z[249],ord($&))/egx;$_=quotemeta($_); }}else{$eg=~s/[\x1a\r\n\¡\¿]/sprintf($z[249],ord($&))/egx;$eg =quotemeta($eg);}$ef=uc$ef;my$eh=$ad->{$z[230]}{$ee};unless (defined$eh){&aj($z[277].$ee.$z[278].&ei($eb));}if($ef eq$z[279]) {push@ec,"/$eg/i";push@ed,"\$f[$eh] =~ /$eg/i";}elsif($ef eq $z[280]){push@ed,"\$f[$eh] ne /$eg/i";}elsif($ef eq$z[281]) {push@ec,"/¡$eg¡/i";push@ed,"\$f[$eh] eq q/$eg/";}elsif($ef eq$z[282]||$ef eq$z[283]||$ef eq$z[284]||$ef eq$z[285]||$ef eq$z[286]){push@ed,"\$f[$eh] $ef $eg";}elsif($ef eq$z[287]) {my($ej,$ek)=@{$eg};push@ed,"\$f[$eh] >= $ej && \$f[$eh] <= $ek"; }elsif($ef eq$z[288]){my($ej,$ek)=@{$eg};push@ed,"!(\$f[$eh] >= $ej && \$f[$eh] <= $ek)"; }elsif($ef eq$z[289]){push@ed,$z[290].join($z[291],map{"\$f[$eh] eq q/$_/" }@{$eg}).$z[292];}elsif($ef eq$z[293]){push@ed,$z[294].join($z[291], map{"\$f[$eh] eq q/$_/"}@{$eg}).$z[292];}else{&aj($z[295].$ef .$z[278].&ei($eb));}}unshift(@ed,$z[296])if@ed;return(\@ec, \@ed);}sub cv{my($ad,$rec_nopack,$eb)=@_;my($ec,$ed)=&el($ad, $rec_nopack,$eb);return unless(@$ec||@$ed);my$em=$z[297].join($z[298], @$ec,@$ed).$z[299];&en($em);eval$em;&en($@);}sub dp{my($ad, $rec_nopack,$eb)=@_;my($ec,$ed)=&el($ad,$rec_nopack,$eb);return ({$z[248]=>1})unless(@$ec||@$ed);my%match_nopack;my$em=$z[300] .join($z[298],@$ed).$z[301];&en($em);eval$em;&en($@);return(\%match_nopack); }1;;sub nl{local(*AA);my($eo)=$_[0];my(@ep,$eq,%er);$eq=\%er; 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(AA,"<$eo")||die("INI_Load : Could open ini file! $!\n"); @ep=;close(AA);foreach(@ep){/^\s*#/m&&next;if(/^\s*\[/m) {$eq=\%er;foreach(/\[(.+?)\]/g){$eq=\%{$eq->{$_}};}next;}my $es=index($_,$z[302]);if($es>0){my$et=substr($_,0,$es);my$eg =substr($_,$es+1);foreach($et,$eg){s/^\s+//;s/\s+$//;}$et=~ /[^\w]/&&die("INI_Load : Invalid key '$et' in ini file '$eo'!\n"); defined$eq->{$et}&&die("INI_Load : Key '$et' defined twice in ini file '$eo'!\n"); $eq->{$et}=$eg;}elsif($es==-1){my$et=$_;for($et){s/^\s+//;s/\s+$//; }if(!length$et){next;}defined$eq->{$et}&&die("INI_Load : Key '$et' defined twice in ini file '$eo'!\n"); $eq->{$et}=1;}}return%er;}sub ei{my$eq=$_[0];my$eu=$_[1];my $ev=$_[2]||$z[303];my$an;if(ref($eq)eq$z[223]){foreach(sort keys%{$eq}){if(ref($eq->{$_})){$an.=&ei($eq->{$_},"$eu\{$_}"); }else{$an.="\$$ev$eu"."{$_} = $eq->{$_}\n";}}}elsif(ref($eq) eq$z[276]){for(0..$#{$eq}){if(ref($eq->[$_])){$an.=&ei($eq->[$_],"$eu\[$_]"); }else{$an.="\$$ev$eu"."[$_] = $eq->[$_]\n";}}}return$an;}sub ay{my($ew,$ex)=@_;my(%ey);local(*AB);if(!-e$ew){$!=$z[304].$ew.$z[305]; return(0);}if($ex&&$ex ne$z[306]&&$ex ne$z[307]){die($z[308]."$ex\n"); }opendir(AB,$ew);foreach(grep(!/^\.+$/,readdir(AB))){if($ex eq$z[306]){$ey{$_}++if-f"$ew/$_";}elsif($ex eq$z[307]){$ey{$_}++ if-d"$ew/$_";}else{$ey{$_}++;}}closedir(AB);return%ey;}sub en{my$ez;my$cu;while(my($eo,$du,$fa)=(caller($cu++))[1,2,3]) {$eo=~s/^.*[\/\\]//;$fa=~s/^main:://;unless($fa=~s/__ANON__/(anonymous)/) {$fa=$z[309].$fa;}$ez.=qq!$eo ($du)¡called $fa¡¡!;}$ez=~s/\\/\\\\/g; $ez=~s/'/\\'/g;$ez=~s/¡/\\n/g;$aa{$z[310]}.=qq|>|; $aa{$z[310]}.=join("\n
",map{&fb($_)}@_)."
\n
"; }sub nz{my($fc,$fd)=@_;local(*AC);local(*AD);open(AC,"<$fc") ||die($z[311]."$fc : $!\n");open(AD,">$fd")||die($z[312]."$fd : $!\n"); binmode(AC);binmode(AD);print AD;close(AC);close(AD);}sub nm{my($fe)=$_[0];my($et,$eg,$ff,@fg,$fh,%er);my($eo,$ew,$fi); my($fj);binmode(STDIN);if($fe&&($ENV{$z[313]}||length$ENV{$z[314]}) >$fe){die($z[315]."$fe bytes\n");}($fj)=$ENV{$z[316]}=~/boundary=(?:"?)(\S+?)(?:"?)$/; if($ENV{$z[317]}eq$z[318]&&$ENV{$z[316]}=~m|^multipart/form-data|) {my$fh;read(STDIN,$fh,$ENV{$z[313]});foreach(split(/\n/,$fh)) {if(/^--$fj--/){$fh.="--$fj";last;}else{$fh.=$_;}}@fg=split(/--$fj/,$fh); foreach$ff(@fg){unless($ff=~/^(\r\n|\n)Content-Disposition/) {next;}($et,$eg)=$ff=~/^(?:\r\n|\n)(.*?)(?:\r\n|\n){2}(.*?)(?:\r\n|\n)$/s; ($ew)=$et=~/filename="([^"]+)"/;($et)=$et=~/name="([^"]+)"/; ($eo)=$ew=~/([^\/\\]+)$/;($fi)=$ew=~/\.(\w+)$/;if(!$ew){$et =~s/\r\n/\n/g;$eg=~s/\r\n/\n/g;$et=~s/\x00//g;$eg=~s/\x00//g; }$er{$et}=$eg;$er{$et.$z[319]}=$ew;$er{$et.$z[320]}=$eo;$er{$et.$z[321]} =$fi;}}else{if($ENV{$z[317]}eq$z[318]){read(STDIN,$fh,$ENV{$z[313]}); }elsif($ENV{$z[317]}eq$z[322]){$fh=$ENV{$z[314]};}@fg=split(/&/, $fh);foreach$ff(@fg){($et,$eg)=split(/=/,$ff);$et=~tr/+/ /; $eg=~tr/+/ /;$et=~s/%([A-F0-9]{2})/pack($z[229],hex($1))/egi; $eg=~s/%([A-F0-9]{2})/pack($z[229],hex($1))/egi;$et=~s/\r\n/\n/g; $eg=~s/\r\n/\n/g;$et=~s/\x00//g;$eg=~s/\x00//g;if($et=~/_multi$/) {push@{$er{$et}},$eg;}else{$er{$et}=$eg;}}}foreach(keys%er) {if(/^(.*)(\.x|\.y)$/){$er{$1}=$z[323];}}return%er;}sub mj{ my($fk)=$_[0];my($fl,$fm)=split(/@/,$fk);if($fk eq''){return 0;}if($fk=~/[^A-Za-z0-9-_\.\@]/){return 0;}if($fl!~/^([\w\-]+[\w\-.])*[\w\-]+$/) {return 0;}if($fm!~/^([\w\-]+[\w\-.])*[\w\-]+\.[A-Za-z]{2,8}$/) {return 0;}return 1;}sub oa{my($fn,$fo)=@_;unless($fn eq$z[324] ||$fn eq$z[325]||$fn eq$z[326]||$fn eq$z[327]){return undef; }$fo=~s/[^\d]//g;my@fp=split//,$fo;unless(($fn eq$z[324]&&$fp[0] ==4)||($fn eq$z[325]&&$fp[0]==5)||($fn eq$z[326]&&$fp[0]==3) ||($fn eq$z[327]&&$fp[0]==6)){return undef;}unless(($fn eq$z[324] &&($#fp==12||$#fp==15))||($fn eq$z[325]&&$#fp==15)||($fn eq $z[326]&&$#fp==14)||($fn eq$z[327]&&$#fp==15)){return undef; }my$fq;for(my$es=($#fp+1)% 2;$es<=$#fp;$es+=2){if($fp[$es]< 5){$fp[$es]*=2;}else{$fp[$es]=($fp[$es]* 2)-9}}foreach(@fp) {$fq+=$_;}unless($fq% 10==0){return undef;}return 1;}sub fx {local(*AA);my($eo,%er,$fr,$fs);%er=%{$_[1]}if$_[1];my%ft;%ft =($z[328]=>0,$z[329]=>0,$z[330]=>0,$z[53]=>0);foreach(split(/ /,$_[2])) {if(undef$ft{$_}){die($z[331]."'$_'\n");}$ft{$_}=1;}if(!$_[0]) {die$z[332]."\n";}if(ref($_[1])ne$z[223]){die$z[333]."\n";} if((!$ft{$z[329]}||!$aa{$z[130]}{$z[329]}{$_[0]})){if(-e"$_[0]") {$eo=$_[0];}else{foreach(grep/^templatedir/,sort keys%aa){if (-e"$aa{$_}/$_[0]"){$eo="$aa{$_}/$_[0]";last;}}if(!$eo){die $z[334]."'$_[0]'".$z[335]."\n";}}}if($ft{$z[329]}&&$aa{$z[130]}{$z[329]}{$_[0]}) {$fr=$aa{$z[130]}{$z[329]}{$_[0]};}else{open(AA,"<$eo")||die $z[336]."$eo! $!\n";binmode(AA)if($eo=~/gif$/i||$eo=~/jpg$/i); read(AA,$fr,-s AA);close(AA);}if($ft{$z[330]}){return$fr;}if ($ft{$z[53]}){$aa{$z[337]}||=$ENV{$z[338]};$aa{$z[337]}||die("Template: webroot isn't defined!
\n"); while($fr=~//g){my$fu=$1;if(($fu =~m!^/!)||(!$_[3])){$fu="$aa{'webroot'}/$fu";}else{my@fv=split $z[64],$eo;my$fv=join$z[64],@fv[0..$#fv-1];$fu="$fv/$fu";}my $fw=&fx($fu,$_[1],$_[2],$z[339]);$fr=~s//$fw/; }}if(!$ft{$z[329]}||!$aa{$z[130]}{$z[329]}{$_[0]}){foreach$fs ($fr=~m//g){$aa{$z[130]}{$z[131]}{$1}=$2 if($fr=~m/(?:\r\n|\n)?(.*?)/is); }$fr=~s/(?:\r\n|\n)?(.*?)//gis; if($ft{$z[329]}){$aa{$z[130]}{$z[329]}{$_[0]}=$fr;}}$fr=~s//$1/gi; $fr=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$eg=defined$ac{$1} ?$ac{$1}:$er{$1};if($2 eq$z[340]){$eg=&fy($eg);}if($2 eq$z[341]) {$eg=&fb($eg);}if($2 eq$z[342]){$eg=&fb($eg);$eg=~s/ / /g; }if($2 eq$z[343]){$eg=&fz($eg);}$eg;]ge;return$fr;}sub bq{if (!$_[0]){die$z[344]."\n";}if(!defined$aa{$z[130]}{$z[131]}{$_[0]}) {die$z[345]."'$_[0]'".$z[346]."\n";}if(ref($_[1])ne"HASH"){ die$z[347]."\n";}local(*AA);my(%er);%er=%{$_[1]}if$_[1];my($fr) =$aa{$z[130]}{$z[131]}{$_[0]};$fr=~s/(?:\r\n|\n)?(.*?)//gs; $fr=~s//$1/gi;$fr=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][ my$eg=defined$ac{$1}?$ac{$1}:$er{$1};if($2 eq$z[340]){$eg=&fy($eg); }if($2 eq$z[341]){$eg=&fb($eg);}if($2 eq$z[342]){$eg=&fb($eg); $eg=~s/ / /g;}if($2 eq$z[343]){$eg=&fz($eg);}$eg;]ge;return $fr;}sub ob{my($af)=$_[0];my(@ga)=(($z[326]..$z[348],$z[349]..$z[350],0..9),$z[351],$z[64]); my($an)=unpack($z[352],$af);$an=~s/(\d{6}|\d+$)/$ga[ord(pack$z[352],"00$1")]/ge; while(length($an)%4){$an.=$z[302];}return$an;}sub oc{my($af) =$_[0];my(%ga);my($an);my$cu;for(($z[326]..$z[348],$z[349]..$z[350],0..9),$z[351],$z[64]){ $ga{$_}=$cu++}$af=$_[0]||return$z[353];$af=~s/[^A-Za-z0-9+\/]//g; $af=~s/[A-Za-z0-9+\/]/unpack'B*',chr($ga{$&})/ge;$af=~s/\d\d(\d{6})/$1/g; $af=~s/\d{8}/$an.=pack($z[352],$&)/ge;return$an;}sub fy{my($gb) =$_[0];$gb=~s/([^A-Za-z0-9\*\.\@\_\-])/uc sprintf($z[354],ord($1))/egx; $gb=~tr/ /+/;return$gb;}sub gt{my($gb)=$_[0];$gb=~tr/+/ /;$gb =~s/%([A-F0-9]{2})/pack($z[229],hex($1))/egi;return$gb;}sub ls{my($gc);my($et,$eg,$gd,$ew,$ge,$gf)=@_;my($gg);if($et eq ''){die($z[355]."\n");}if($gd&&$gd ne int($gd)){die($z[356]."\n"); }$ag{$et}=$eg;if($gd){my($gh,$gi,$gj,$gk,$gl,$gm,$gn,$go)=gmtime($gd); ($gh,$gi,$gj,$gk)=map{$_<10?$z[357].$_:$_}($gh,$gi,$gj,$gk); $gg=join('',(qw(Sun Mon Tue Wed Thu Fri Sat Sun))[$gn],", $gk-",(qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec))[$gl],$z[239],1900+$gm, " $gp$gq$gh GMT");}if($et){$et=&fy($et);}if($eg){$eg=&fy($eg); }if($gd){$gc.=$z[358]."$gg; ";}if($ew){$gc.=$z[359]."$ew; "; }if($ge){$gc.=$z[360]."$ge; ";}if($gf){$gc.=$z[361];}print$z [362]."$et=$eg; $gc\n";}sub nn{my($gr,$et,$eg,%gs);foreach$gr (split(/; /,$ENV{$z[363]})){($et,$eg)=split(/=/,$gr);foreach($et,$eg) {$_=>($_);}$gs{$et}=$eg;}return%gs;}sub ar{my$gu=$_[0]||die("DateString: The first parameter must be a date or time format string\n"); $gu=~/\%/||die("DateString: The first parameter must contain a date format marker '%'\n"); my$gv=$_[1];my($gm,$gl,$gk,$gw,$gi,$gh,$gn,$go);my@gx=(0,0,1,0,0,0); my$gy=$_[-1]=~/^GMT$/i;pop(@_)if$gy;if(scalar(@_)>=3){die("DateString: Too many arguments\n") if scalar(@_)>7;my$gz;foreach$gz(1..scalar(@_)-1){$gx[$gz-1] =$_[$gz];}($gm,$gl,$gk,$gw,$gi,$gh)=@gx;if($gk>28){($gm,$gl, $gk)=&ha($gm,$gl,$gk);}$gv=$gy?&hb($gh,$gi,$gw,$gk,$gl,$gm) :&hc($gh,$gi,$gw,$gk,$gl,$gm);}else{}($gh,$gi,$gw,$gk,$gl,$gm, $gn,$go)=($gy?gmtime($gv):localtime($gv));my$hd;if(exists($aa{DateString}{rhNames})) {$hd=$aa{DateString}{rhNames};}else{$hd={$z[96]=>exists($ae{$z[364]}{ampm}) ?[split(/,/,$ae{$z[364]}{ampm})]:[qw(AM PM)],$z[365]=>exists($ae{$z[364]}{ordinals}) ?[split(/,/,$ae{$z[364]}{ordinals})]:[$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],$z[390],$z[391],$z[392], $z[393],$z[394],$z[395],$z[396],$z[397]],$z[398]=>exists($ae{$z[364]}{week_full}) ?[split(/,/,$ae{$z[364]}{week_full})]:[qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday)], $z[399]=>exists($ae{$z[364]}{week_abbr})?[split(/,/,$ae{$z[364]}{week_abbr})] :[qw(Sun Mon Tue Wed Thu Fri Sat)],$z[400]=>exists($ae{$z[364]}{month_full}) ?[split(/,/,$ae{$z[364]}{month_full})]:[qw(January February March April May June July August September October November December)], $z[401]=>exists($ae{$z[364]}{month_abbr})?[split(/,/,$ae{$z[364]}{month_abbr})] :[qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)],};$aa{DateString}{rhNames} =$hd;}my($he,$hf)=(0,1);my$hg={$z[402]=>$z[402],$z[349]=>$hd->{week_abbr}[$gn], $z[326]=>$hd->{week_full}[$gn],$z[403]=>$hd->{month_abbr}[$gl], $z[404]=>$hd->{month_full}[$gl],$z[405]=>$z[406],$z[229]=>$z[407], $z[408]=>sprintf($z[409],$gk),$z[327]=>$z[410],$z[411]=>sprintf($z[412], $gk),$z[413]=>$hd->{month_abbr}[$gl],$z[414]=>sprintf($z[409], $gw),$z[415]=>sprintf($z[409],$gw% 12||12),$z[416]=>sprintf($z[417],$go +1),$z[418]=>sprintf($z[412],$gw),$z[419]=>sprintf($z[412], $gw% 12||12),$z[420]=>sprintf($z[409],$gl+1),$z[325]=>sprintf($z[409], $gi),$z[238]=>"\n",$z[421]=>$hd->{ordinals}[$gk],$z[422]=>$hd->{ampm}[$gw >=12?1:0],$z[423]=>lc($hd->{ampm}[$gw>=12?1:0]),$z[424]=>int($gl /3)+1,$z[425]=>$z[426],$z[427]=>$z[428],$z[429]=>$gv,$z[430] =>sprintf($z[409],$gh),$z[431]=>"\t",$z[432]=>$z[433],$z[434] =>&hh($he,$gn,$go),$z[435]=>$gn,$z[436]=>&hh($hf,$gn,$go),$z[437] =>$z[410],$z[438]=>$z[433],$z[439]=>sprintf($z[409],$gm% 100), $z[440]=>sprintf($z[441],$gm+1900),$z[348]=>'',$z[350]=>'', };$gu=&hi($hg,$gu);return$gu;}sub hi{my($hg,$gu)=@_;$gu=~s/%(O?[%a-zA-Z])/&hj($hg, $1)/sgeox;return$gu;}sub hj{my$hk=$_[1];return(exists($_[0]->{$hk})) ?($_[0]->{$hk}=~/\%/&&$hk ne$z[402]?&hi($_[0],$_[0]->{$hk}) :$_[0]->{$hk}):"\%$hk";}sub hh{my($hl,$gn,$go)=@_;$gn=($gn+ 7-$hl)% 7;return int(($go-$gn+13)/7-1);}sub ha{my($gm,$gl,$hm) =@_;return@_ if$hm<=28;my$hn;if($gl==1){if(($gm% 4==0)&&(!($gm % 100==0)||($gm% 400==0))){$hn=29;}else{$hn=28;}}elsif($gl== 3||$gl==5||$gl==8||$gl==10){$hn=30;}else{$hn=31;}return($gm, $gl,$hm<$hn?$hm:$hn);}sub od{my$ho=$_[0];my$hp=$_[1]||die("DateString: The second argument must time()\n"); my$AE=$_[2];if($hp ne int($hp)){die($z[442]."\n");}my($gh,$gi,$gj,$hm,$gl,$gm,$gn); if($AE){($gh,$gi,$gj,$hm,$gl,$gm,$gn)=gmtime($hp);}else{($gh,$gi,$gj,$hm,$gl,$gm,$gn) =localtime($hp);}if($hp=~tr/://){($gm,$gl,$hm,$gj,$gi,$gh,$gn) =split(/:/,$hp);$gm-=1900;$gl-=1;foreach($gm,$gl,$hm,$gj,$gi,$gh,$gn) {$_||=0;}}my(%gn,%hq,%gl,%hr);my@gl=($z[443],$z[444],$z[445],$z[446],$z[447],$z[448],$z[449],$z[450],$z[451],$z[452],$z[453],$z[454]); my@hr=($z[455],$z[456],$z[457],$z[458],$z[447],$z[459],$z[460],$z[461],$z[462],$z[463],$z[464],$z[465]); my@gn=($z[466],$z[467],$z[468],$z[469],$z[470],$z[471],$z[472]); my@hq=($z[473],$z[474],$z[475],$z[476],$z[477],$z[478],$z[479]); foreach(@gn){$gn{lc$_}++;}foreach(@hq){$hq{lc$_}++;}foreach (@gl){$gl{lc$_}++;}foreach(@hr){$hr{lc$_}++;}$ho=~s/\b[A-Za-z]{3,9}\b/ if($gn{lc$&}){if(uc($&)eq$&){uc$gn[$gn];}elsif(lc($&)eq$&){ lc$gn[$gn];}else{ucfirst lc$gn[$gn];}}elsif($hq{lc$&}){if(uc($&) eq$&){uc$hq[$gn];}elsif(lc($&)eq$&){lc$hq[$gn];}else{ucfirst lc$hq[$gn];}}elsif($gl{lc$&}){if(uc($&)eq$&){uc$gl[$gl];}elsif (lc($&)eq$&){lc$gl[$gl];}else{ucfirst lc$gl[$gl];}}elsif($hr{lc $&}){if(uc($&)eq$&){uc$hr[$gl];}elsif(lc($&)eq$&){lc$hr[$gl]; }else{ucfirst lc$hr[$gl];}}else{$&;}/ge;$ho=~s/\d{1,4}\b/if (length$&==4){$gm+1900;}elsif(length$&<=2){if(substr($&,0,1) eq 0){sprintf($z[409],$hm);}else{$hm;}}else{$&;}/ge;$ho=~s/(\d{1,2})(st|nd|rd|th)/ if($hm==1||$hm==21||$hm==31){$hm.$z[480];}elsif($hm==2||$hm ==22){$hm.$z[481];}elsif($hm==3||$hm==23){$hm.$z[482];}else {$hm.$z[483];}/gei;$ho=~s/YYYY/sprintf($z[441],$gm+1900)/gei; $ho=~s/YY/sprintf($z[409],$gm%100)/gei;$ho=~s/MO\b/sprintf($z[409],$gl+1)/gei; $ho=~s/DD/sprintf($z[409],$hm)/gei;$ho=~s/SS/sprintf($z[409],$gh)/gei; $ho=~s/MM/sprintf($z[409],$gi)/gei;$ho=~s/HH/sprintf($z[409],$gj)/gei; return$ho;}sub cy{my($hs,$cx,$arrayref_nopack)=@_;my(@f_nopack,$cw,$ht, $hu,$hv,$cu);my($cs,$ct);$cu=0;foreach(split(/ /,$cx)){if(s/\#//g) {$cs=1;}elsif(s/n//g){$cs=1;}else{$cs=0;}if(s/\-//g){$ct=$z[484]; }elsif(s/\+//g){$ct='';}else{$ct='';}s/[^0-9]//gs;push(@f_nopack,$_); if($cs){$cw+=15;$hu.=$z[485];$hv.=qq|$ct sprintf('%015s',int(substr(\$str[$cu]*100,0,15))),|; }else{$cw+=50;$hu.=$z[486];$hv.="$ct substr(\$str[$cu],0,50),"; }$cu++;}$ht.=qq|return map { substr(\$_,$cw) } sort map {\n|; $ht.=qq| my \@str = (split(/\\$hs/,lc \$_))[\@f_nopack];\n|; $ht.=qq| sprintf("$hu\%s" ,$hv\$_);\n|;$ht.=qq| } \@\$arrayref_nopack;\n|; eval$ht;}sub fz{my$hw=shift;$hw=~s/\\/\\\\/g;$hw=~s/'/\\'/g; $hw=~s/\n/\\n/g;$hw=~s/\r/\\r/g;$hw=~s/\000//g;$hw=~s/-->/--'+'>/g; $hw=~s!!!g;return$hw;}sub fb{my$hx=shift; $hx=~s/&/&/g;$hx=~s/"/"/g;$hx=~s//>/g; return$hx;}sub bs{my$hy=shift;my%hz=map{$_,1}@_;return join($z[309], map{$hz{$_}?():&fy($_).$z[302].&fy($hy->{$_})}keys%{$hy});} sub mg{my$hy=shift;my%hz=map{$_,1}@_;return join("\n",map{$hz{$_} ?():$z[487].&fb($_).$z[488].&fb($hy->{$_}).$z[49]}keys%{$hy}); }sub lp{$_=$_[0];/\.gif$/i&&return(&ia($_[0]));(/\.jpeg$/i|| /\.jpg$/i)&&return(&ib($_[0]));/\.png$/i&&return(&ic($_[0])); undef;}sub ic{my($id)=@_;my($ie);open(PNG,$id)||return(undef, undef,"PNG - Couldn't Open $id");binmode(PNG);seek(PNG,12,0); read(PNG,$ie,4);if($ie ne"IHDR"){close PNG;return(undef,undef, "PNG - Missing Image Header - $ie");}read(PNG,$ie,8);close PNG;return unpack("NN",$ie);}sub ib{my($id)=@_;my($ie,$if,$ig, $ih,$ii);open(JPEG,$id)||return(undef,undef,"JPEG - Couldn't Open $id"); binmode(JPEG);read(JPEG,$ie,2);while(1){read(JPEG,$if,4);($ig, $ih,$ii)=unpack("a a n",$if);if($ig ne"\xFF"){close JPEG;return(undef, undef,"JPEG - Marker not Found");}if((ord($ih)>=0xC0)&&(ord($ih) <=0xC3)){read(JPEG,$ie,5);close(JPEG);my($ij,$ik)=unpack("xnn", $ie);return($ik,$ij);}else{read(JPEG,$ie,$ii-2);}}}sub is{my ($il,$im)=@_;my($in);read($il,$in,$im);while(1){if(eof($il)) {close AF;return(undef);}read($il,$in,1);last if ord($in)== 0;read($il,$in,ord($in));}1;}sub ia{my($id)=@_;my($ie,$ex,$io, $ip,$ik,$iq,$ij,$ir);open(AF,$id)||return(undef,undef,"GIF - Couldn't Open $id"); binmode(AF);read(AF,$ex,6);read(AF,$ie,7);if(length($ie)!=7) {close AF;return(undef,undef,"GIF - Corrupted Header");}($ik) =unpack("x4 C",$ie);if($ik&0x80){$io=3*(2**(($ik&0x07)+1)); read(AF,$ip,$io);if(!$ip){close AF;return(undef,undef,"GIF - Corrupted Colour Map"); }}while(1){if(eof(AF)){close AF;return(undef,undef,"GIF - EOF at BlockStart"); }read(AF,$ie,1);($ik)=unpack("C",$ie);if($ik==0x2c){read(AF, $ie,8);if(length($ie)!=8){close AF;return(undef,undef,"GIF - Missing Image Header"); }($ik,$iq,$ij,$ir)=unpack("x4 C4",$ie);close(AF);return($ik +$iq* 256,$ij+$ir* 256);}if($ik==0x21){read(AF,$ie,1);($ik) =unpack("C",$ie);if($ik==0xF9){read(AF,$ie,6);}elsif($ik==0xFE) {&is(\*AF,0)||return(undef,undef,"GIF - Bad Block - skip=0"); }elsif($ik==0x01){&is(\*AF,13)||return(undef,undef,"GIF - Bad Block - skip=13"); }elsif($ik==0xFF){&is(\*AF,12)||return(undef,undef,"GIF - Bad Block - skip=12"); }else{close AF;return(undef,undef,"GIF - Unknown Block Extension"); }}else{close AF;return(undef,undef,"GIF - Unknown Block Type"); }}}sub oe{return($_[0]=~/(.+)/s)[0]||$_[0];}sub of{my$it;foreach (split/\n/,shift){s!\\!\\\\!g;s!\"!\\\"!g;s!$iz){$bo=1;}push(@{$ix[$bo]},$_);}if(defined$iw){ foreach(0..$#ix){while(scalar@{$ix[$_]}<$iv){push(@{$ix[$_]}, $iw);}}}shift@ix;return@ix;}sub ly{my($ja,%jb,$AG);$ja=$_[0]; %jb=%{$_[1]};$AG="\x0D\x0A";local(*AH);if(!defined&jc){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_parseheader'\n"); }if(!defined&jd){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_debug'\n"); }if(!defined&je){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_readline'\n"); }if(!defined&jf){die("SMTP_sendmail: Couldn't find required subroutine 'SMTP_pop3auth'\n"); }if(!defined&jg){die("SMTP_sendmail: Couldn't find required subroutine 'FH_readline'\n"); }if(!defined&jh){die("SMTP_sendmail: Couldn't find required subroutine 'FH_can_read'\n"); }foreach(keys%{$aa{$z[489]}}){defined$jb{$_}&&next;$jb{$_}= $aa{$z[489]}{$_};}my($fm,$ji,$jj,$jk,$en);$fm=$jb{$z[490]}; $ji=$jb{$z[491]}||25;$jj=$jb{$z[492]}||$z[493];$jk=$jb{$z[494]} ||30;$en=$jb{$z[495]}||0;$jk+=time()if$jk<10**8&&$jk>0;if($fm =~s/:(\d+)//){$ji=$1;}if(!$fm){$aa{$z[496]}="No SMTP host specified.\n"; return 0;}if(!$ji){$aa{$z[496]}="No SMTP port specified.\n"; return 0;}my($jl,@jm)=&jc($ja);$ja=~tr/\r//d;$ja=~s/\n/\r\n/gs; $ja=~s/^\s*bcc\s*:.*\n//mgi;if($jb{$z[497]}){&jf(\%jb)||return 0;}my($jn)=gethostbyname($fm)||do{$aa{$z[496]}="Could not connect to SMTP server. Unknown host $fm\n"; return 0;};socket(AH,PF_INET,SOCK_STREAM,0)||do{$aa{$z[496]} ="Could not connect to SMTP server. No Socket: $!\n";return 0;};connect(AH,pack"SnA4x8",PF_INET,$ji,$jn)||do{if($!eq"Unknown error") {$aa{$z[496]}="Could not connect to SMTP server. SMTP server does not exist or is not responding.\n"; return 0;}else{$aa{$z[496]}="Could not connect to SMTP server. Connect failed: $!\n"; return 0;}};select(AH);$|=1;select(STDOUT);binmode(AH);my$jo =&je(\*AH,$jk)||do{$aa{$z[496]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($en){&jd($jo);}if(substr($jo,0,3)ne"220"){$aa{$z[496]} ="An unknown error occured. Server response: $jo\n";return 0;}print AH"HELO $jj",$AG;if($en){&jd("HELO $jj",$AG);}$jo= &je(\*AH,$jk)||do{$aa{$z[496]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($en){&jd($jo);}if(substr($jo,0,3)ne"250"){$aa{$z[496]} ="An unknown error occured. Server response: $jo\n";return 0;}print AH"MAIL FROM:<$jl>",$AG;if($en){&jd("MAIL FROM:<$jl>", $AG);}$jo=&je(\*AH,$jk)||do{$aa{$z[496]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($en){&jd($jo);}if(substr($jo,0,3)ne"250"){$aa{$z[496]} ="An unknown error occured. Server response: $jo\n";return 0;}my$jm;foreach$jm(@jm){print AH"RCPT TO:<$jm>",$AG;if($en) {&jd("RCPT TO:<$jm>",$AG);}$jo=&je(\*AH,$jk)||do{$aa{$z[496]} ="Timed out waiting for SMTP server to respond.\n";return 0; };if($en){&jd($jo);}if(substr($jo,0,2)eq"55"){$aa{$z[496]}= "The server won't accept mail for '$jm'. Server response: $jo\n"; return 0;}if(substr($jo,0,2)ne"25"){$aa{$z[496]}="An unknown error occured. Server response: $jo\n"; return 0;}}print AH"DATA",$AG;if($en){&jd("DATA",$AG);}$jo= &je(\*AH,$jk)||do{$aa{$z[496]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($en){&jd($jo);}if(substr($jo,0,3)ne"354"){$aa{$z[496]} ="An unknown error occured. Server response: $jo\n";return 0;}$ja=~s/^\./\.\./gm;print AH$ja,$AG;if($en){&jd($ja,$AG); }print AH".",$AG;if($en){&jd(".",$AG);}$jo=&je(\*AH,$jk)||do {$aa{$z[496]}="Timed out waiting for SMTP server to respond.\n"; return 0;};if($en){&jd($jo);}if(substr($jo,0,3)ne"250"){$aa{$z[496]} ="An unknown error occured. Server response: $jo\n";return 0;}print AH"QUIT",$AG;if($en){&jd("QUIT",$AG);}close(AH);return 1;}sub jc{my($ja,$bl,$jp,$jq,$du);$ja=$_[0];$ja=~tr/\r//d;$bl =$z[498];$bl.=$z[499];if($ja=~m/^(.*?)\n\n(.*)$/s){($jp,$jq) =($1,$2);}else{die("SMTP_parseheader: couldn't find email header!\n"); }my($jl,@jm);foreach$du(split(/\n/,$jp)){foreach(qw(from to cc bcc)) {if($du=~/^\s*$_\s*:/i){my$jr=$_;foreach($du=~m/($bl)/g){if ($jr eq$z[500]){$jl=$_;}else{push@jm,$_;}}}}}$jl||die("SMTP_parseheader: couldn't find from: address in mail header\n"); $#jm>=0||die("SMTP_parseheader: couldn't find to: address in mail header\n"); return($jl,@jm);}sub je{my$AI=$_[0];my$jk=int($_[1]);if(!$jk) {die("SMTP_readline: no timeout value specified!\n");}if($jk <10**8){die("SMTP_readline: timeout value must be in time() format!\n"); }fileno($AI)||die("SMTP_readline: invalid filehandle or filehandle not open!\n"); my($du,$js);while(!$du||substr($du,3,1)eq$z[239]){$du=&jg($AI,$jk); $js.=$du;}return$js;}sub jd{my$jt=join'',@_;$jt=~s/\s+$//m; my$ju=localtime();local*AJ;if(!$jt){$ju="";$jt="\n";}if($jt =~/^From:/i){$jt="[email content]";}if($jt=~/^PASS /i){$jt= "PASS (not shown)";}$jt=~s//>/g;$jt=~s/\r\n|\n/
\n/g; print"

$jt
\n\n";}sub jf{my($ja,%jb,$AG);%jb=%{$_[0]}; $AG="\x0D\x0A";local(*AH);if(!$jb{$z[501]}){die("SMTP_pop3auth: POP3 username not defined'\n"); }if(!$jb{$z[502]}){die("SMTP_pop3auth: POP3 password not defined'\n"); }if($aa{$z[503]}{$z[504]}){return 1;}my($fm,$ji,$fl,$jv,$jk,$en); $fm=$jb{$z[505]}||$jb{$z[490]};$ji=$jb{$z[506]}||110;$fl=$jb{$z[501]}; $jv=$jb{$z[502]};$jk=$jb{$z[507]}||$jb{$z[494]}||30;$en=$jb{$z[495]} ||0;$jk+=time()if$jk<10**8&&$jk>0;if($fm=~s/:(\d+)//){$ji=$1; }my($jn)=gethostbyname($fm)||do{$aa{$z[496]}="Could not connect to POP3 server. Unknown host $fm\n"; return 0;};socket(AH,PF_INET,SOCK_STREAM,0)||do{$aa{$z[496]} ="Could not connect to POP3 server. No Socket: $!\n";return 0;};connect(AH,pack"SnA4x8",PF_INET,$ji,$jn)||do{if($!eq"Unknown error") {$aa{$z[496]}="Could not connect to POP3 server. POP3 server does not exist or is not responding.\n"; return 0;}else{$aa{$z[496]}="Could not connect to POP3 server. Connect failed: $!\n"; return 0;}};select(AH);$|=1;select(STDOUT);binmode(AH);my$jo =&jg(\*AH,$jk)||do{$aa{$z[496]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($en){&jd($jo);}if(uc(substr($jo,0,3))ne"+OK") {$aa{$z[496]}="An unknown error occured. Server response: $jo\n"; return 0;}print AH"USER $fl",$AG;if($en){&jd("USER $fl",$AG); }$jo=&jg(\*AH,$jk)||do{$aa{$z[496]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($en){&jd($jo);}if(substr($jo,0,3)ne"+OK"){$aa{$z[496]} ="The server didn't accept the login info for '$fl'. Server response: $jo\n"; return 0;}print AH"PASS $jv",$AG;if($en){&jd("PASS $jv",$AG); }$jo=&jg(\*AH,$jk)||do{$aa{$z[496]}="Timed out waiting for POP3 server to respond.\n"; return 0;};if($en){&jd($jo);}if(substr($jo,0,3)ne"+OK"){$aa{$z[496]} ="The server didn't accept the login info for '$fl'. Server response: $jo\n"; return 0;}print AH"QUIT",$AG;if($en){&jd("QUIT",$AG);}close(AH); $aa{$z[503]}{$z[504]}=1;return 1;}sub jh{my$AI=$_[0];my$jk= $_[1]||$z[357];my($jw,$jx,$jy,$jz,$ka,$kb,$kc);fileno($AI)|| die("fh_can_read: invalid filehandle or filehandle not open!\n"); vec($jw,fileno($AI),1)=1;$kc=select($jx=$jw,undef,undef,$jk); return vec($jx,fileno($AI),1);}sub jg{my$AI=$_[0];my$jk=int($_[1]); if(!$jk){die("FH_readline: no timeout value specified!\n"); }if($jk<10**8){die("FH_readline: timeout value must be in time() format!\n"); }fileno($AI)||die("FH_readline: invalid filehandle or filehandle not open!\n"); my($du,$kd);while($jk>=time()){&jh(\*AH,0.25)||next;sysread(\*AH,$kd, 1)||last;$du.=$kd;if($kd eq"\x0A"){last;}}return$du;}sub oh {my$ew=shift;$ew=~s|\\|/|g;if($ew=~m|^/|){return$ew;}if($ew =~m|^\w:/|){return$ew;}return&ke($aa{$z[508]}.$z[64].$ew);} sub ke{my$ew=shift;$ew=~s|\\|/|g;1 while$ew=~s|[^/]*/\.\./||; return$ew;}1;;sub kn{my($kf,$kg)=@_;foreach(@{$kf->{$z[169]}}) {my($kh,$fa)=@{$_};if(!defined&{$fa}&&!defined&{$aa{$z[509]}{$kh}}) {die("The action '$kh' defined as a handler for db '$kf->{'name'}' does not have a custom handler or a default handler"); }if((!$kg&&$af{$kf->{$z[50]}.$z[510].$kh})||$kg eq$kh){if(defined &{$fa}){&{$fa}($kf);exit;}else{&{$aa{$z[509]}{$kh}}($kf);exit; }}}if($kg){die"Unable to execute forced action '$kg' on db '$kf->{'name'}'"; }}sub oi{my$kf=shift;my$an=&ki($kf);&kj($kf,$an);}sub oj{my $kf=shift;my$an=&kk($kf);&kl($kf,$an);&km($z[511],$an);exit; }sub ok{my$kf=shift;if(!$ab{$z[512]}){&kn($kf,$z[170]);}my$an =&ko($kf);&km($z[512],$an);exit;}sub ol{my$kf=shift;my$an=&kp($kf); &kq($kf,$an);}sub om{my$kf=shift;&ck;my$kr=&ks($kf);my$kt=&ku($kf, $kr);&kv($kf,$kr);&kw($kf,$kr);&cl;&kx($kf,$kt);&ky($kf);}sub on{my$kf=shift;my($dc,$dd);my$kz={$z[57]=>$ae{$z[513]}{$z[57]}, $z[514]=>1,$z[78]=>'',};$kz=&la($kf,$kz);foreach(split(/\s+/,$kf->{$z[75]})) {push(@$dd,[$_,$z[279],$kz->{$z[78]}]);}my$ao=sub{my$lb=shift; if(!defined$lb->{$z[515]}&&$lb->{$z[19]}){my$hp=&hc(0,0,0,$lb->{$z[20]},$lb->{$z[19]}-1,$lb->{$z[18]}); $lb->{$z[515]}=&ar($aa{$z[91]},$hp);}$lb->{$z[516]}=&ar($aa{$z[40]},int($lb->{$z[516]})) if$lb->{$z[516]};$lb->{$z[66]}=&ar($aa{$z[40]},int($lb->{$z[66]})) if$lb->{$z[66]};$ac{$z[517]}=$ac{$z[517]}eq$z[518]?$z[519]: $z[518];return&bq($z[119],$lb);};my$an=&lc($kf,$ao,$kz,$dc, $dd);&ld($an);}sub ki{my$kf=shift;$ac{$z[520]}=$kf->{$z[142]}; $ac{$z[521]}=$kf->{$z[50]};&fx($kf->{$z[144]},{});my($an)={}; if($kf->{$z[522]}&&&le($kf)>=$kf->{$z[522]}){&km($z[523],$kf); }my($hm,$gl,$gm)=(localtime(&as($^T)))[3,4,5];$gl++;$gm+=1900; $an->{"day_$hm".$z[524]}=$z[525];$an->{"mon_$gl".$z[524]}=$z[525]; $an->{"year_$gm".$z[524]}=$z[525];foreach(split(/ /,$kf->{$z[147]})) {if(/^ufile/&&!$an->{$_}){$an->{$_}=$z[526];}}$an->{$z[516]} =&ar($aa{$z[40]},&as($^T));$an->{$z[66]}=&ar($aa{$z[40]},&as($^T)); $an->{$z[527]}=$ah{$z[50]}||"unknown user";$an->{$z[528]}=$ah{$z[50]} ||"unknown user";return$an;}sub kj{my($kf,$an)=@_;if($aa{$z[130]}{$z[131]}{$z[529]}) {&km($z[529],$an);}else{&km($z[511],$an);}exit;}sub kk{my$kf =shift;$ac{$z[520]}=$kf->{$z[142]};$ac{$z[521]}=$kf->{$z[50]}; &fx($kf->{$z[144]},{});my($lf)=int$af{$kf->{$z[50]}.$z[530]}; my$an={};&lg($kf,$an,$lf)||&aj($z[531],$lf);return$an;}sub kl{my($kf,$an)=@_;foreach(split(/ /,$kf->{$z[147]})){if(/^ufile/ &&!$an->{$_}){$an->{$_}=$z[526];}}foreach(keys%{$an}){$an->{$_} =~s/\&/&/g;$an->{$_}=~s/\"/"/g;$an->{$_}=~s/\{$_}=~s/\>/>/g;}foreach(keys%{$an}){if(!/\W/&&$an->{$_} !~/\W/){$an->{$_.$z[510].$an->{$_}.$z[532]}=$z[533];$an->{$_.$z[510].$an->{$_}.$z[524]} =$z[525];}}$an->{$z[516]}=&ar($aa{$z[40]},&as($an->{$z[516]})) if$an->{$z[516]};$an->{$z[66]}=&ar($aa{$z[40]},&as($an->{$z[66]})) if$an->{$z[66]};my%lh;&lg($ad{$z[190]},\%lh,$an->{$z[527]}) if$an->{$z[527]};$an->{$z[527]}=$lh{$z[50]}||"unknown user"; &lg($ad{$z[190]},\%lh,$an->{$z[528]})if$an->{$z[528]};$an->{$z[528]} =$lh{$z[50]}||"unknown user";return$an;}sub ko{my$kf=shift; $ac{$z[520]}=$kf->{$z[142]};$ac{$z[521]}=$kf->{$z[50]};&fx($kf->{$z[144]}, {});my($lf)=int($af{$kf->{$z[50]}.$z[534]})||int($af{$z[48]}); my($an)={};&lg($kf,$an,$lf)||&aj($z[531],$lf);return$an;}sub kp{my$kf=shift;$ac{$z[520]}=$kf->{$z[142]};$ac{$z[521]}=$kf->{$z[50]}; &fx($kf->{$z[144]},{});my($lf)=$af{$z[48]}||$af{$kf->{$z[50]}.$z[534]}; my$an={};&ck();&lg($kf,$an,$lf)||&aj($z[531],$lf);&li($kf,$lf) ||die($z[535].$lf);&cl();foreach(split(/ /,$kf->{$z[147]})) {if(/^ufile/&&$an->{$_}){if(-e"$ab{'dir_upload'}/$an->{$_}") {unlink("$ab{'dir_upload'}/$an->{$_}");}}}if(defined&{$kf->{$z[168]}}) {&{$kf->{$z[168]}}($lf,$z[170],$an);}return$an;}sub kq{my($kf, $an)=@_;if(!$ab{$z[536]}){&kn($kf,$z[171]);}&km($z[537],$an); exit;}sub ks{my$kf=shift;$ac{$z[520]}=$kf->{$z[142]};$ac{$z[521]} =$kf->{$z[50]};&fx($kf->{$z[144]},{});my($lf)=int($af{$z[48]}); my$kr={};if($kf->{$z[522]}){my($bh)=&le($kf);if($lf&&$bh>$kf->{$z[522]}) {&km($z[523],$kf);}elsif(!$lf&&$bh>=$kf->{$z[522]}){&km($z[523],$kf); }}if($lf){&lg($kf,$kr,$lf)||die("ui_save : Can't find record #$lf"); }return($kr);}sub ku{my($lb)=$_[0]->{$z[50]}||die($z[538]); my($lf)=int($af{$z[48]});my(%lb)=%{$_[1]||{}};my(%eo,%fi,$ee,%kt,%an); if(!$ab{$z[539]}){die("ui_save_uploads: No upload directory has been defined in setup options!\n"); }if(!-d$ab{$z[539]}){die("ui_save_uploads: Upload directory '$ab{'dir_upload'}' doesn't exist!\n"); }if(!-w$ab{$z[539]}){die("ui_save_uploads: Upload directory isn't writable!\n"); }%eo=&ay($ab{$z[539]});foreach(split(/ |\,/,$ab{$z[540]})){ $fi{$_}++if$_;}foreach$ee(split(/ /,$_[0]->{$z[147]})){if($ee !~/^ufile/){next;}if($af{$ee}){if($ab{$z[541]}&&length($af{$ee}) >$ab{$z[542]}*1000){my$lj=length($af{$ee});$kt{$z[543]}.=qq|$af{$ee."_file"} ($lj bytes, file too large)
\n|; $af{$ee}=$lb{$ee};next;}if(!$fi{lc$af{$ee.$z[321]}}){$kt{$z[543]} .=qq|$af{$ee."_file"} ('$af{$ee.'_ext'}' files not accepted)
\n|; $af{$ee}=$lb{$ee};next;}if($lb{$ee}&&$eo{$lb{$ee}}){unlink("$ab{'dir_upload'}/$lb{$ee}"); }my($lk);my($ll)=lc$af{$ee.$z[320]};my($lm)=lc$af{$ee.$z[321]}; my($ln)=$z[544];$ll=~s/\.[^\.]*$//g;$ll=~s/[^a-z0-9_\-]/_/g; $lm=~s/[^a-z0-9_\-]/_/g;$lk="$ll.$lm";if(-e"$ab{'dir_upload'}/$lk") {do{$ln=sprintf($z[417],++$ln);$lk=$ll."_$ln.$lm";}while(-e "$ab{'dir_upload'}/$lk");}open(AA,">$ab{'dir_upload'}/$lk") ||die($z[545]."$lk $!\n");binmode AA;print AA$af{$ee};close(AA); if($lk=~/\.(gif|jpg|jpeg|png)$/i){my($iq,$ir,$lo)=&lp("$ab{'dir_upload'}/$lk"); if(($ab{$z[546]}&&$ir>$ab{$z[546]})||($ab{$z[547]}&&$iq>$ab{$z[547]})) {unlink("$ab{'dir_upload'}/$lk");$kt{$z[543]}.=qq|$af{$ee."_file"} (${ir}x$iq, image too big)
\n|; $af{$ee}=$lb{$ee};next;}}$af{$ee}=$lk;}elsif($af{$ee.$z[320]}) {if($lb{$ee}&&$eo{$lb{$ee}}){unlink("$ab{'dir_upload'}/$lb{$ee}"); }$lb{$ee}='';}else{$af{$ee}=$lb{$ee};}}return\%kt;}sub kv{my ($kf,$kr)=@_;my($lf)=int($af{$z[48]});$af{$z[516]}=$lf?$kr->{$z[516]} :$^T;$af{$z[527]}=$lf?$kr->{$z[527]}:$ah{$z[48]};$af{$z[548]} =$lf?$kr->{$z[548]}:$ah{$z[48]};$af{$z[66]}=$^T;$af{$z[528]} =$ah{$z[48]};my$lq;foreach$lq($kf->{$z[147]}=~/\bufile([^ ]*)\b/g) {if($kf->{$z[147]}=~/\bimagewidth\Q$lq\E\b/){($af{$z[549].$lq}, $af{$z[550].$lq})=&lp($ab{$z[539]}.$af{$z[551].$lq});}}}sub kw{my($kf,$kr)=@_;my($lf)=int($af{$z[48]});if($lf){&dt($kf, \%af,$lf);}else{$af{$z[48]}=&dx($kf,\%af,$lf);}if(defined&{$kf->{$z[168]}}) {&{$kf->{$z[168]}}($af{$z[48]},$z[552],$kr);}}sub kx{my($kf, $kt)=@_;if(keys%{$kt}){undef$ab{$z[542]}if!$ab{$z[541]};$kt->{$z[48]} =$af{$z[48]};$kt->{$z[553]}=&bq($z[553],\%ab)if$ab{$z[542]}; $kt->{$z[554]}=&bq($z[554],\%ab)if$ab{$z[546]};$kt->{$z[555]} =&bq($z[555],\%ab)if$ab{$z[547]};$kt->{$z[556]}=&bq($z[556], {$z[540]=>$ab{$z[540]}?$ab{$z[540]}:$z[557]});&km($z[558],$kt); exit;}}sub ky{my($kf)=@_;if(!$ab{$z[559]}){&kn($kf,$z[171]); }&km($z[560],\%af);exit;}sub ld{my$an=shift;&km($z[171],$an); exit;}sub la{my($kf,$kz)=@_;$ac{$z[520]}=$kf->{$z[142]};$ac{$z[521]} =$kf->{$z[50]};if(ref($kf)ne$z[223]){die$z[561]."\n";}&fx($kf->{$z[144]}, {});if($af{$kf->{$z[50]}.$z[562]}){my$lr={};while($ag{$kf->{$z[50]}.$z[563]} =~/(.*?)\t(.*?)\t/g){$lr->{$1}=$2;}$kz->{$z[57]}=$af{$z[564]} ||$lr->{$z[57]};}else{while($ag{$kf->{$z[50]}.$z[563]}=~/(.*?)\t(.*?)\t/g) {$kz->{$1}=$2;}foreach(keys%{$kz}){if(defined$af{$z[510].$_}) {if($_ ne$z[57]&&$_ ne$z[514]){$kz->{$z[514]}=1;}$kz->{$_}= $af{$z[510].$_};}}}&ls($kf->{$z[50]}.$z[563],join("\t",map{ $_,$kz->{$_}}keys%{$kz})."\t");foreach(keys%{$kz}){$ac{$z[510] .$_}=$kz->{$_};$ac{$z[510].$_.$z[510].$kz->{$_}.$z[524]}=$z[525]; }return$kz;}sub lc{my($kf,$ao,$kz,$dc,$dd)=@_;my%an;my$it=sub {$an{$z[565]}.=&{$ao}(@_);};($an{$z[566]},$an{$z[567]},$an{$z[568]}, $an{$z[569]},$an{$z[570]},$an{$z[571]})=<($kf,$it,$kz->{$z[514]}, $kz->{$z[57]},$dc,$dd);unless($an{$z[565]}){if($aa{$z[130]}{$z[131]}{$z[572]} &&scalar grep{$_ ne$z[57]&&$_ ne$z[514]&&$kz->{$_}ne''}keys %{$kz}){$an{$z[565]}=&bq($z[572],{});}else{$an{$z[565]}=&bq($z[125], {});}}return\%an;}sub ch{my$kf=shift;my($dc,$dd);my$kz={$z[57] =>$ae{$z[513]}{$z[57]},$z[514]=>1,$z[78]=>'',};$kz=&la($kf, $kz);foreach(split(/\s+/,$kf->{$z[75]})){push(@$dd,[$_,$z[279], $kz->{$z[78]}]);}my$ao=sub{my$lb=shift;$lb->{$z[573]}=$ai[$lb->{$z[574]}]; if(!defined$lb->{$z[515]}&&$lb->{$z[19]}){my$hp=&hc(0,0,0,$lb->{$z[20]},$lb->{$z[19]}-1,$lb->{$z[18]}); $lb->{$z[515]}=&ar($aa{$z[91]},$hp);}$lb->{$z[516]}=&ar($aa{$z[40]},int($lb->{$z[516]})) if$lb->{$z[516]};$lb->{$z[66]}=&ar($aa{$z[40]},int($lb->{$z[66]})) if$lb->{$z[66]};$ac{$z[517]}=$ac{$z[517]}eq$z[518]?$z[519]: $z[518];return&bq($z[119],$lb);};my$an=&lc($kf,$ao,$kz,$dc, $dd);&ld($an);}sub oo{my$kf=shift;&ck();my$kr=&ks($kf);my$kt =&ku($kf,$kr);&kv($kf,$kr);my%lu;if(&lv($kf,\%lu,$z[575],$af{$z[575]})) {if($lu{$z[48]}!=$kr->{$z[48]}){&cl();&km($z[576],\%af);}}if ($af{$z[48]}==$ah{$z[48]}&&$af{$z[574]}<9){&cl();&km($z[577], {});}&kw($kf,$kr);my%lw;if(&lv($ad{$z[195]},\%lw,$z[48],$af{$z[48]})) {&dt($ad{$z[195]},\%af,$af{$z[48]});}&cl();&kx($kf,$kt);&ky($kf); }sub op{my$kf=shift;if(!$ab{$z[512]}){&kn($kf,$z[170]);}my$an =&ko($kf);if($an->{$z[48]}==$ah{$z[48]}&&$af{$z[574]}<9){&km($z[577], {});}&km($z[512],$an);}sub cg{my$kf=shift;my$lf=$af{$z[48]} ||$af{$kf->{$z[50]}.$z[534]};if($lf==$ah{$z[48]}&&$af{$z[574]} <9){$ac{$z[520]}=$kf->{$z[142]};$ac{$z[521]}=$kf->{$z[50]}; &fx($kf->{$z[144]},{});&km($z[577],{});}&ck();&lg($ad{$z[190]}, {},$ah{$z[48]})||&lx($z[578],{});my$an=&kp($kf);&li($ad{$z[195]}, $lf);&cl();&kq($kf,$an);}sub oq{my$ja=shift;if($ab{$z[579]} eq$z[580]){my%jb=(host=>$ab{$z[581]},helo=>$ae{$z[582]}{$z[583]}, timeout=>$ae{$z[582]}{$z[584]},pop3_auth=>$ab{$z[585]},pop3_host =>$ab{$z[586]},pop3_user=>$ab{$z[587]},pop3_pass=>$ab{$z[588]}); &ly($ja,\%jb)||die("Error sending message: $aa{'error'}
\n"); }elsif($ab{$z[579]}eq$z[589]){if(!-e$ab{$z[590]}){die("sendmail: can't find sendmail program '$ab{'mail_sendmail'}'\n"); }local(*AK);my($jl)=&jc($ja);open(AK,"|$ab{'mail_sendmail'} -f $jl -t") ||die"Can't open $ab{'mail_sendmail'} : $!";print AK$ja;close(AK); }elsif(!$ab{$z[579]}){die("sendmail: no mailer specified in setup options!\n"); }else{die("sendmail: unknown mailer '$ab{'mail_mailer'}' specified!\n"); }}sub or{my($ex)=$_[0];my($lz)=$af{$z[591]}||die("browse: you must pass a name/value for the 'fieldname'!\n"); my(%an,$ey);if($ex ne$z[592]&&$ex ne$z[593]){die("browse: the first argument must be either 'dir' or 'file'!\n"); }if($af{$z[594]}){&ma($z[595].$z[596].$aa{$z[0]}.$z[597]);} if($af{$z[598]}){&ma($z[599].$z[596].$aa{$z[0]}.$z[597]);}if ($af{$z[592]}){&ma($z[600].$z[596].$aa{$z[0]}.$z[597]);}if(!-d $ab{$z[601]}){delete$ab{$z[601]};}if($af{$z[602]}){if(-f$af{$z[602]}) {$af{$z[602]}=~s!^(.+)(\\|/).*?$!$1!;}if(-d$af{$z[602]}){$af{$z[592]} =$af{$z[602]};}}if($ae{$z[603]}){$af{$z[592]}=$ab{$z[601]}; }&fx("_browse_$ex.html",{});my$mb="/";$an{$z[591]}=$af{$z[591]}; if($af{$z[594]}){$an{$z[604]}=$af{$z[604]};if(!$af{$z[604]}) {$ac{$z[605]}=$z[606];}elsif($af{$z[604]}=~m/[^\w\-]/i){$ac{$z[605]} =$z[607];}elsif(!mkdir("$af{'cdir'}$mb$af{'mkdir_name'}",0777)){ $ac{$z[605]}=$z[608].$!;}if($ac{$z[605]}){$ac{$z[605]}=&bq($z[605],\%ac); }}if($af{$z[598]}){local(*AA);$an{$z[609]}=$af{$z[609]};if(!$af{$z[609]}) {$ac{$z[610]}=$z[611];}elsif($af{$z[609]}=~m/[^\w\-\.]/i){$ac{$z[610]} =$z[612];}elsif(-e"$af{'cdir'}$mb$af{'mkfile_name'}"){$ac{$z[610]} =$z[613];}elsif(!open(AA,">$af{'cdir'}$mb$af{'mkfile_name'}")) {$ac{$z[610]}=$z[614].$!;}close(AA);if($ac{$z[610]}){$ac{$z[610]} =&bq($z[610],\%ac);}}$an{$z[592]}=$af{$z[592]}||$ab{$z[601]} ||$aa{$z[508]};$an{$z[592]}=~s/^(.+)(\\|\/)+$/$1/;$an{$z[615]} =$an{$z[592]};$an{$z[615]}=~s!^([a-z]:)!$1/..!i;$an{$z[616]} =($an{$z[592]}=~m#^(.*)[\\/]#,$1||$mb);$an{$z[617]}=&fy($an{$z[616]}); $an{$z[171]}.=&bq($z[616],\%an)if($an{$z[592]}=~m!.+(\\|/)!); if(!-e$an{$z[592]}){$an{$z[496]}=$z[618];}elsif(!-r$an{$z[592]}) {$an{$z[496]}=$z[619];}if($an{$z[496]}){print"Content-type: text/html\n\n" unless($aa{$z[620]}++);$an{$z[171]}.=&bq($z[496],\%an);print &fx($z[621],\%an);exit;}opendir(AB,"$an{'dir2'}");my@ey=sort {lc$a cmp lc$b}grep(!/^\.+$/,readdir(AB));closedir(AB);my($ay); foreach$ay(@ey){-d"$an{'dir'}$mb$ay"||next;$an{$z[50]}=$ay; $an{$z[622]}="$an{'dir'}$mb$ay";$an{$z[622]}=~s/$mb+/$mb/g; $an{$z[623]}=&fy($an{$z[622]});($an{$z[624]},$an{$z[625]})= (stat($an{$z[622]}))[7,9];$an{$z[626]}=&ar($aa{$z[40]},$an{$z[625]}); $an{$z[171]}.=&bq($z[592],\%an);$ey++;}my($eo);foreach$eo(@ey) {-d"$an{'dir'}$mb$eo"&&next;$an{$z[50]}=$eo;$an{$z[622]}="$an{'dir'}$mb$eo"; ($an{$z[624]},$an{$z[625]})=(stat($an{$z[622]}))[7,9];if($an{$z[624]}) {$an{$z[624]}=(int($an{$z[624]}/1000)||1)."KB";}else{$an{$z[624]} ="0KB";}$an{$z[626]}=&ar($aa{$z[40]},$an{$z[625]});$an{$z[622]} =~s/'/\\'/g;$an{$z[622]}=~s/\\/\\\\/g;if(-f"$an{'dir'}$mb$eo") {$an{$z[171]}.=&bq($z[593],\%an);}else{$an{$z[171]}.=&bq($z[627],\%an); }$ey++;}if(!$ey){$an{$z[171]}.=&bq($z[628],{});}print"Content-type: text/html\n\n" unless($aa{$z[620]}++);print&fx("_browse_$ex.html",\%an);exit; }sub os{my($jp,$js);if($ENV{$z[314]}=~/^[\w\-]+\.gif$/){$jp =$z[629]."\n\n";}elsif($ENV{$z[314]}=~/^[\w\-]+\.jpg$/){$jp =$z[630]."\n\n";}else{return;}$js=&fx($ENV{$z[314]},{},$z[330]); if($js){binmode(STDOUT);print$jp ;print$js ;exit;}}sub as{my $hp=$_[0]||die("time_adj: first argument must be time()\n"); if($ab{$z[631]}eq$z[529]){$hp+=$ab{$z[632]}*60*60;}if($ab{$z[631]} eq$z[633]){$hp-=$ab{$z[632]}*60*60;}if($ab{$z[634]}eq$z[529]) {$hp+=$ab{$z[635]}*60;}if($ab{$z[634]}eq$z[633]){$hp-=$ab{$z[635]}*60; }return$hp;}sub ot{my($ao,$mc,$md,$me,%lw);my(%an,%mf);if(!$af{$z[636]} &&!$ag{$z[575]}){&lx(undef,\%an);}if($af{$z[636]}){($mc,$md) =(lc$af{$z[575]},lc$af{$z[637]});if(!$mc&&!$md){&lx($z[578], \%an);}if(!$mc||!$md){&lx($z[578],\%an);}$ao=sub{if(lc$mf{$z[575]} eq$mc&&lc$mf{$z[637]}eq$md){$me=$mf{$z[48]};}};&au($ad{$z[190]}, $ao,\%mf);if(!$me){&lx($z[578],\%an);}&lg($ad{$z[190]},\%mf, $me);$mf{$z[516]}=$^T;$mf{$z[66]}=$^T;&dt($ad{$z[195]},\%mf, $me);}else{($mc,$md)=(lc$ag{$z[575]},lc$ag{$z[637]});if(!$mc ||!$md){&lx($z[638],\%an);}$ao=sub{if(($ae{$z[639]}&&$mf{$z[66]} <$^T-60*$ae{$z[639]})||$mf{$z[66]}<$^T-60*60*24){&li($ad{$z[195]}, $mf{$z[48]});}elsif(lc$mf{$z[575]}eq$mc&&lc$mf{$z[637]}eq$md) {$me=$mf{$z[48]};}};&au($ad{$z[195]},$ao,\%mf);if(!$me){&lx($z[638], \%an);}&lg($ad{$z[195]},\%mf,$me);$mf{$z[66]}=$^T;&dt($ad{$z[195]}, \%mf,$me);}&ls($z[575],$mc);&ls($z[637],$md);return%mf;}sub lx{if(!$aa{$z[620]}++){print$z [640]."\n\n";}my($jt)=$_[0]; my(%an)=%{$_[1]||{}};&fx($z[641],{});foreach(keys%an){$an{$_} =&fb($an{$_});}$an{$z[642]}=&mg(\%af,$z[575],$z[637],$z[643]); if($jt&&!$aa{$z[130]}{$z[131]}{$jt}){die($z[644]."'$jt' isn't defined!\n"); }if($jt){$an{$z[543]}=&bq($jt,\%an);}print&bq($z[645],{});if ($jt){print&bq($z[646],\%an);}else{print&bq($z[636],\%an);} print&bq($z[647],{});if($aa{$z[495]}){print"

";print"

$aa{'debug_output'}
" if($aa{$z[310]});}&mh();exit;}sub ou{&fx($z[641],{});&ls($z[575],''); &ls($z[637],'');$ab{$z[648]}=~s/^\s+|\s+$//g;if($ab{$z[648]} &&$ENV{$z[314]}=~/logoff/i){print"Content-type: text/html\n\n"; print qq|\n|;print qq|\n|; print qq|\n|;print qq|\n|; print qq|\n|;exit;}&lx();}sub mm{&fx($ad{$z[197]}->{$z[144]}, {});&lg($ad{$z[197]},\%ab,1);foreach(keys%ab){if(!/\W/&&$ab{$_} !~/\W/){$ab{$_."_$ab{$_}".$z[532]}=$z[533];$ab{$_."_$ab{$_}".$z[524]} =$z[525];}}$ab{$z[649]}=&ar($aa{$z[40]},$^T);$ab{$z[632]}||= 0;$ab{$z[635]}||=0;$ab{$z[650]}=&ar($aa{$z[40]},&as($^T));foreach (keys%ENV){$ab{"env_".lc($_)}=$ENV{$_};}$ab{$z[651]}=$^O;$ab{$z[652]} =$];$ab{$z[653]}||="not available";$ab{$z[654]}||=$ab{$z[655]}; $ab{$z[656]}=$aa{$z[508]};foreach(grep/^env_/,keys%ab){$ab{$_} =~s/(\W)(\w)/$1$2/g;}foreach(keys%ab){$ab{$_.$z[340]}= &fy($ab{$_})if/^dir/;$ab{$_}=~s/"/"/g;}if($^O!~/win32/i &&!$ab{$z[590]}&&defined$aa{$z[130]}{$z[131]}{$z[657]}){foreach ($z[658],$z[659],$z[660],$z[661],$z[662],$z[663],$z[664]){if (-e$_){$ac{$z[665]}.=&bq($z[657],{$z[622]=>$_});}}}my$mi=$z[666]; $mi=$z[667]if($ab{$z[667]});foreach(1..10){$mi="tab$_"if($af{"setup_tab$_"} &&defined$aa{$z[130]}{$z[131]}{"tab$_"});}&km($mi,\%ab);exit; }sub ov{&fx($z[668],{});$ac{$z[581]}=$ab{$z[581]};if(!$af{$z[589]}) {print"Content-type: text/html\n\n";print&bq("testmail_form", {});exit;}print"Content-type: text/html\n\n";print&bq("testmail_response_header", {});my$ja;$ja.="X-Remote-Addr: $ENV{'REMOTE_ADDR'}\n";$ja.= "From: $af{'from'}\n";$ja.="To: $af{'to'}\n";$ja.="\n";$ja.= $af{$z[543]};my%jb=(host=>$ab{$z[581]},helo=>$ae{$z[582]}{$z[583]}, timeout=>$ae{$z[582]}{$z[584]},debug=>0,pop3_auth=>$ab{$z[585]}, pop3_host=>$ab{$z[586]},pop3_user=>$ab{$z[587]},pop3_pass=> $ab{$z[588]},);if(!&mj($af{$z[500]})){print"Invalid 'from' email!"; }elsif(!&mj($af{$z[669]})){print"Invalid 'to' email!";}elsif ($ab{$z[585]}&&!$ab{$z[586]}){print"No POP3 server specified!"; }elsif($ab{$z[585]}&&!$ab{$z[587]}){print"No POP3 username specified!"; }elsif($ab{$z[585]}&&!$ab{$z[588]}){print"No POP3 password specified!"; }else{if(&ly($ja,\%jb)){print"Message sent successfully!";} else{print"There was an error: $aa{'error'}
\n";}}print&bq("testmail_response_footer", {});exit;}sub ow{&mk($z[670].$z[596].$aa{$z[0]}.$z[671]);&fx($ad{$z[197]}->{$z[144]}, {});&ml;if(!$ab{$z[559]}){&mm;}my$mi=$z[672];foreach(1..10) {$mi="saved_tab$_"if($af{"setup_tab$_"}&&defined$aa{$z[130]}{$z[131]}{"saved_tab$_"}); }&km($mi,{});exit;}sub ml{my($kt);if(defined$af{$z[673]}){$af{$z[673]} =~s/\s+//g;if(defined&mn){if(!&mn($af{$z[673]})){$kt=$z[674]; }if(!$af{$z[673]}){$kt=$z[675];}}if(!$af{$z[676]}){$kt=$z[677]; }if(!$af{$z[678]}){$kt=$z[679];}if($kt){$ac{$z[496]}=$kt;$ac{$z[680]} =$af{$z[678]};$ac{$z[681]}=$af{$z[676]};$ac{$z[682]}=$af{$z[673]}; &km($z[683],\%ac)}$ab{$z[678]}=$af{$z[678]};$ab{$z[676]}=$af{$z[676]}; $ac{$z[684]}=int sprintf($z[685],&mn($af{$z[673]}));$aa{$z[686]} =&mo();if(defined&mp&&$ab{$z[673]}ne$af{$z[673]}){∓}}foreach (qw(uploadmax lhour_offset lmin_offset)){if(exists$af{$_}){ $af{$_}=int($af{$_});}}foreach(qw(upload_height upload_width)) {if(exists$af{$_}){$af{$_}&&=int($af{$_});}}foreach(grep{/_default_to$/i }keys%af){my($mq,$eh)=/^((.*)_default_to)$/;if($af{$mq}=~/^null$/i) {$af{$mq}='';}$af{$eh}||=$af{$mq};}foreach(qw(publish_index publish_basename publish_fileext)) {$af{$_}=~s/^\.+//;$af{$_}=~s/\.+$//;}foreach(keys%af){if((/^dir_/ ||/^url_/)&¬/^url_logoff$/){if(!$af{$_}){next;}$af{$_}=~ tr|\\|/|;if(/^url_/&&index($af{$_},$z[129])>=0){next;}if(/^url_/ &&index($af{$_},$z[687])>=0){next;}if(substr($af{$_},-1,1)ne $z[64]){$af{$_}.=$z[64];}}}my$mr=$ab{$z[688]};my$ms=$ab{$z[689]}; &lg($ad{$z[197]},\%ab,1);foreach(sort keys%ab){$ab{$_}=$af{$_} if defined$af{$_};}&dt($ad{$z[197]},\%ab,1);$ac{$z[690]}=$ab{$z[691]}; foreach(keys%ab){$ac{$z[510].$_}=$ab{$_}if/^ui_/;}$ac{$z[680]} =$ab{$z[678]};$ac{$z[681]}=$ab{$z[676]};$ac{$z[682]}=$ab{$z[673]}; $ac{$z[692]}=$ab{$z[693]};$ac{$z[694]}=$ab{$z[647]};$ac{$z[695]} =$ab{$z[696]};foreach(grep/^dir_/,keys%ab){$ab{$_}="$aa{'cgidir'}/$ab{$_}" if index($ab{$_},$z[29])==0;$ab{$_}=~tr|\\|/|;1 while$ab{$_} =~s|/[^/]+/\.\.||;}if(($mr ne$ab{$z[688]}||$ms ne$ab{$z[689]}) &&($ab{$z[688]}||$ab{$z[689]})){&mt($ad{$z[13]},sub{my$bi=shift; if($ab{$z[688]}&&$bi->{$z[87]}){$bi->{$z[79]}=~s/\n/
/g; undef$bi->{$z[87]};}if($ab{$z[689]}&&$bi->{$z[89]}){$bi->{$z[80]} =~s/\n/
/g;undef$bi->{$z[89]};}});}&al();}sub ox{&ml; foreach(keys%ad){my$mu=$ad{$_}{$z[168]};if(defined&{$mu}){&{$mu}(); }}&km($z[697],{});}sub km{my($fs)=$_[0];my($an)=$_[1];unless ($fs){die($z[698]."\n");}if(ref($_[1])ne$z[223]){die$z[699]."\n"; }my(%an);if(!$aa{$z[620]}++){print$z [640]."\n\n";}&fx($z[641], {});print&bq($z[645],{});for(1..9){if($ah{$z[574]}>=$_&&$aa{$z[130]}{$z[131]}{$z[700].$_}) {$an{$z[701]}.=&bq($z[700].$_,{});}if($ah{$z[574]}==$_&&$aa{$z[130]}{$z[131]}{$z[700].$_.$z[702]}) {$an{$z[701]}.=&bq($z[700].$_.$z[702],{});}}$ac{$z[703]}="$ah{'name'} ($ai[$ah{'acl'}])"; $an{$z[80]}=&bq($fs,$an);print&bq($z[704],\%an);print&bq($z[647], {});if($aa{$z[495]}>=2){print"

Stack Trace
"; my$cu=0;while(my($eo,$du,$fa)=(caller($cu++))[1,2,3]){print qq!

($fa) called from ($eo) line ($du)
\n!;}}if($aa{$z[495]}) {print"

";print"

$aa{'debug_output'}
"if($aa{$z[310]}); }&mh();exit;}sub mh{print$z [705]."\n";print$ac {$z[692]}.$z[706] .$aa{$z[4]}.$z[707].$aa{$z[708]}.$z[29].$aa{$z[709]}.")\n"; print$z [710].$ac{$z[684]}.$z[711].$ac{$z[680]}.$z[711].$ac{$z[681]} ."\n";printf($z[712]."\n",time()-$^T);print$z [713]."\n";}sub oy{my(@ey)=map"$aa{'datadir'}$ad{$_}{'datafile'}",keys%ad;my(@mv) =($aa{$z[274]});my($ay,$eo,$mw);foreach$ay(sort@mv){if($ay eq""){next;}if(!-d$ay||!-w$ay){$mw.="$ay\n";}}foreach$eo(sort @ey){$eo=~s/\\/\//g;1 while$eo=~s!/[^/]+/\.\./!/!;if(-f$eo&& !-w$eo){$mw.="$eo\n";}}if($mw){&aj($z[273],$mw);}}sub mk{return unless$ae{$z[603]};my$ja=shift;&lx($z[714],{$z[543]=>$ja}); }sub ma{return unless$ae{$z[603]};my$ja=shift;$ja=&fy($ja); print"Content-type: text/html\n\n";print qq|\n| ;exit;}sub oz{&fx($ad{$z[197]}{$z[144]},{});my%mx;my$my;foreach $my(keys%{$aa{$z[715]}}){my%an=($z[716]=>$my,$z[717]=>$aa{$z[715]}{$my} );$mx{$my}[0]=&bq($z[718],\%an);$mx{$my}[1]=&bq($z[719],\%an); }foreach$my(keys%{$aa{$z[715]}}){my$mz=join'',map{$mx{$_}[$my ==$_?1:0]}sort keys%{$aa{$z[715]}};$ac{$z[720].$my}=&bq($z[721], {$z[722]=>$mz});}}1;;sub pa{my$na=shift||die("ip2num : no ip or host specified!\n"); my($a,$b,$nb,$nc,$lf);if($na=~/[^0-9\.]/){my$jn=gethostbyname("$na.") ||die("ip2num: Can't find IP for host '$na'!\n");($a,$b,$nb,$nc) =unpack($z[723],$jn);}else{($a,$b,$nb,$nc)=split(/\./,$na); }$lf+=$nc*(256**0);$lf+=$nb*(256**1);$lf+=$b*(256**2);$lf+= $a*(256**3);return$lf;}sub pb{my$lf=shift||die("num2ip : no number specified!\n"); my($a,$b,$nb,$nc);$a=($lf/256**3)% 256;$b=($lf/256**2)% 256; $nb=($lf/256**1)% 256;$nc=($lf/256**0)% 256;return join$z[29], $a,$b,$nb,$nc;}sub pc{my$hp=shift||time();$hp-=(localtime($hp))[6] * 60*60*24;$hp-=(localtime($hp))[2]* 60*60;$hp-=(localtime($hp))[1] * 60;$hp-=(localtime($hp))[0]* 1;return$hp;}sub pd{my$hp=shift ||time();$hp-=(localtime($hp))[2]* 60*60;$hp-=(localtime($hp))[1] * 60;$hp-=(localtime($hp))[0]* 1;return$hp;}sub pe{my$gh=int shift;my$gi=int($gh/60);my$gj=int($gi/60);$gi%=60;$gh%=60;return sprintf("%01d:%02d:%02d",$gj,$gi,$gh);}sub pf{my$lf=reverse int shift;$lf=~s/(...)\B/$1,/g;return reverse$lf;}sub bu{my $lf=shift;if($lf==int($lf)){return$lf;}elsif($lf<0){return int$lf;}else{return int($lf)+1;}}sub pg{my$lf=shift;if($lf== int($lf)){return$lf;}elsif($lf<0){return int($lf)-1;}else{return int$lf;}}sub bv{return(sort{$a<=>$b}@_)[0];}sub ph{return(sort {$a<=>$b}@_)[-1];}1;;sub av{local(*AA);my($eo,%er,$fr,$fs); %er=%{$_[1]}if$_[1];my$nd=$_[3];my%ft;%ft=($z[328]=>0,$z[329] =>0,$z[330]=>0,$z[53]=>0,$z[339]=>0);foreach(split(/ /,$_[2])) {if(undef$ft{$_}){die($z[331]."'$_'\n");}$ft{$_}=1;}unless($ft{$z[328]}) {$ft{$z[329]}=1;}if(!$_[0]){die$z[332]."\n";}if(ref($_[1])ne $z[223]){die$z[333]."\n";}if((!$ft{$z[329]}||!$aa{$z[130]}{$z[329]}{$_[0]}) ){if(-e"$_[0]"){$eo=$_[0];}else{foreach(grep/^templatedir/, sort keys%aa){if(-e"$aa{$_}/$_[0]"){$eo="$aa{$_}/$_[0]";last; }}if(!$eo){die$z[334]."'$_[0]'".$z[335]."\n";}}}if($ft{$z[329]} &&$aa{$z[130]}{$z[329]}{$_[0]}){$fr=$aa{$z[130]}{$z[329]}{$_[0]}; }else{open(AA,"<$eo")||die$z[336]."$eo! $!\n";binmode(AA)if ($eo=~/gif$/i||$eo=~/jpg$/i);read(AA,$fr,-s AA);close(AA);} if($ft{$z[330]}){return$fr;}if(!$ft{$z[329]}||!$aa{$z[130]}{$z[329]}{$_[0]}) {foreach$fs($fr=~m//g) {$aa{$z[130]}{$z[131]}{"$nd$1"}=$2 if($fr=~m/(?:\r\n|\n)?(.*?)/is); }$fr=~s/(?:\r\n|\n)?(.*?)//gis; if($ft{$z[329]}){$aa{$z[130]}{$z[329]}{$_[0]}=$fr;}}if($ft{$z[53]}) {while($fr=~//i){my$ne=$1; my$fu=$ne;$fu=~s/\$(\w+?)\$/defined$ac{$1}?$ac{$1}:$er{$1}/eg; unless($fu){$fr=~s///;next; }if($fu=~m!^/!){;}else{if($_[4]){$fu="$_[4]$fu";}else{$fu=($eo =~m!(.*/)!)[0].$fu;}}my$fw;if(not$aa{$z[130]}{$z[724]}{$fu}++) {my$nf;if(-e"$fu"){$nf++;}else{foreach(grep/^templatedir/,sort keys%aa){if(-e"$aa{$_}/$fu"){$nf++;last;}}}if($nf){$fw=&av($fu, $_[1],"$_[2] inside_ssi",$z[725],$_[4]);}else{$fw="[ Program Error - Could not include file \"$fu\" via template include ]"; }}else{$fw="[ Program Error - Cyclic Include - The file '$fu' is included by itself (perhaps indirectly). Please check include files for other Include statements. ]"; }$fr=~s//$fw/;delete$aa{$z[130]}{$z[724]}{$fu}; }}else{$fr=~s///gi;}$fr=~s//$1/gi; $fr=~s[\$(\w+?)(_ue|_he|_nbsp|_je)?\$][my$eg=defined$ac{$1} ?$ac{$1}:$er{$1};if($2 eq$z[340]){$eg=&fy($eg);}if($2 eq$z[341]) {$eg=&fb($eg);}if($2 eq$z[342]){$eg=&fb($eg);$eg=~s/ / /g; }if($2 eq$z[343]){$eg=&fz($eg);}$eg;]ge;return$fr;}sub bn{my ($ho,$bi,$nd)=@_;$ho=~s|
(\s*\*\*\*image\d+(?:\:(\w+))?\*\*\*)|
$1|gsi; $ho=~s[\s*\*\*\*image(\d+)(?:\:(\w+))?\*\*\*\s*][if($2 eq$z[726]) {$bi->{$z[117].$1}}else{my%ng;$ng{$z[727]}=$2||$ae{$z[728]}{$z[729]} ||$z[730];$ng{$z[731]}=$bi->{$z[117].$1};$ng{$z[732]}=$bi->{$z[118] .$1};$ng{$z[733]}=$bi->{$z[68].$1};$ng{$z[734]}=$bi->{$z[69] .$1};&bq($nd.($ng{$z[732]}ne''?$z[732]:$z[735]),\%ng);}]eigo; return$ho;}sub pi{my($an,$bi,$nd,$nh,$ni,@nj)=@_;$an->{$z[86]} =&bn($nh,$bi,$nd);$an->{$z[88]}=&bn($ni,$bi,$nd);my$cu;for$cu (1..$aa{$z[6]}){$an->{$z[84].$cu}=&bn($nj[$cu-1],$bi,$nd);} }sub pj{my($an,$nh,$ni,@nj)=@_;($an->{$z[86]}=$nh)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g; ($an->{$z[88]}=$ni)=~s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g; my$cu;for$cu(1..$aa{$z[6]}){($an->{$z[84].$cu}=$nj[$cu-1])=~ s/\s*\*\*\*image\d+(\:\w+)?\*\*\*\s*//g;}}sub pk{my$fr=shift; my$hp=$ac{$z[39]}||&ar($aa{$z[40]},$ab{$z[39]}||$^T);my$nk= $z[736].$aa{$z[0]}.$z[737];$$fr=$z[738].$hp.$z[739].$aa{$z[0]} .$z[740]."\n\n".$$fr;unless($$fr=~s/(]+>)/$nk\n$1/is) {$$fr=~s/(]*>)/$1\n$nk\n/i;}}sub hc{my$it;eval{local $SIG{$z[741]}=undef;local$SIG{$z[742]}=undef;$it=timelocal(@_); };if($@){$it=0;}return$it;}sub hb{my$it;eval{local$SIG{$z[741]} =undef;local$SIG{$z[742]}=undef;$it=timegm(@_);};if($@){$it =0;}return$it;}1;;%ae=&nl("$by/config.ini");$ac{$z[743]}=$ae{$z[513]}{$z[744]} ||"#336699";$aa{$z[274]}=$ae{$z[274]}||$z[745];$aa{$z[272]} =$ae{$z[272]}||$z[746];$aa{$z[40]}=$ae{$z[513]}{$z[40]}||$z[747]; $aa{$z[91]}=$ae{$z[513]}{$z[91]}||$z[748];$aa{$z[749]}=$ae{$z[513]}{$z[749]} ||$z[433];&aj($z[750])if!$ENV{$z[751]};&aj("macftp")if"¡"ne "\xA1";&aj($z[752])if$ENV{$z[753]}&&!$ae{$z[754]};%aa=(%aa, $z[508]=>$by,$z[755]=>$bw,$z[756]=>$bw,$z[63]=>$z[757],$z[758] =>$z[759],$z[760]=>$z[761],$z[620]=>0,);foreach(qw(datadir filelock templatedir1 templatedir2 templatedir3 archive)) {if(ref($aa{$_})){next;}$aa{$_}="$by/$aa{$_}"if(index($aa{$_},$z[29]) ==0);$aa{$_}=~s|\\|/|g;1 while$aa{$_}=~s|/[^/]+/\.\./|/|;}&lg($ad{$z[197]}, \%ab,1);if(!$ab{$z[762]}){&aj($z[763]);}foreach(grep/^dir_/, keys%ab){$ab{$_}="$by/$ab{$_}"if index($ab{$_},$z[29])==0;$ab{$_} =~tr|\\|/|;1 while$ab{$_}=~s|/[^/]+/\.\.||;}foreach(qw(prog_name prog_name2 prog_ver cgidir cgiurl publish_fileext)) {$ac{$z[510].$_}=$aa{$_};}foreach(qw(url_help reg1 reg2 reg3)) {$ac{$z[510].$_}=$ab{$_};}$ac{$z[27]}=$ab{$z[27]};$ac{$z[690]} =$ab{$z[691]};$ac{$z[692]}=join$z[764],grep{$_}$aa{$z[0]},$ab{$z[693]}; $ac{$z[765]}||=$ab{$z[693]};%af=&nm;%ag=&nn;}sub aj{my($no) =$ac{$z[128]};my($ex,$np,$nq)=@_;my(%nr,$kt,$ns);$np=&fb($np); $ac{$z[766]}||="#336699";%nr=($z[531]=>[("Can't find record # $np", "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[273]=>[("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:

$np")], $z[272]=>[("Warning: Persistent Filelock!","This web application uses temporary 'file locks' to ensure than only one user can update data at a time. The program was halted while in the middle of writing data and the file lock will need to be removed manually to avoid data corruption. Please ask your server administrator to remove the following directory:

$np")], $z[275]=>[($z[767],$z[768])],$z[769]=>[("Warning: Program corrupted during upload!", "This is usually caused by Mac FTP clients that have an \"Translate ISO characters\" setting enabled.

If you are using a Mac, try disabling this setting and re-uploading all the files, otherwise, contact support for assistance. ")], $z[770]=>[("Publishing Error","The program cannot create or write to the file:

$np

Please ask your server administrator to make sure the publish directory and publish file(s) are writable.")], $z[752]=>[("Program doesn't support mod_perl","Your server is running $ENV{MOD_PERL}

This program doesn't support mod_perl. Please ask your server administrator to disable mod_perl for this program.")], $z[750]=>[("This program can only be run through a web server.", "")],$z[771]=>[($z[772],$z[773])],$z[774]=>[("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:

$np")], $z[775]=>[("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:

$np")], );my($nt)=$ac{$z[776]}||$nr{$ex}[0]||"Program Message";if($nr{$ex}[0]) {$ns=$nr{$ex}[0];$kt=$nr{$ex}[1];}elsif($np&&$ex){$ns=&fb($ex); $kt=$np;}else{$ns="Program Message";$kt=&fb($ex);}if(!$nr{$ex}[1]) {$kt=~s/\n/

\n/g;}if($aa{$z[495]}){if(!$ENV{$z[751]}) {$kt.="\n\nSTACK TRACE\n";}else{$kt.="

Stack Trace
"; }my$cu=0;while(my($eo,$du,$fa)=(caller($cu++))[1,2,3]){if(!$ENV{$z[751]}) {$kt.=qq!($fa) called from ($eo) line ($du)\n!;}else{$kt.=qq!

($fa) called from ($eo) line ($du)
\n!; }}}if(!$ENV{$z[751]}){foreach($ns,$kt){s/
/\n/gm;s/

/\n\n/gm; }foreach($ns,$kt){s/<[^>]*>//gm;}print"\n$aa{'prog_name'} v$aa{'prog_ver'}\n$ns\n$kt\n"; }else{if(!$aa{$z[620]}++){print"Cache-Control: no-cache\nPragma: no-cache\nExpires: -1\n"; print"Content-type: text/html\n\n";}my$nu=$z[777]if$nq;print qq|\n\n \n $nt\n \n \n \n\n

\n
\n
\n
\n \n

$ns

\n $kt\n

\n
\n
\n
\n
\n
\n| ;}if($aa{$z[495]}&&$aa{$z[310]}){if(!$ENV{$z[751]}){print"$aa{'debug_output'}\n"; }else{print"

";print"

$aa{'debug_output'}"
if($aa{$z[310]});print"";}}if($aa{$z[271]}){rmdir($aa{$z[272]})
&&undef$aa{$z[271]};}if($ENV{$z[751]}){printf($z[778]."\n",time()-$^T);
print$z [779]."\n\n";}exit;}sub bp{my($fs,$hy,$nv)=@_;if(defined
$aa{$z[130]}{$z[131]}{$fs.$nv}){$fs.=$nv;}&bq($fs,$hy);}sub 
al{my@nw;my$cu;foreach$cu(1..3){my$nx=$ab{"sort${cu}field"};
next unless$nx;$nx="#$nx#"if$ab{"sort${cu}numeric"};$nx="-$nx"
if$ab{"sort${cu}reverse"};push@nw,$nx;}$ad{$z[13]}{$z[166]}
=join($z[780],@nw);}
# ----------------------------------------------------------------------------
#   Programming by interactivetools.com, inc.