var json_parse=function(){"use strict";var t;var a;var i={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};var n;var u=function(r){throw{name:"SyntaxError",message:r,at:t,text:n}};var f=function(r){if(r&&r!==a){u("Expected '"+r+"' instead of '"+a+"'")}a=n.charAt(t);t+=1;return a};var r=function(){var r;var e="";if(a==="-"){e="-";f("-")}while(a>="0"&&a<="9"){e+=a;f()}if(a==="."){e+=".";while(f()&&a>="0"&&a<="9"){e+=a}}if(a==="e"||a==="E"){e+=a;f();if(a==="-"||a==="+"){e+=a;f()}while(a>="0"&&a<="9"){e+=a;f()}}r=+e;if(!isFinite(r)){u("Bad number")}else{return r}};var c=function(){var r;var e;var t="";var n;if(a==='"'){while(f()){if(a==='"'){f();return t}if(a==="\\"){f();if(a==="u"){n=0;for(e=0;e<4;e+=1){r=parseInt(f(),16);if(!isFinite(r)){break}n=n*16+r}t+=String.fromCharCode(n)}else if(typeof i[a]==="string"){t+=i[a]}else{break}}else{t+=a}}}u("Bad string")};var o=function(){while(a&&a<=" "){f()}};var e=function(){switch(a){case"t":f("t");f("r");f("u");f("e");return true;case"f":f("f");f("a");f("l");f("s");f("e");return false;case"n":f("n");f("u");f("l");f("l");return null}u("Unexpected '"+a+"'")};var s;var l=function(){var r=[];if(a==="["){f("[");o();if(a==="]"){f("]");return r}while(a){r.push(s());o();if(a==="]"){f("]");return r}f(",");o()}}u("Bad array")};var v=function(){var r;var e={};if(a==="{"){f("{");o();if(a==="}"){f("}");return e}while(a){r=c();o();f(":");if(Object.hasOwnProperty.call(e,r)){u("Duplicate key '"+r+"'")}e[r]=s();o();if(a==="}"){f("}");return e}f(",");o()}}u("Bad object")};s=function(){o();switch(a){case"{":return v();case"[":return l();case'"':return c();case"-":return r();default:return a>="0"&&a<="9"?r():e()}};return function(r,f){var e;n=r;t=0;a=" ";e=s();o();if(a){u("Syntax error")}return typeof f==="function"?function r(e,t){var n;var a;var i=e[t];if(i&&typeof i==="object"){for(n in i){if(Object.prototype.hasOwnProperty.call(i,n)){a=r(i,n);if(a!==undefined){i[n]=a}else{delete i[n]}}}}return f.call(e,t,i)}({"":e},""):e}}();