(function(n){var t=/^(?!(?:as|do|if|in|is|for|int|let|new|try|use|var|byte|case|char|else|enum|eval|goto|long|null|this|true|void|with|break|catch|class|const|false|final|float|short|super|throw|while|yield|delete|double|export|import|native|public|return|static|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|arguments|interface|namespace|protected|transient|undefined|implements|instanceof|synchronized)$)[$_A-Za-z][$_A-Za-z0-9]*$/,e=function(n){return"function"==typeof n};Function.create||(Function.create=function(n,r,i,o){var a,u,c;if(n=""+[n],n&&!t.test(n))throw new TypeError("Argument name must be a valid JavaScript identifier.");if(null==r||!e(r))throw new TypeError("Argument call is required and must be a function.");if(null!=i&&!e(i))throw new TypeError("Argument construct must be a function.");if((o===Function||o===Function.prototype)&&(o=null),null!=o&&!(o instanceof Function))throw new TypeError("Argument proto must be instance of Function.");if(r&&i)u=function function_proxy(){return this instanceof a?i.apply(this,arguments):r.apply(this,arguments)},c="function "+n+"() { [proxy code] }";else if(o){u=function function_proxy(){return this instanceof a?r.apply(this,arguments):r.apply(a,arguments)};var s=(""+r).match(/function.*?\((.*?)\)/);s=s&&s[1]||"",c="function "+n+"("+s+") { [proxy code] }"}else u=r,c=(""+u).replace(/function.*?\(/,"function "+n+"(");if(a=n?Function("p","return function "+n+"(){"+"return p.apply(this,arguments);"+"};")(u):function(){return u.apply(this,arguments)},a.toString=function(){return c},a.name=n,a.displayName=n,o)if(e(a.__proto__))a.__proto__=o;else{var f=["constructor"],l;for(l in o)a[l]=o[l];for(var p=0;f.length>p;p++)l=f[p],l in o&&(a[l]=o[l])}return a}),Function.getDisplayNameOf||(Function.getDisplayNameOf=function(t){if(e(t)){var r=t.displayName||t.name;if(r===n){var i=(""+t).match(/^function\s*([^\s(]+)/);i&&(r=i[1])}return r||n}})})();