if(typeof JSON!=="object"){JSON={}}(function(){"use strict";var rx_one=/^[\],:{}\s]*$/;var rx_two=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g;var rx_three=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g;var rx_four=/(?:^|:|,)(?:\s*\[)+/g;var rx_escapable=/[\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;var rx_dangerous=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;function f(t){return t<10?"0"+t:t}function this_value(){return this.valueOf()}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};Boolean.prototype.toJSON=this_value;Number.prototype.toJSON=this_value;String.prototype.toJSON=this_value}var gap;var indent;var meta;var rep;function quote(t){rx_escapable.lastIndex=0;return rx_escapable.test(t)?'"'+t.replace(rx_escapable,function(t){var e=meta[t];return typeof e==="string"?e:"\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+t+'"'}function str(t,e){var r;var n;var f;var o;var u=gap;var a;var i=e[t];if(i&&typeof i==="object"&&typeof i.toJSON==="function"){i=i.toJSON(t)}if(typeof rep==="function"){i=rep.call(e,t,i)}switch(typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null";case"boolean":case"null":return String(i);case"object":if(!i){return"null"}gap+=indent;a=[];if(Object.prototype.toString.apply(i)==="[object Array]"){o=i.length;for(r=0;r<o;r+=1){a[r]=str(r,i)||"null"}f=a.length===0?"[]":gap?"[\n"+gap+a.join(",\n"+gap)+"\n"+u+"]":"["+a.join(",")+"]";gap=u;return f}if(rep&&typeof rep==="object"){o=rep.length;for(r=0;r<o;r+=1){if(typeof rep[r]==="string"){n=rep[r];f=str(n,i);if(f){a.push(quote(n)+(gap?": ":":")+f)}}}}else{for(n in i){if(Object.prototype.hasOwnProperty.call(i,n)){f=str(n,i);if(f){a.push(quote(n)+(gap?": ":":")+f)}}}}f=a.length===0?"{}":gap?"{\n"+gap+a.join(",\n"+gap)+"\n"+u+"}":"{"+a.join(",")+"}";gap=u;return f}}if(typeof JSON.stringify!=="function"){meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};JSON.stringify=function(t,e,r){var n;gap="";indent="";if(typeof r==="number"){for(n=0;n<r;n+=1){indent+=" "}}else if(typeof r==="string"){indent=r}rep=e;if(e&&typeof e!=="function"&&(typeof e!=="object"||typeof e.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":t})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(t,e){var r;var n;var f=t[e];if(f&&typeof f==="object"){for(r in f){if(Object.prototype.hasOwnProperty.call(f,r)){n=walk(f,r);if(n!==undefined){f[r]=n}else{delete f[r]}}}}return reviver.call(t,e,f)}text=String(text);rx_dangerous.lastIndex=0;if(rx_dangerous.test(text)){text=text.replace(rx_dangerous,function(t){return"\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4)})}if(rx_one.test(text.replace(rx_two,"@").replace(rx_three,"]").replace(rx_four,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}})();