text: define("Types/util",["tslib","Core/Serializer","Types/shim","Env/Env","require","exports"],function(n,i,o,f,u,e){Object.defineProperty(e,"__esModule",{value:true}),e["Types/_util/logger"]=true;var t,r=function(){"use strict";var e={},t=function(e,t,c){Object.defineProperty(t,"__esModule",{value:true});var a=/:[0-9]+:[0-9]+/,s=2,l={},r={log:function(e,t){if(1===arguments.length)t=e,e="Log";c.IoC.resolve("ILogger").log(e,t||"")},error:function(e,t){if(1===arguments.length)t=e,e="Critical";c.IoC.resolve("ILogger").error(e,t||"")},info:function(e,t){if(1===arguments.length)t=e,e="Warning";c.IoC.resolve("ILogger").warn(e,t||"")},stack:function(e,t,r){t=t||0,r=r||"info";var n=new Error(e),i=s+t,o="",f="";if("stack"in n){var u=String(n.stack).split("\n");if(!a.test(u[0]))i++;if(f=e+(o=u.slice(i).join("\n").trim()),l.hasOwnProperty(f))return;l[f]=true}c.IoC.resolve("ILogger")[r](n.message,o)}};t.default=r}(u,e,f);if(t instanceof Function)return t;else for(var r in t)if(t.hasOwnProperty(r))e[r]=t[r];return e}();e["Types/_util/object"]=true;var c,a=function(){"use strict";var e={},t=function(e,t,o,r){function f(e,t){return t+e.substr(0,1).toUpperCase()+e.substr(1)}function n(e,t){var r=t||"";if(!(e instanceof Object))return;if(r in e)return e[r];if(e&&e["[Types/_entity/IObject]"]&&e.has(r))return e.get(r);var n=f(r,"get");if("function"===typeof e[n]&&!e[n].deprecated)return e[n]();return}function i(e,t,r){var n=t||"";if(!(e instanceof Object))throw new TypeError("Argument object should be an instance of Object");if(n in e)return void(e[n]=r);if(e&&e["[Types/_entity/IObject]"]&&e.has(n))return void e.set(n,r);var i=f(n,"set");if("function"===typeof e[i]&&!e[i].deprecated)return void e[i](r);throw new ReferenceError("Object doesn't have setter for property \""+t+'"')}function u(e){if(e instanceof Object)if(e["[Types/_entity/ICloneable]"])return e.clone();else{var t=new r;return JSON.parse(JSON.stringify(e,t.serialize),t.deserialize)}else return e}function c(t,r,e){var n,i=e;if(!i)i=new o.Set;if(i.has(t))return t;if(t instanceof Array)i.add(t),n=t.map(function(e){return c(e,r,i)}),i.delete(t);else if(t instanceof Object)if(Object.getPrototypeOf(t)===Object.prototype)i.add(t),n={},Object.keys(t).forEach(function(e){n[e]=c(t[e],r,i)}),i.delete(t);else if(t["[Types/_entity/ICloneable]"])n=t.clone();else n=t;else n=t;return n}Object.defineProperty(t,"__esModule",{value:true}),t.default={getPropertyValue:n,setPropertyValue:i,clone:u,clonePlain:c}}(u,e,o,i);if(t instanceof Function)return t;else for(var r in t)if(t.hasOwnProperty(r))e[r]=t[r];return e}();e["Types/_util/mixin"]=true;var s,l=function(){"use strict";var e={},t=function(e,t,o){function f(t,r){if(t===Object)return;Object.getOwnPropertyNames(t).forEach(function(e){switch(e){case"arguments":case"caller":case"length":case"name":case"prototype":break;default:if(!r.hasOwnProperty(e))Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))}})}function n(i){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];if(e.length&&!i.prototype._mixins)i.prototype._mixins=[];e.forEach(function(e){var t="function"===typeof e,r=t?e.prototype:e;if(t)f(e,i);var n=function(e){Object.defineProperty(i.prototype,e,Object.getOwnPropertyDescriptor(r,e))};if(Object.getOwnPropertyNames(r).forEach(n),Object.getOwnPropertySymbols)Object.getOwnPropertySymbols(r).forEach(n)})}function r(i){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];var r=function(n){function e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=this;if(i!==Object)r=n.apply(this,e)||this;return r}return o.__extends(e,n),e}(i);return f(i,r),n.apply(void 0,[r].concat(e)),r}Object.defineProperty(t,"__esModule",{value:true}),t.applyMixins=n,t.mixin=r}(u,e,n);if(t instanceof Function)return t;else for(var r in t)if(t.hasOwnProperty(r))e[r]=t[r];return e}();e["Types/_util/protect"]=true;var p,y=function(){"use strict";var e={},t=function(e,t){function r(e){return"undefined"===typeof Symbol?"$"+e:Symbol(e)}Object.defineProperty(t,"__esModule",{value:true}),t.default=r}(u,e);if(t instanceof Function)return t;else for(var r in t)if(t.hasOwnProperty(r))e[r]=t[r];return e}();return e.logger=r.default,e.object=a.default,e.mixin=l.mixin,e.applyMixins=l.applyMixins,e.protect=y.default,e});