YGG.Utils=function(){this.jsonReader=function(e,t){let n=new XMLHttpRequest;n.overrideMimeType("application/json"),n.open("GET",e,!0),n.onreadystatechange=function(){if(4===n.readyState&&"200"==n.status){let e=JSON.parse(n.responseText);t(e)}},n.send(null)},this.makeTextFile=function(e){let t=null,n=new Blob([e],{type:"text/plain"});return null!==t&&window.URL.revokeObjectURL(t),t=window.URL.createObjectURL(n),t},this.sortByProperty=function(e){return function(t,n){return t[e]===n[e]?0:t[e]>n[e]?1:-1}},this.getMousePos=function(e,t){if(e){var n=e.getBoundingClientRect();return{x:t.clientX-n.left,y:t.clientY-n.top}}return{x:t.pageX,y:t.pageY}}};