if(!this.JSONEX){
JSONEX={};
}
(function(){
function f(n){
return n<10?"0"+n:n;
};
if(typeof Date.prototype.toJSON!=="function"){
Date.prototype.toJSON=function(_3){
return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z";
};
String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(_4){
return this.valueOf();
};
}
var cx=new RegExp("/[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g");
var _6=new RegExp("/[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g");
var _7,_8,_9={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\"":"\\\"","\\":"\\\\"},_a;
function _b(_c){
_6.lastIndex=0;
return _6.test(_c)?"\""+_c.replace(_6,function(a){
var c=_9[a];
return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4);
})+"\"":"\""+_c+"\"";
};
function _f(key,_11){
var i,k,v,_15,_16=_7,_17,_18=_11[key];
if(_18&&typeof _18==="object"&&typeof _18.toJSON==="function"){
_18=_18.toJSON(key);
}
if(typeof _a==="function"){
_18=_a.call(_11,key,_18);
}
switch(typeof _18){
case "string":
return _b(_18);
case "number":
return isFinite(_18)?String(_18):"null";
case "boolean":
case "null":
return String(_18);
case "object":
if(!_18){
return "null";
}
_7+=_8;
_17=[];
if(Object.prototype.toString.apply(_18)==="[object Array]"){
_15=_18.length;
for(i=0;i<_15;i+=1){
_17[i]=_f(i,_18)||"null";
}
v=_17.length===0?"[]":_7?"[\n"+_7+_17.join(",\n"+_7)+"\n"+_16+"]":"["+_17.join(",")+"]";
_7=_16;
return v;
}
if(_a&&typeof _a==="object"){
_15=_a.length;
for(i=0;i<_15;i+=1){
k=_a[i];
if(typeof k==="string"){
v=_f(k,_18);
if(v){
_17.push(_b(k)+(_7?": ":":")+v);
}
}
}
}else{
for(k in _18){
if(Object.hasOwnProperty.call(_18,k)){
v=_f(k,_18);
if(v){
_17.push(_b(k)+(_7?": ":":")+v);
}
}
}
}
v=_17.length===0?"{}":_7?"{\n"+_7+_17.join(",\n"+_7)+"\n"+_16+"}":"{"+_17.join(",")+"}";
_7=_16;
return v;
}
};
if(typeof JSONEX.stringify!=="function"){
JSONEX.stringify=function(_19,_1a,_1b){
var i;
_7="";
_8="";
if(typeof _1b==="number"){
for(i=0;i<_1b;i+=1){
_8+=" ";
}
}else{
if(typeof _1b==="string"){
_8=_1b;
}
}
_a=_1a;
if(_1a&&typeof _1a!=="function"&&(typeof _1a!=="object"||typeof _1a.length!=="number")){
throw new Error("JSONEX.stringify");
}
return _f("",{"":_19});
};
}
if(typeof JSONEX.parse!=="function"){
JSONEX.parse=function(_1d,_1e){
var j;
function _20(_21,key){
var k,v,_25=_21[key];
if(_25&&typeof _25==="object"){
for(k in _25){
if(Object.hasOwnProperty.call(_25,k)){
v=_20(_25,k);
if(v!==undefined){
_25[k]=v;
}else{
delete _25[k];
}
}
}
}
return _1e.call(_21,key,_25);
};
cx.lastIndex=0;
if(cx.test(_1d)){
_1d=_1d.replace(cx,function(a){
return "\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4);
});
}
if(/^[\],:{}\s]*$/.test(_1d.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){
j=eval("("+_1d+")");
return typeof _1e==="function"?_20({"":j},""):j;
}
throw new SyntaxError("JSONEX.parse");
};
}
}());


