/* 
 * More info at: http://phpjs.org
 * 
 * This is version: 3.08
 * php.js is copyright 2010 Kevin van Zonneveld.
 * 
 * Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld
 * (http://kevin.vanzonneveld.net), Onno Marsman, Theriault, Michael White
 * (http://getsprink.com), Waldo Malqui Silva, Paulo Ricardo F. Santos, Jack,
 * Jonas Raoni Soares Silva (http://www.jsfromhell.com), Philip Peterson, Ates
 * Goral (http://magnetiq.com), Legaev Andrey, Alex, Ratheous, Martijn
 * Wieringa, Nate, lmeyrick (https://sourceforge.net/projects/bcmath-js/),
 * Enrique Gonzalez, Philippe Baumann, Webtoolkit.info
 * (http://www.webtoolkit.info/), travc, Carlos R. L. Rodrigues
 * (http://www.jsfromhell.com), Jani Hartikainen, Ash Searle
 * (http://hexmen.com/blog/), Ole Vrijenhoek, stag019, d3x, Erkekjetter,
 * GeekFG (http://geekfg.blogspot.com), T.Wild, Johnny Mast
 * (http://www.phpvrouwen.nl), Michael Grier,
 * http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript,
 * pilus, marrtins, Andrea Giammarchi (http://webreflection.blogspot.com),
 * WebDevHobo (http://webdevhobo.blogspot.com/), Caio Ariede
 * (http://caioariede.com), Thunder.m, Aman Gupta, Martin
 * (http://www.erlenwiese.de/), Tyler Akins (http://rumkin.com), Lars Fischer,
 * Paul Smith, Alfonso Jimenez (http://www.alfonsojimenez.com), Michael White,
 * mdsjack (http://www.mdsjack.bo.it), Pellentesque Malesuada, gettimeofday,
 * David, Joris, saulius, Robin, Steven Levithan
 * (http://blog.stevenlevithan.com), Public Domain
 * (http://www.json.org/json2.js), Kankrelune (http://www.webfaktory.info/),
 * Tim de Koning (http://www.kingsquare.nl), Arpad Ray (mailto:arpad@php.net),
 * AJ, KELAN, Sakimori, Mailfaker (http://www.weedem.fr/), Oleg Eremeev, Marc
 * Palau, Josh Fraser
 * (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/),
 * Karol Kowalski, Chris, Breaking Par Consulting Inc
 * (http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7),
 * Mirek Slugen, majak, Felix Geisendoerfer (http://www.debuggable.com/felix),
 * gorthaur, Steve Hilder, LH, Stoyan Kyosev (http://www.svest.org/), Der
 * Simon (http://innerdom.sourceforge.net/), HKM, echo is bad, nord_ua, Ozh,
 * metjay, XoraX (http://www.xorax.info), Eugene Bulkin
 * (http://doubleaw.com/), JB, strcasecmp, strcmp, Taras Bogach, Francesco,
 * Marco, noname, class_exists, madipta, Alan C, mktime, Douglas Crockford
 * (http://javascript.crockford.com), uestla, Frank Forte, David James, Steve
 * Clay, J A R, jpfle, Marc Jansen, Paul, Hyam Singer
 * (http://www.impact-computing.com/), T. Wild, Ole Vrijenhoek
 * (http://www.nervous.nl/), Raphael (Ao RUDLER), kenneth, Brad Touesnard,
 * ChaosNo1, Subhasis Deb, Norman "zEh" Fuchs, 0m3r, Sanjoy Roy, Rob, Gilbert,
 * Bayron Guevara, paulo kuong, Orlando, duncan, sankai, hitwork, Philippe
 * Jausions (http://pear.php.net/user/jausions), Aidan Lister
 * (http://aidanlister.com/), ejsanders, Nick Callen, Brian Tafoya
 * (http://www.premasolutions.com/), johnrembo, sowberry, Yves Sucaet, Denny
 * Wardhana, Ulrich, kilops, dptr1988, john (http://www.jd-tech.net), MeEtc
 * (http://yass.meetcweb.com), Peter-Paul Koch
 * (http://www.quirksmode.org/js/beat.html), T0bsn, Tim Wiel, Bryan Elliott,
 * Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev), JT,
 * Thomas Beaucourt (http://www.webapp.fr), David Randall, DxGx, Soren Hansen,
 * lmeyrick (https://sourceforge.net/projects/bcmath-js/this.), Le Torbi,
 * djmix, Lincoln Ramsay, Linuxworld, Thiago Mata
 * (http://thiagomata.blog.com), Pedro Tainha (http://www.pedrotainha.com),
 * James, Pyerre, Jon Hohle, felix, ger, Russell Walker
 * (http://www.nbill.co.uk/), Garagoth, Andrej Pavlovic, Dino, Jamie Beck
 * (http://www.terabit.ca/), DtTvB
 * (http://dt.in.th/2008-09-16.string-length-in-bytes.html), setcookie, YUI
 * Library: http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html,
 * Blues at http://hacks.bluesmoon.info/strftime/strftime.js, Andreas, rem,
 * meo, Jay Klehr, Kheang Hok Chin (http://www.distantia.ca/), Luke Smith
 * (http://lucassmith.name), Rival, Amir Habibi
 * (http://www.residence-mixte.com/), Cagri Ekin, Greenseed, mk.keck, Leslie
 * Hoare, booeyOH, Ben Bryan, Michael, Christian Doebler, Kirk Strobeck, Brant
 * Messenger (http://www.brantmessenger.com/), Rick Waldron, Mick@el, Martin
 * Pool, Pierre-Luc Paour, Daniel Esteban, Christoph, Saulo Vallory, Kristof
 * Coomans (SCK-CEN Belgian Nucleair Research Centre), rezna, Tomasz
 * Wesolowski, Gabriel Paderni, Marco van Oort, Philipp Lenssen,
 * penutbutterjelly, Simon Willison (http://simonwillison.net), Anton Ongson,
 * Eric Nagel, Bobby Drake, Pul, Blues (http://tech.bluesmoon.info/), Luke
 * Godfrey, Diogo Resende, Howard Yeend, vlado houba, Jalal Berrami, Itsacon
 * (http://www.itsacon.net/), date, Billy, stensi, Cord, fearphage
 * (http://http/my.opera.com/fearphage/), Victor, Matteo, Artur Tchernychev,
 * Francois, nobbler, Fox, marc andreu, Nick Kolosov (http://sammy.ru),
 * Nathan, Arno, Scott Cariss, Slawomir Kaniecki, ReverseSyntax, Jason Wong
 * (http://carrot.org/), Mateusz "loonquawl" Zalega, Manish, Wagner B. Soares,
 * 3D-GRAF, jakes, Yannoo, gabriel paderni, daniel airton wermann
 * (http://wermann.com.br), Atli ?—r, Allan Jensen
 * (http://www.winternet.no), Benjamin Lupton, davook, Maximusya, FGFEmperor,
 * baris ozdil, Luis Salazar (http://www.freaky-media.com/), Tim de Koning,
 * taith, Matt Bradley, FremyCompany, T.J. Leahy, Greg Frazier, Valentina De
 * Rosa, Tod Gentille, Riddler (http://www.frontierwebdev.com/), Alexander M
 * Beedie
 * 
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES
 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 */ 


// Compression: minified


function serialize(mixed_value){var _getType=function(inp){var type=typeof inp,match;var key;if(type=='object'&&!inp){return'null';}
if(type=="object"){if(!inp.constructor){return'object';}
var cons=inp.constructor.toString();match=cons.match(/(\w+)\(/);if(match){cons=match[1].toLowerCase();}
var types=["boolean","number","string","array"];for(key in types){if(cons==types[key]){type=types[key];break;}}}
return type;};var type=_getType(mixed_value);var val,ktype='';switch(type){case"function":val="";break;case"boolean":val="b:"+(mixed_value?"1":"0");break;case"number":val=(Math.round(mixed_value)==mixed_value?"i":"d")+":"+mixed_value;break;case"string":mixed_value=this.utf8_encode(mixed_value);val="s:"+encodeURIComponent(mixed_value).replace(/%../g,'x').length+":\""+mixed_value+"\"";break;case"array":case"object":val="a";var count=0;var vals="";var okey;var key;for(key in mixed_value){ktype=_getType(mixed_value[key]);if(ktype=="function"){continue;}
okey=(key.match(/^[0-9]+$/)?parseInt(key,10):key);vals+=this.serialize(okey)+
this.serialize(mixed_value[key]);count++;}
val+=":"+count+":{"+vals+"}";break;case"undefined":default:val="N";break;}
if(type!="object"&&type!="array"){val+=";";}
return val;}
function unserialize(data){var that=this;var utf8Overhead=function(chr){var code=chr.charCodeAt(0);if(code<0x0080){return 0;}
if(code<0x0800){return 1;}
return 2;};var error=function(type,msg,filename,line){throw new that.window[type](msg,filename,line);};var read_until=function(data,offset,stopchr){var buf=[];var chr=data.slice(offset,offset+1);var i=2;while(chr!=stopchr){if((i+offset)>data.length){error('Error','Invalid');}
buf.push(chr);chr=data.slice(offset+(i-1),offset+i);i+=1;}
return[buf.length,buf.join('')];};var read_chrs=function(data,offset,length){var buf;buf=[];for(var i=0;i<length;i++){var chr=data.slice(offset+(i-1),offset+i);buf.push(chr);length-=utf8Overhead(chr);}
return[buf.length,buf.join('')];};var _unserialize=function(data,offset){var readdata;var readData;var chrs=0;var ccount;var stringlength;var keyandchrs;var keys;if(!offset){offset=0;}
var dtype=(data.slice(offset,offset+1)).toLowerCase();var dataoffset=offset+2;var typeconvert=function(x){return x;};switch(dtype){case'i':typeconvert=function(x){return parseInt(x,10);};readData=read_until(data,dataoffset,';');chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case'b':typeconvert=function(x){return parseInt(x,10)!==0;};readData=read_until(data,dataoffset,';');chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case'd':typeconvert=function(x){return parseFloat(x);};readData=read_until(data,dataoffset,';');chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case'n':readdata=null;break;case's':ccount=read_until(data,dataoffset,':');chrs=ccount[0];stringlength=ccount[1];dataoffset+=chrs+2;readData=read_chrs(data,dataoffset+1,parseInt(stringlength,10));chrs=readData[0];readdata=readData[1];dataoffset+=chrs+2;if(chrs!=parseInt(stringlength,10)&&chrs!=readdata.length){error('SyntaxError','String length mismatch');}
readdata=that.utf8_decode(readdata);break;case'a':readdata={};keyandchrs=read_until(data,dataoffset,':');chrs=keyandchrs[0];keys=keyandchrs[1];dataoffset+=chrs+2;for(var i=0;i<parseInt(keys,10);i++){var kprops=_unserialize(data,dataoffset);var kchrs=kprops[1];var key=kprops[2];dataoffset+=kchrs;var vprops=_unserialize(data,dataoffset);var vchrs=vprops[1];var value=vprops[2];dataoffset+=vchrs;readdata[key]=value;}
dataoffset+=1;break;default:error('SyntaxError','Unknown / Unhandled data type(s): '+dtype);break;}
return[dtype,dataoffset-offset,typeconvert(readdata)];};return _unserialize((data+''),0)[2];}
function utf8_decode(str_data){var tmp_arr=[],i=0,ac=0,c1=0,c2=0,c3=0;str_data+='';while(i<str_data.length){c1=str_data.charCodeAt(i);if(c1<128){tmp_arr[ac++]=String.fromCharCode(c1);i++;}else if((c1>191)&&(c1<224)){c2=str_data.charCodeAt(i+1);tmp_arr[ac++]=String.fromCharCode(((c1&31)<<6)|(c2&63));i+=2;}else{c2=str_data.charCodeAt(i+1);c3=str_data.charCodeAt(i+2);tmp_arr[ac++]=String.fromCharCode(((c1&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}
return tmp_arr.join('');}
function utf8_encode(argString){var string=(argString+'');var utftext="";var start,end;var stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n++){var c1=string.charCodeAt(n);var enc=null;if(c1<128){end++;}else if(c1>127&&c1<2048){enc=String.fromCharCode((c1>>6)|192)+String.fromCharCode((c1&63)|128);}else{enc=String.fromCharCode((c1>>12)|224)+String.fromCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128);}
if(enc!==null){if(end>start){utftext+=string.substring(start,end);}
utftext+=enc;start=end=n+1;}}
if(end>start){utftext+=string.substring(start,string.length);}
return utftext;}
