this.JSON||(this.JSON={}),function(){function l(a){return a<10?"0"+a:a}function o(a){return p.lastIndex=0,p.test(a)?'"'+a.replace(p,function(a){var b=r[a];return typeof b=="string"?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function m(a,b){var c,d,e,f,g=h,i,j=b[a];j&&typeof j=="object"&&typeof j.toJSON=="function"&&(j=j.toJSON(a)),typeof k=="function"&&(j=k.call(b,a,j));switch(typeof j){case"string":return o(j);case"number":return isFinite(j)?String(j):"null";case"boolean":case"null":return String(j);case"object":if(!j)return"null";h+=n,i=[];if(Object.prototype.toString.apply(j)==="[object Array]"){f=j.length;for(c=0;c<f;c+=1)i[c]=m(c,j)||"null";return e=i.length===0?"[]":h?"[\n"+h+i.join(",\n"+h)+"\n"+g+"]":"["+i.join(",")+"]",h=g,e}if(k&&typeof k=="object"){f=k.length;for(c=0;c<f;c+=1)d=k[c],typeof d=="string"&&(e=m(d,j))&&i.push(o(d)+(h?": ":":")+e)}else for(d in j)Object.hasOwnProperty.call(j,d)&&(e=m(d,j))&&i.push(o(d)+(h?": ":":")+e);return e=i.length===0?"{}":h?"{\n"+h+i.join(",\n"+h)+"\n"+g+"}":"{"+i.join(",")+"}",h=g,e}}typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+l(this.getUTCMonth()+1)+"-"+l(this.getUTCDate())+"T"+l(this.getUTCHours())+":"+l(this.getUTCMinutes())+":"+l(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var q=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,p=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,h,n,r={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;typeof JSON.stringify!="function"&&(JSON.stringify=function(a,b,c){var d;n=h="";if(typeof c=="number")for(d=0;d<c;d+=1)n+=" ";else typeof c=="string"&&(n=c);if(!(k=b)||typeof b=="function"||typeof b=="object"&&typeof b.length=="number")return m("",{"":a});throw Error("JSON.stringify")}),typeof JSON.parse!="function"&&(JSON.parse=function(b,f){function c(a,b){var d,e,g=a[b];if(g&&typeof g=="object")for(d in g)Object.hasOwnProperty.call(g,d)&&(e=c(g,d),e!==undefined?g[d]=e:delete g[d]);return f.call(a,b,g)}var d;b=String(b),q.lastIndex=0,q.test(b)&&(b=b.replace(q,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(b.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return d=eval("("+b+")"),typeof f=="function"?c({"":d},""):d;throw new SyntaxError("JSON.parse")})}()