diff --git a/demos/dist/bundle.js b/demos/dist/bundle.js index e426940..ae078d4 100644 --- a/demos/dist/bundle.js +++ b/demos/dist/bundle.js @@ -1,15 +1,1529 @@ -!function(e){function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var t={};return n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,n,t){Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="",n(n.s=234)}([function(e,n,t){"use strict";function a(e){return"[object Array]"===k.call(e)}function o(e){return"[object ArrayBuffer]"===k.call(e)}function r(e){return"undefined"!=typeof FormData&&e instanceof FormData}function i(e){var n;return n="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function s(e){return"string"==typeof e}function l(e){return"number"==typeof e}function c(e){return"undefined"==typeof e}function u(e){return null!==e&&"object"==typeof e}function d(e){return"[object Date]"===k.call(e)}function m(e){return"[object File]"===k.call(e)}function f(e){return"[object Blob]"===k.call(e)}function p(e){return"[object Function]"===k.call(e)}function h(e){return u(e)&&p(e.pipe)}function b(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function g(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function v(){return"undefined"!=typeof window&&"undefined"!=typeof document&&"function"==typeof document.createElement}function x(e,n){if(null!==e&&"undefined"!=typeof e)if("object"==typeof e||a(e)||(e=[e]),a(e))for(var t=0,o=e.length;t=0&&v.splice(n,1)}function i(e){var n=document.createElement("style");return n.type="text/css",o(e,n),n}function s(e){var n=document.createElement("link");return n.rel="stylesheet",o(e,n),n}function l(e,n){var t,a,o;if(n.singleton){var l=g++;t=b||(b=i(n)),a=c.bind(null,t,l,!1),o=c.bind(null,t,l,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(t=s(n),a=d.bind(null,t),o=function(){r(t),t.href&&URL.revokeObjectURL(t.href)}):(t=i(n),a=u.bind(null,t),o=function(){r(t)});return a(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;a(e=n)}else o()}}function c(e,n,t,a){var o=t?"":a.css;if(e.styleSheet)e.styleSheet.cssText=x(n,o);else{var r=document.createTextNode(o),i=e.childNodes;i[n]&&e.removeChild(i[n]),i.length?e.insertBefore(r,i[n]):e.appendChild(r)}}function u(e,n){var t=n.css,a=n.media;if(a&&e.setAttribute("media",a),e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}function d(e,n){var t=n.css,a=n.sourceMap;a&&(t+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */");var o=new Blob([t],{type:"text/css"}),r=e.href;e.href=URL.createObjectURL(o),r&&URL.revokeObjectURL(r)}var m={},f=function(e){var n;return function(){return"undefined"==typeof n&&(n=e.apply(this,arguments)),n}},p=f(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),h=f(function(){return document.head||document.getElementsByTagName("head")[0]}),b=null,g=0,v=[];e.exports=function(e,n){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");n=n||{},"undefined"==typeof n.singleton&&(n.singleton=p()),"undefined"==typeof n.insertAt&&(n.insertAt="bottom");var o=a(e);return t(o,n),function(e){for(var r=[],i=0;i0&&(li&&(i=l),cs&&(s=c))}o-=20,i+=20,r-=20,s+=20;var d=i-o+1,m=s-r+1;if(dm){var h=Math.floor((d-m)/2),b=d-m-h;s+=b,r-=h}d=i-o+1,m=s-r+1;for(var g=new Uint8ClampedArray(d*m*4),v=o;v<=i;v++)for(var x=r;x<=s;x++)if(v>=0&&v=0&&xt&&(t=e.data[a]);return{min:n,max:t}}function c(e){for(var n=l(e),t=n.min,a=n.max,o=new Uint8ClampedArray(4*e.size),r=0,i=o.length;r3&&void 0!==arguments[3]?arguments[3]:[0,0,0],o=n*t*4,r=new Uint8ClampedArray(o),i=0;i1&&void 0!==arguments[1]?arguments[1]:5,t=(0,w.default)(e)?Array.prototype.slice.call(e):e,a=(0,N.default)((0,L.default)(t.map(function(e,n){return[e,n]}),function(e){return e[0]})),o=(0,z.default)(a,n).map(function(e){var n=E.imagenetClasses[e[1]];return{id:n[0],name:n[1].replace(/_/," "),probability:e[0]}});return o}Object.defineProperty(n,"__esModule",{value:!0});var p=function(){function e(e,n){var t=[],a=!0,o=!1,r=void 0;try{for(var i,s=e[Symbol.iterator]();!(a=(i=s.next()).done)&&(t.push(i.value),!n||t.length!==n);a=!0);}catch(e){o=!0,r=e}finally{try{!a&&s.return&&s.return()}finally{if(o)throw r}}return t}return function(n,t){if(Array.isArray(n))return n;if(Symbol.iterator in Object(n))return e(n,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();n.getMidpoint=o,n.getCoordinates=r,n.centerCrop=i,n.tensorStats=s,n.tensorMinMax=l,n.image1Dtensor=c,n.image2Dtensor=u,n.image2Darray=d,n.unroll3Dtensor=m,n.imagenetClassesTopK=f;var h=t(217),b=a(h),g=t(213),v=a(g),x=t(202),_=a(x),y=t(29),w=a(y),k=t(210),N=a(k),C=t(211),L=a(C),S=t(214),z=a(S),E=t(90)},function(e,n,t){function a(e){var n=-1,t=e?e.length:0;for(this.clear();++nMath.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===n&&r.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):r.push("ORDER})")),r.push("proto.set=function "+t+"_set("+c.join(",")+",v){"),a?r.push("return this.data.set("+u+",v)}"):r.push("return this.data["+u+"]=v}"),r.push("proto.get=function "+t+"_get("+c.join(",")+"){"),a?r.push("return this.data.get("+u+")}"):r.push("return this.data["+u+"]}"),r.push("proto.index=function "+t+"_index(",c.join(),"){return "+u+"}"),r.push("proto.hi=function "+t+"_hi("+c.join(",")+"){return new "+t+"(this.data,"+s.map(function(e){return["(typeof i",e,"!=='number'||i",e,"<0)?this.shape[",e,"]:i",e,"|0"].join("")}).join(",")+","+s.map(function(e){return"this.stride["+e+"]"}).join(",")+",this.offset)}");var p=s.map(function(e){return"a"+e+"=this.shape["+e+"]"}),h=s.map(function(e){return"c"+e+"=this.stride["+e+"]"});r.push("proto.lo=function "+t+"_lo("+c.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+h.join(","));for(var b=0;b=0){d=i"+b+"|0;b+=c"+b+"*d;a"+b+"-=d}");r.push("return new "+t+"(this.data,"+s.map(function(e){return"a"+e}).join(",")+","+s.map(function(e){return"c"+e}).join(",")+",b)}"),r.push("proto.step=function "+t+"_step("+c.join(",")+"){var "+s.map(function(e){return"a"+e+"=this.shape["+e+"]"}).join(",")+","+s.map(function(e){return"b"+e+"=this.stride["+e+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(var b=0;b=0){c=(c+this.stride["+b+"]*i"+b+")|0}else{a.push(this.shape["+b+"]);b.push(this.stride["+b+"])}");r.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),r.push("return function construct_"+t+"(data,shape,stride,offset){return new "+t+"(data,"+s.map(function(e){return"shape["+e+"]"}).join(",")+","+s.map(function(e){return"stride["+e+"]"}).join(",")+",offset)}");var i=new Function("CTOR_LIST","ORDER",r.join("\n"));return i(d[e],o)}function i(e){if(c(e))return"buffer";if(u)switch(Object.prototype.toString.call(e)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped"}return Array.isArray(e)?"array":"generic"}function s(e,n,t,a){if(void 0===e){var o=d.array[0];return o([])}"number"==typeof e&&(e=[e]),void 0===n&&(n=[e.length]);var s=n.length;if(void 0===t){t=new Array(s);for(var l=s-1,c=1;l>=0;--l)t[l]=c,c*=n[l]}if(void 0===a){a=0;for(var l=0;l-1&&e%1==0&&e-1&&e%1==0&&e<=a}var a=9007199254740991;e.exports=t},function(e,n,t){var a=t(131),o=t(46),r=t(185),i=r&&r.isTypedArray,s=i?o(i):a;e.exports=s},function(e,n,t){function a(e){if(!e)return 0===e?e:0;if(e=o(e),e===r||e===-r){var n=e<0?-1:1;return n*i}return e===e?e:0}var o=t(58),r=1/0,i=1.7976931348623157e308;e.exports=a},function(e,n,t){"use strict";function a(e){if(!e)return s;for(var n=0;n>",rrshift:">>>"};!function(){for(var e in l){var t=l[e];n[e]=r({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+t+"c"},funcName:e}),n[e+"eq"]=r({args:["array","array"],body:{args:["a","b"],body:"a"+t+"=b"},rvalue:!0,funcName:e+"eq"}),n[e+"s"]=r({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+t+"s"},funcName:e+"s"}),n[e+"seq"]=r({args:["array","scalar"],body:{args:["a","s"],body:"a"+t+"=s"},rvalue:!0,funcName:e+"seq"})}}();var c={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var e in c){var t=c[e];n[e]=r({args:["array","array"],body:{args:["a","b"],body:"a="+t+"b"},funcName:e}),n[e+"eq"]=r({args:["array"],body:{args:["a"],body:"a="+t+"a"},rvalue:!0,count:2,funcName:e+"eq"})}}();var u={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var e in u){var t=u[e];n[e]=r({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+t+"c"},funcName:e}),n[e+"s"]=r({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+t+"s"},funcName:e+"s"}),n[e+"eq"]=r({args:["array","array"],body:{args:["a","b"],body:"a=a"+t+"b"},rvalue:!0,count:2,funcName:e+"eq"}),n[e+"seq"]=r({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+t+"s"},rvalue:!0,count:2,funcName:e+"seq"})}}();var d=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var e=0;ethis_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),n.norm1=i({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),n.sup=i({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),n.inf=i({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),n.random=r({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),n.assign=r({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),n.assigns=r({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),n.equals=i({args:["array","array"],pre:s,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},function(e,n,t){"use strict";var a=t(0),o=t(70),r=t(73),i=t(79),s=t(77),l=t(35),c="undefined"!=typeof window&&window.btoa||t(72);e.exports=function(e){return new Promise(function(n,u){var d=e.data,m=e.headers;a.isFormData(d)&&delete m["Content-Type"];var f=new XMLHttpRequest,p="onreadystatechange",h=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in f||s(e.url)||(f=new window.XDomainRequest,p="onload",h=!0,f.onprogress=function(){},f.ontimeout=function(){}),e.auth){var b=e.auth.username||"",g=e.auth.password||"";m.Authorization="Basic "+c(b+":"+g)}if(f.open(e.method.toUpperCase(),r(e.url,e.params,e.paramsSerializer),!0),f.timeout=e.timeout,f[p]=function(){if(f&&(4===f.readyState||h)&&(0!==f.status||f.responseURL&&0===f.responseURL.indexOf("file:"))){var t="getAllResponseHeaders"in f?i(f.getAllResponseHeaders()):null,a=e.responseType&&"text"!==e.responseType?f.response:f.responseText,r={data:a,status:1223===f.status?204:f.status,statusText:1223===f.status?"No Content":f.statusText,headers:t,config:e,request:f};o(n,u,r),f=null}},f.onerror=function(){u(l("Network Error",e)),f=null},f.ontimeout=function(){u(l("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED")),f=null},a.isStandardBrowserEnv()){var v=t(75),x=(e.withCredentials||s(e.url))&&e.xsrfCookieName?v.read(e.xsrfCookieName):void 0;x&&(m[e.xsrfHeaderName]=x)}if("setRequestHeader"in f&&a.forEach(m,function(e,n){"undefined"==typeof d&&"content-type"===n.toLowerCase()?delete m[n]:f.setRequestHeader(n,e)}),e.withCredentials&&(f.withCredentials=!0),e.responseType)try{f.responseType=e.responseType}catch(e){if("json"!==f.responseType)throw e}"function"==typeof e.onDownloadProgress&&f.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&f.upload&&f.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){f&&(f.abort(),u(e),f=null)}),void 0===d&&(d=null),f.send(d)})}},function(e,n){"use strict";function t(e){this.message=e}t.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},t.prototype.__CANCEL__=!0,e.exports=t},function(e,n){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,n,t){"use strict";var a=t(69);e.exports=function(e,n,t,o){var r=new Error(e);return a(r,n,t,o)}},function(e,n,t){"use strict";(function(n){function a(e,n){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=n)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=t(32):"undefined"!=typeof n&&(e=t(32)),e}var r=t(0),i=t(78),s=/^\)\]\}',?\n/,l={"Content-Type":"application/x-www-form-urlencoded"};e.exports={adapter:o(),transformRequest:[function(e,n){return i(n,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(a(n,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):r.isObject(e)?(a(n,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e){e=e.replace(s,"");try{e=JSON.parse(e)}catch(e){}}return e}],headers:{common:{Accept:"application/json, text/plain, */*"},patch:r.merge(l),post:r.merge(l),put:r.merge(l)},timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}}}).call(n,t(218))},function(e,n){"use strict";e.exports=function(e,n){return function(){for(var t=new Array(arguments.length),a=0;a0)throw new Error("cwise: pre() block may not reference array args");if(o0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===i)n.scalarArgs.push(o),n.shimArgs.push("scalar"+o);else if("index"===i){if(n.indexArgs.push(o),o0)throw new Error("cwise: pre() block may not reference array index");if(o0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===i){if(n.shapeArgs.push(o),ot.length)throw new Error("cwise: Too many arguments in pre() block");if(n.body.args.length>t.length)throw new Error("cwise: Too many arguments in body() block");if(n.post.args.length>t.length)throw new Error("cwise: Too many arguments in post() block");return n.debug=!!e.printCode||!!e.debug,n.funcName=e.funcName||"cwise",n.blockSize=e.blockSize||64,r(n)}var r=t(102);e.exports=o},function(e,n,t){function a(e){var n=this.__data__=new o(e);this.size=n.size}var o=t(12),r=t(193),i=t(194),s=t(195),l=t(196),c=t(197);a.prototype.clear=r,a.prototype.delete=i,a.prototype.get=s,a.prototype.has=l,a.prototype.set=c,e.exports=a},function(e,n){function t(e,n){for(var t=-1,a=e?e.length:0,o=Array(a);++t0&&t(u)?n>1?a(u,n-1,t,i,s):o(s,u):i||(s[s.length]=u)}return s}var o=t(119),r=t(168);e.exports=a},function(e,n,t){function a(e,n){n=r(n,e)?[n]:o(n);for(var t=0,a=n.length;null!=e&&tm))return!1;var p=u.get(e);if(p&&u.get(n))return p==n;var h=-1,b=!0,g=c&s?new o:void 0;for(u.set(e,n),u.set(n,e);++h=n||t<0||L&&a>=_}function f(){var e=r();return m(e)?p(e):void(w=setTimeout(f,d(e)))}function p(e){return w=void 0,S&&v?a(e):(v=x=void 0,y)}function h(){void 0!==w&&clearTimeout(w),N=0,v=k=x=w=void 0}function b(){return void 0===w?y:p(r())}function g(){var e=r(),t=m(e);if(v=arguments,x=this,k=e,t){if(void 0===w)return u(k);if(L)return w=setTimeout(f,n),a(k)}return void 0===w&&(w=setTimeout(f,n)),y}var v,x,_,y,w,k,N=0,C=!1,L=!1,S=!0;if("function"!=typeof e)throw new TypeError(s);return n=i(n)||0,o(t)&&(C=!!t.leading,L="maxWait"in t,_=L?l(i(t.maxWait)||0,n):_,S="trailing"in t?!!t.trailing:S),g.cancel=h,g.flush=b,g}var o=t(6),r=t(206),i=t(58),s="Expected a function",l=Math.max,c=Math.min;e.exports=a},function(e,n,t){function a(e,n,t){var a=e?e.length:0;if(!a)return-1;var l=null==t?0:i(t);return l<0&&(l=s(a+l,0)),o(e,r(n,3),l)}var o=t(122),r=t(14),i=t(57),s=Math.max;e.exports=a},function(e,n,t){(function(e){var a=t(1),o=t(212),r="object"==typeof n&&n&&!n.nodeType&&n,i=r&&"object"==typeof e&&e&&!e.nodeType&&e,s=i&&i.exports===r,l=s?a.Buffer:void 0,c=l?l.isBuffer:void 0,u=c||o;e.exports=u}).call(n,t(61)(e))},function(e,n,t){function a(e){var n=o(e)?c.call(e):"";return n==r||n==i||n==s}var o=t(6),r="[object Function]",i="[object GeneratorFunction]",s="[object Proxy]",l=Object.prototype,c=l.toString;e.exports=a},function(e,n,t){function a(e){var n=o(e),t=n%1;return n===n?t?n-t:n:0}var o=t(30);e.exports=a},function(e,n,t){function a(e){if("number"==typeof e)return e;if(r(e))return i;if(o(e)){var n="function"==typeof e.valueOf?e.valueOf():e;e=o(n)?n+"":n}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(s,"");var t=c.test(e);return t||u.test(e)?d(e.slice(2),t?2:8):l.test(e)?i:+e}var o=t(6),r=t(10),i=NaN,s=/^\s+|\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,u=/^0o[0-7]+$/i,d=parseInt;e.exports=a},function(e,n){"use strict";function t(e,n){for(var t=1,a=e.length,o=e[0],r=e[0],i=1;i-1?d.currentView=t:d.currentView="home"}t(229);var o=t(85),r=t(81),i=t(86),s=t(87),l=t(89),c=t(84),u=t(82);Vue.component("menu",o.Menu),Vue.component("home",r.Home),Vue.component("mnist-cnn",i.MnistCnn),Vue.component("mnist-vae",s.MnistVae),Vue.component("resnet50",l.ResNet50),Vue.component("inception-v3",c.InceptionV3),Vue.component("imdb-bidirectional-lstm",u.ImdbBidirectionalLstm),Vue.use(VueMdl.default);var d=new Vue({el:"#app",data:function(){return{currentView:"home",hasWebgl:!0}},created:function(){var e=document.createElement("canvas"),n=e.getContext("webgl")||e.getContext("experimental-webgl");n&&n instanceof WebGLRenderingContext?this.hasWebgl=!0:this.hasWebgl=!1}});window.addEventListener("load",a),window.addEventListener("hashchange",a)},function(e,n,t){e.exports=t(64)},function(e,n,t){"use strict";function a(e){var n=new i(e),t=r(i.prototype.request,n);return o.extend(t,i.prototype,n),o.extend(t,n),t}var o=t(0),r=t(37),i=t(66),s=a();s.Axios=i,s.create=function(e){return a(e)},s.Cancel=t(33),s.CancelToken=t(65),s.isCancel=t(34),s.all=function(e){return Promise.all(e)},s.spread=t(80),e.exports=s,e.exports.default=s},function(e,n,t){"use strict";function a(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var n;this.promise=new Promise(function(e){n=e});var t=this;e(function(e){t.reason||(t.reason=new o(e),n(t.reason))})}var o=t(33);a.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},a.source=function(){var e,n=new a(function(n){e=n});return{token:n,cancel:e}},e.exports=a},function(e,n,t){"use strict";function a(e){this.defaults=r.merge(o,e),this.interceptors={request:new i,response:new i}}var o=t(36),r=t(0),i=t(67),s=t(68),l=t(76),c=t(74);a.prototype.request=function(e){"string"==typeof e&&(e=r.merge({url:arguments[0]},arguments[1])),e=r.merge(o,this.defaults,{method:"get"},e),e.baseURL&&!l(e.url)&&(e.url=c(e.baseURL,e.url));var n=[s,void 0],t=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){n.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){n.push(e.fulfilled,e.rejected)});n.length;)t=t.then(n.shift(),n.shift());return t},r.forEach(["delete","get","head"],function(e){a.prototype[e]=function(n,t){return this.request(r.merge(t||{},{method:e,url:n}))}}),r.forEach(["post","put","patch"],function(e){a.prototype[e]=function(n,t,a){return this.request(r.merge(a||{},{method:e,url:n,data:t}))}}),e.exports=a},function(e,n,t){"use strict";function a(){this.handlers=[]}var o=t(0);a.prototype.use=function(e,n){return this.handlers.push({fulfilled:e,rejected:n}),this.handlers.length-1},a.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},a.prototype.forEach=function(e){o.forEach(this.handlers,function(n){null!==n&&e(n)})},e.exports=a},function(e,n,t){"use strict";function a(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=t(0),r=t(71),i=t(34),s=t(36);e.exports=function(e){a(e),e.headers=e.headers||{},e.data=r(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(n){delete e.headers[n]});var n=e.adapter||s.adapter;return n(e).then(function(n){return a(e),n.data=r(n.data,n.headers,e.transformResponse),n},function(n){return i(n)||(a(e),n&&n.response&&(n.response.data=r(n.response.data,n.response.headers,e.transformResponse))),Promise.reject(n)})}},function(e,n){"use strict";e.exports=function(e,n,t,a){return e.config=n,t&&(e.code=t),e.response=a,e}},function(e,n,t){"use strict";var a=t(35);e.exports=function(e,n,t){var o=t.config.validateStatus;t.status&&o&&!o(t.status)?n(a("Request failed with status code "+t.status,t.config,null,t)):e(t)}},function(e,n,t){"use strict";var a=t(0);e.exports=function(e,n,t){return a.forEach(t,function(t){e=t(e,n)}),e}},function(e,n){"use strict";function t(){this.message="String contains an invalid character"}function a(e){for(var n,a,r=String(e),i="",s=0,l=o;r.charAt(0|s)||(l="=",s%1);i+=l.charAt(63&n>>8-s%1*8)){if(a=r.charCodeAt(s+=.75),a>255)throw new t;n=n<<8|a}return i}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";t.prototype=new Error,t.prototype.code=5,t.prototype.name="InvalidCharacterError",e.exports=a},function(e,n,t){"use strict";function a(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=t(0);e.exports=function(e,n,t){if(!n)return e;var r;if(t)r=t(n);else if(o.isURLSearchParams(n))r=n.toString();else{var i=[];o.forEach(n,function(e,n){null!==e&&"undefined"!=typeof e&&(o.isArray(e)&&(n+="[]"),o.isArray(e)||(e=[e]),o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),i.push(a(n)+"="+a(e))}))}),r=i.join("&")}return r&&(e+=(e.indexOf("?")===-1?"?":"&")+r),e}},function(e,n){"use strict";e.exports=function(e,n){return e.replace(/\/+$/,"")+"/"+n.replace(/^\/+/,"")}},function(e,n,t){"use strict";var a=t(0);e.exports=a.isStandardBrowserEnv()?function(){return{write:function(e,n,t,o,r,i){var s=[];s.push(e+"="+encodeURIComponent(n)),a.isNumber(t)&&s.push("expires="+new Date(t).toGMTString()),a.isString(o)&&s.push("path="+o),a.isString(r)&&s.push("domain="+r),i===!0&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var n=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,n,t){"use strict";var a=t(0);e.exports=a.isStandardBrowserEnv()?function(){function e(e){var n=e;return t&&(o.setAttribute("href",n),n=o.href),o.setAttribute("href",n),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var n,t=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return n=e(window.location.href),function(t){var o=a.isString(t)?e(t):t;return o.protocol===n.protocol&&o.host===n.host}}():function(){return function(){return!0}}()},function(e,n,t){"use strict";var a=t(0);e.exports=function(e,n){a.forEach(e,function(t,a){a!==n&&a.toUpperCase()===n.toUpperCase()&&(e[n]=t,delete e[a])})}},function(e,n,t){"use strict";var a=t(0);e.exports=function(e){var n,t,o,r={};return e?(a.forEach(e.split("\n"),function(e){o=e.indexOf(":"),n=a.trim(e.substr(0,o)).toLowerCase(),t=a.trim(e.substr(o+1)),n&&(r[n]=r[n]?r[n]+", "+t:t)}),r):r}},function(e,n){"use strict";e.exports=function(e){return function(n){return e.apply(null,n)}}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Home=void 0,t(226);var a=[{title:"Basic Convnet for MNIST",path:"mnist-cnn",imagePath:"demos/assets/mnist-cnn.png"},{title:"Convolutional Variational Autoencoder, trained on MNIST",path:"mnist-vae",imagePath:"demos/assets/mnist-vae.png"},{title:"50-layer Residual Network, trained on ImageNet",path:"resnet50",imagePath:"demos/assets/resnet50.png"},{title:"Inception V3, trained on ImageNet",path:"inception-v3",imagePath:"demos/assets/inception-v3.png"},{title:"Bidirectional LSTM for IMDB sentiment classification",path:"imdb-bidirectional-lstm",imagePath:"demos/assets/imdb-bidirectional-lstm.png"}],o=a;n.Home=Vue.extend({template:t(219),data:function(){return{demoInfo:o}}})},function(e,n,t){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.ImdbBidirectionalLstm=void 0,t(227);var o=t(63),r=a(o),i=t(53),s=a(i),l=t(208),c=a(l),u=t(54),d=a(u),m=t(31),f=a(m),p=t(91),h=a(p),b={model:"demos/data/imdb_bidirectional_lstm/imdb_bidirectional_lstm.json",weights:"https://transcranial.github.io/keras-js-demos-data/imdb_bidirectional_lstm/imdb_bidirectional_lstm_weights.buf",metadata:"demos/data/imdb_bidirectional_lstm/imdb_bidirectional_lstm_metadata.json"},g={filepaths:b},v={wordIndex:"demos/data/imdb_bidirectional_lstm/imdb_dataset_word_index_top20000.json",wordDict:"demos/data/imdb_bidirectional_lstm/imdb_dataset_word_dict_top20000.json",testSamples:"demos/data/imdb_bidirectional_lstm/imdb_dataset_test.json"},x=v,_=200,y=1,w=2,k=3,N=[{name:"embedding_1",className:"Embedding",details:"200 time steps, dim 20000 -> 64"},{name:"bidirectional_1",className:"Bidirectional [LSTM]",details:"200 time steps, dim 64 -> 32, concat merge, tanh activation, hard sigmoid inner activation"},{name:"dropout_1",className:"Dropout",details:"p=0.5 (active during training)"},{name:"dense_1",className:"Dense",details:"output dim 1, sigmoid activation"}];n.ImdbBidirectionalLstm=Vue.extend({props:["hasWebgl"],template:t(220),data:function(){return{showInfoPanel:!0,useGpu:!1,model:new KerasJS.Model(Object.assign({gpu:!1},g)),modelLoading:!0,modelRunning:!1,input:new Float32Array(_),output:new Float32Array(1),inputText:"",inputTextParsed:[],stepwiseOutput:[],wordIndex:{},wordDict:{},testSamples:[],isSampleText:!1,sampleTextLabel:null,architectureDiagramLayers:N}},computed:{loadingProgress:function(){return this.model.getLoadingProgress()},outputColor:function(){return this.output[0]>0&&this.output[0]<.5?"rgba(242, 38, 19, "+(1-this.output[0])+")":this.output[0]>=.5?"rgba(27, 188, 155, "+this.output[0]+")":"#69707a"},stepwiseOutputColor:function(){return this.stepwiseOutput.map(function(e){return e>0&&e<.5?"rgba(242, 38, 19, "+(.5-e)+")":e>=.5?"rgba(27, 188, 155, "+(e-.5)+")":"white"})}},ready:function(){var e=this;this.model.ready().then(function(){e.modelLoading=!1,e.loadAdditionalData()})},methods:{closeInfoPanel:function(){this.showInfoPanel=!1},toggleGpu:function(){this.model.toggleGpu(!this.useGpu)},clear:function(e){this.inputText="",this.inputTextParsed=[],this.output=new Float32Array(1)},loadAdditionalData:function(){var e=this;this.modelLoading=!0;var n=["wordIndex","wordDict","testSamples"].map(function(e){return r.default.get(x[e])});r.default.all(n).then(r.default.spread(function(n,t,a){e.wordIndex=n.data,e.wordDict=t.data,e.testSamples=a.data,e.modelLoading=!1}))},randomSample:function(){var e=this;this.modelRunning=!0,this.isSampleText=!0;var n=(0,c.default)(0,this.testSamples.length-1),t=this.testSamples[n].values;this.sampleTextLabel=0===this.testSamples[n].label?"negative":"positive";var a=t.map(function(n){return 0===n||1===n?"":2===n?"":e.wordDict[n-k]});this.inputText=a.join(" ").trim(),this.inputTextParsed=a.filter(function(e){return!!e}),this.input=new Float32Array(t),this.model.predict({input:this.input}).then(function(n){e.output=n.output,e.stepwiseCalc(),e.modelRunning=!1})},inputChanged:(0,s.default)(function(){var e=this;if(!this.modelRunning){if(""===this.inputText.trim())return void(this.inputTextParsed=[]);this.modelRunning=!0,this.isSampleText=!1,this.inputTextParsed=this.inputText.trim().toLowerCase().split(/[\s\.,!?]+/gi),this.input=new Float32Array(_);var n=this.inputTextParsed.map(function(n){var t=e.wordIndex[n];return t?t+k:w});n=[y].concat(n),n=n.slice(-_);for(var t=Math.max(0,_-n.length),a=t;a<_;a++)this.input[a]=n[a-t];this.model.predict({input:this.input}).then(function(n){e.output=n.output,e.stepwiseCalc(),e.modelRunning=!1})}},200),stepwiseCalc:function(){var e=this.model.modelLayersMap.get("dense_1"),n=this.model.modelLayersMap.get("bidirectional_1").forwardLayer.hiddenStateSequence,t=this.model.modelLayersMap.get("bidirectional_1").backwardLayer.hiddenStateSequence,a=n.tensor.shape[1],o=t.tensor.shape[1],r=(0,d.default)(this.input,function(e){return e>=k});if(r!==-1){for(var i=[],s=r;s<_;s++){var l=new h.default([],[a+o]);f.default.assign(l.tensor.hi(a).lo(0),n.tensor.pick(s,null)),f.default.assign(l.tensor.hi(a+o).lo(a),t.tensor.pick(_-s-1,null)),i.push(e.call(l).tensor.data[0])}this.stepwiseOutput=i}}}})},function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.ARCHITECTURE_DIAGRAM=[{name:"convolution2d_1",className:"Convolution2D",details:"32 3x3 filters, 2x2 strides, border mode valid, ReLU",row:0,col:0},{name:"batchnormalization_1",className:"BatchNormalization",details:"channel axis features",row:1,col:0},{name:"convolution2d_2",className:"Convolution2D",details:"32 3x3 filters, 1x1 strides, border mode valid, ReLU",row:2,col:0},{name:"batchnormalization_2",className:"BatchNormalization",details:"channel axis features",row:3,col:0},{name:"convolution2d_3",className:"Convolution2D",details:"64 3x3 filters, 1x1 strides, border mode same, ReLU",row:4,col:0},{name:"batchnormalization_3",className:"BatchNormalization",details:"channel axis features",row:5,col:0},{name:"maxpooling2d_1",className:"MaxPooling2D",details:"3x3 pool size, 2x2 strides, border mode valid",row:6,col:0},{name:"convolution2d_4",className:"Convolution2D",details:"80 1x1 filters, 1x1 strides, border mode valid, ReLU",row:7,col:0},{name:"batchnormalization_4",className:"BatchNormalization",details:"channel axis features",row:8,col:0},{name:"convolution2d_5",className:"Convolution2D",details:"192 3x3 filters, 1x1 strides, border mode valid, ReLU",row:9,col:0},{name:"batchnormalization_5",className:"BatchNormalization",details:"channel axis features",row:10,col:0},{name:"maxpooling2d_2",className:"MaxPooling2D",details:"3x3 pool size, 2x2 strides, border mode valid",row:11,col:0},{name:"convolution2d_9",className:"Convolution2D",details:"64 1x1 filters, 1x1 strides, border mode same, ReLU",row:12,col:0},{name:"batchnormalization_9",className:"BatchNormalization",details:"channel axis features",row:13,col:0},{name:"convolution2d_7",className:"Convolution2D",details:"48 1x1 filters, 1x1 strides, border mode same, ReLU",row:12,col:1},{name:"convolution2d_10",className:"Convolution2D",details:"96 3x3 filters, 1x1 strides, border mode same, ReLU",row:14,col:2},{name:"batchnormalization_7",className:"BatchNormalization",details:"channel axis features",row:13,col:1},{name:"batchnormalization_10",className:"BatchNormalization",details:"channel axis features",row:15,col:2},{name:"averagepooling2d_1",className:"AveragePooling2D",details:"3x3 pool size, 1x1 strides, border mode same",row:12,col:3},{name:"convolution2d_6",className:"Convolution2D",details:"64 1x1 filters, 1x1 strides, border mode same, ReLU",row:12,col:2},{name:"convolution2d_8",className:"Convolution2D",details:"64 5x5 filters, 1x1 strides, border mode same, ReLU",row:14,col:1},{name:"convolution2d_11",className:"Convolution2D",details:"96 3x3 filters, 1x1 strides, border mode same, ReLU",row:16,col:2},{name:"convolution2d_12",className:"Convolution2D",details:"32 1x1 filters, 1x1 strides, border mode same, ReLU",row:13,col:3},{name:"batchnormalization_6",className:"BatchNormalization",details:"channel axis features",row:13,col:2},{name:"batchnormalization_8",className:"BatchNormalization",details:"channel axis features",row:15,col:1},{name:"batchnormalization_11",className:"BatchNormalization",details:"channel axis features",row:17,col:2},{name:"batchnormalization_12",className:"BatchNormalization",details:"channel axis features",row:14,col:3},{name:"mixed0",className:"Merge",details:"concat by channel axes",row:18,col:3},{name:"convolution2d_16",className:"Convolution2D",details:"64 1x1 filters, 1x1 strides, border mode same, ReLU",row:19,col:0},{name:"batchnormalization_16",className:"BatchNormalization",details:"channel axis features",row:20,col:0},{name:"convolution2d_14",className:"Convolution2D",details:"48 1x1 filters, 1x1 strides, border mode same, ReLU",row:19,col:1},{name:"convolution2d_17",className:"Convolution2D",details:"96 3x3 filters, 1x1 strides, border mode same, ReLU",row:21,col:2},{name:"batchnormalization_14",className:"BatchNormalization",details:"channel axis features",row:20,col:1},{name:"batchnormalization_17",className:"BatchNormalization",details:"channel axis features",row:22,col:2},{name:"averagepooling2d_2",className:"AveragePooling2D",details:"3x3 pool size, 1x1 strides, border mode same",row:19,col:3},{name:"convolution2d_13",className:"Convolution2D",details:"64 1x1 filters, 1x1 strides, border mode same, ReLU",row:19,col:2},{name:"convolution2d_15",className:"Convolution2D",details:"64 5x5 filters, 1x1 strides, border mode same, ReLU",row:21,col:1},{name:"convolution2d_18",className:"Convolution2D",details:"96 3x3 filters, 1x1 strides, border mode same, ReLU",row:23,col:2},{name:"convolution2d_19",className:"Convolution2D",details:"32 1x1 filters, 1x1 strides, border mode same, ReLU",row:20,col:3},{name:"batchnormalization_13",className:"BatchNormalization",details:"channel axis features",row:20,col:2},{name:"batchnormalization_15",className:"BatchNormalization",details:"channel axis features",row:22,col:1},{name:"batchnormalization_18",className:"BatchNormalization",details:"channel axis features",row:24,col:2},{name:"batchnormalization_19",className:"BatchNormalization",details:"channel axis features",row:21,col:3},{name:"mixed1",className:"Merge",details:"concat by channel axes",row:25,col:3},{name:"convolution2d_23",className:"Convolution2D",details:"64 1x1 filters, 1x1 strides, border mode same, ReLU",row:26,col:0},{name:"batchnormalization_23",className:"BatchNormalization",details:"channel axis features",row:27,col:0},{name:"convolution2d_21",className:"Convolution2D",details:"48 1x1 filters, 1x1 strides, border mode same, ReLU",row:26,col:1},{name:"convolution2d_24",className:"Convolution2D",details:"96 3x3 filters, 1x1 strides, border mode same, ReLU",row:28,col:2},{name:"batchnormalization_21",className:"BatchNormalization",details:"channel axis features",row:27,col:1},{name:"batchnormalization_24",className:"BatchNormalization",details:"channel axis features",row:29,col:2},{name:"averagepooling2d_3",className:"AveragePooling2D",details:"3x3 pool size, 1x1 strides, border mode same",row:26,col:3},{name:"convolution2d_20",className:"Convolution2D",details:"64 1x1 filters, 1x1 strides, border mode same, ReLU",row:26,col:2},{name:"convolution2d_22",className:"Convolution2D",details:"64 5x5 filters, 1x1 strides, border mode same, ReLU",row:28,col:1},{name:"convolution2d_25",className:"Convolution2D",details:"96 3x3 filters, 1x1 strides, border mode same, ReLU",row:30,col:2},{name:"convolution2d_26",className:"Convolution2D",details:"32 1x1 filters, 1x1 strides, border mode same, ReLU",row:27,col:3},{name:"batchnormalization_20",className:"BatchNormalization",details:"channel axis features",row:27,col:2},{name:"batchnormalization_22",className:"BatchNormalization",details:"channel axis features",row:29,col:1},{name:"batchnormalization_25",className:"BatchNormalization",details:"channel axis features",row:31,col:2},{name:"batchnormalization_26",className:"BatchNormalization",details:"channel axis features",row:28,col:3},{name:"mixed2",className:"Merge",details:"concat by channel axes",row:32,col:3},{name:"convolution2d_28",className:"Convolution2D",details:"64 1x1 filters, 1x1 strides, border mode same, ReLU",row:33,col:1},{name:"batchnormalization_28",className:"BatchNormalization",details:"channel axis features",row:34,col:1},{name:"convolution2d_29",className:"Convolution2D",details:"96 3x3 filters, 1x1 strides, border mode same, ReLU",row:35,col:1},{name:"batchnormalization_29",className:"BatchNormalization",details:"channel axis features",row:36,col:1},{name:"convolution2d_27",className:"Convolution2D",details:"384 3x3 filters, 2x2 strides, border mode valid, ReLU",row:33,col:0},{name:"convolution2d_30",className:"Convolution2D",details:"96 3x3 filters, 2x2 strides, border mode valid, ReLU",row:37,col:1},{name:"batchnormalization_27",className:"BatchNormalization",details:"channel axis features",row:34,col:0},{name:"batchnormalization_30",className:"BatchNormalization",details:"channel axis features",row:38,col:1},{name:"maxpooling2d_3",className:"MaxPooling2D",details:"3x3 pool size, 2x2 strides, border mode valid",row:33,col:2},{name:"mixed3",className:"Merge",details:"concat by channel axes",row:39,col:3},{name:"convolution2d_35",className:"Convolution2D",details:"128 1x1 filters, 1x1 strides, border mode same, ReLU",row:40,col:2},{name:"batchnormalization_35",className:"BatchNormalization",details:"channel axis features",row:41,col:2},{name:"convolution2d_36",className:"Convolution2D",details:"128 7x1 filters, 1x1 strides, border mode same, ReLU",row:42,col:2},{name:"batchnormalization_36",className:"BatchNormalization",details:"channel axis features",row:43,col:2},{name:"convolution2d_32",className:"Convolution2D",details:"128 1x1 filters, 1x1 strides, border mode same, ReLU",row:40,col:1},{name:"convolution2d_37",className:"Convolution2D",details:"128 1x7 filters, 1x1 strides, border mode same, ReLU",row:44,col:2},{name:"batchnormalization_32",className:"BatchNormalization",details:"channel axis features",row:41,col:1},{name:"batchnormalization_37",className:"BatchNormalization",details:"channel axis features",row:45,col:2},{name:"convolution2d_33",className:"Convolution2D",details:"128 1x7 filters, 1x1 strides, border mode same, ReLU",row:42,col:1},{name:"convolution2d_38",className:"Convolution2D",details:"128 7x1 filters, 1x1 strides, border mode same, ReLU",row:46,col:2},{name:"batchnormalization_33",className:"BatchNormalization",details:"channel axis features",row:43,col:1},{name:"batchnormalization_38",className:"BatchNormalization",details:"channel axis features",row:47,col:2},{name:"averagepooling2d_4",className:"AveragePooling2D",details:"3x3 pool size, 1x1 strides, border mode same",row:40,col:3},{name:"convolution2d_31",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:40,col:0},{name:"convolution2d_34",className:"Convolution2D",details:"192 7x1 filters, 1x1 strides, border mode same, ReLU",row:44,col:1},{name:"convolution2d_39",className:"Convolution2D",details:"192 1x7 filters, 1x1 strides, border mode same, ReLU",row:48,col:2},{name:"convolution2d_40",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:41,col:3},{name:"batchnormalization_31",className:"BatchNormalization",details:"channel axis features",row:41,col:0},{name:"batchnormalization_34",className:"BatchNormalization",details:"channel axis features",row:45,col:1},{name:"batchnormalization_39",className:"BatchNormalization",details:"channel axis features",row:49,col:2},{name:"batchnormalization_40",className:"BatchNormalization",details:"channel axis features",row:42,col:3},{name:"mixed4",className:"Merge",details:"concat by channel axes",row:50,col:3},{name:"convolution2d_45",className:"Convolution2D",details:"160 1x1 filters, 1x1 strides, border mode same, ReLU",row:51,col:2},{name:"batchnormalization_45",className:"BatchNormalization",details:"channel axis features",row:52,col:2},{name:"convolution2d_46",className:"Convolution2D",details:"160 7x1 filters, 1x1 strides, border mode same, ReLU",row:53,col:2},{name:"batchnormalization_46",className:"BatchNormalization",details:"channel axis features",row:54,col:2},{name:"convolution2d_42",className:"Convolution2D",details:"160 1x1 filters, 1x1 strides, border mode same, ReLU",row:51,col:1},{name:"convolution2d_47",className:"Convolution2D",details:"160 1x7 filters, 1x1 strides, border mode same, ReLU",row:55,col:2},{name:"batchnormalization_42",className:"BatchNormalization",details:"channel axis features",row:52,col:1},{name:"batchnormalization_47",className:"BatchNormalization",details:"channel axis features", -row:56,col:2},{name:"convolution2d_43",className:"Convolution2D",details:"160 1x7 filters, 1x1 strides, border mode same, ReLU",row:53,col:1},{name:"convolution2d_48",className:"Convolution2D",details:"160 7x1 filters, 1x1 strides, border mode same, ReLU",row:57,col:2},{name:"batchnormalization_43",className:"BatchNormalization",details:"channel axis features",row:54,col:1},{name:"batchnormalization_48",className:"BatchNormalization",details:"channel axis features",row:58,col:2},{name:"averagepooling2d_5",className:"AveragePooling2D",details:"3x3 pool size, 1x1 strides, border mode same",row:51,col:3},{name:"convolution2d_41",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:51,col:0},{name:"convolution2d_44",className:"Convolution2D",details:"192 7x1 filters, 1x1 strides, border mode same, ReLU",row:55,col:1},{name:"convolution2d_49",className:"Convolution2D",details:"192 1x7 filters, 1x1 strides, border mode same, ReLU",row:59,col:2},{name:"convolution2d_50",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:52,col:3},{name:"batchnormalization_41",className:"BatchNormalization",details:"channel axis features",row:52,col:0},{name:"batchnormalization_44",className:"BatchNormalization",details:"channel axis features",row:56,col:1},{name:"batchnormalization_49",className:"BatchNormalization",details:"channel axis features",row:60,col:2},{name:"batchnormalization_50",className:"BatchNormalization",details:"channel axis features",row:53,col:3},{name:"mixed5",className:"Merge",details:"concat by channel axes",row:61,col:3},{name:"convolution2d_55",className:"Convolution2D",details:"160 1x1 filters, 1x1 strides, border mode same, ReLU",row:62,col:2},{name:"batchnormalization_55",className:"BatchNormalization",details:"channel axis features",row:63,col:2},{name:"convolution2d_56",className:"Convolution2D",details:"160 7x1 filters, 1x1 strides, border mode same, ReLU",row:64,col:2},{name:"batchnormalization_56",className:"BatchNormalization",details:"channel axis features",row:65,col:2},{name:"convolution2d_52",className:"Convolution2D",details:"160 1x1 filters, 1x1 strides, border mode same, ReLU",row:62,col:1},{name:"convolution2d_57",className:"Convolution2D",details:"160 1x7 filters, 1x1 strides, border mode same, ReLU",row:66,col:2},{name:"batchnormalization_52",className:"BatchNormalization",details:"channel axis features",row:63,col:1},{name:"batchnormalization_57",className:"BatchNormalization",details:"channel axis features",row:67,col:2},{name:"convolution2d_53",className:"Convolution2D",details:"160 1x7 filters, 1x1 strides, border mode same, ReLU",row:64,col:1},{name:"convolution2d_58",className:"Convolution2D",details:"160 7x1 filters, 1x1 strides, border mode same, ReLU",row:68,col:2},{name:"batchnormalization_53",className:"BatchNormalization",details:"channel axis features",row:65,col:1},{name:"batchnormalization_58",className:"BatchNormalization",details:"channel axis features",row:69,col:2},{name:"averagepooling2d_6",className:"AveragePooling2D",details:"3x3 pool size, 1x1 strides, border mode same",row:62,col:3},{name:"convolution2d_51",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:62,col:0},{name:"convolution2d_54",className:"Convolution2D",details:"192 7x1 filters, 1x1 strides, border mode same, ReLU",row:66,col:1},{name:"convolution2d_59",className:"Convolution2D",details:"192 1x7 filters, 1x1 strides, border mode same, ReLU",row:70,col:2},{name:"convolution2d_60",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:63,col:3},{name:"batchnormalization_51",className:"BatchNormalization",details:"channel axis features",row:63,col:0},{name:"batchnormalization_54",className:"BatchNormalization",details:"channel axis features",row:67,col:1},{name:"batchnormalization_59",className:"BatchNormalization",details:"channel axis features",row:71,col:2},{name:"batchnormalization_60",className:"BatchNormalization",details:"channel axis features",row:64,col:3},{name:"mixed6",className:"Merge",details:"concat by channel axes",row:72,col:3},{name:"convolution2d_65",className:"Convolution2D",details:"160 1x1 filters, 1x1 strides, border mode same, ReLU",row:73,col:2},{name:"batchnormalization_65",className:"BatchNormalization",details:"channel axis features",row:74,col:2},{name:"convolution2d_66",className:"Convolution2D",details:"192 7x1 filters, 1x1 strides, border mode same, ReLU",row:75,col:2},{name:"batchnormalization_66",className:"BatchNormalization",details:"channel axis features",row:76,col:2},{name:"convolution2d_62",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:73,col:1},{name:"convolution2d_67",className:"Convolution2D",details:"192 1x7 filters, 1x1 strides, border mode same, ReLU",row:77,col:2},{name:"batchnormalization_62",className:"BatchNormalization",details:"channel axis features",row:74,col:1},{name:"batchnormalization_67",className:"BatchNormalization",details:"channel axis features",row:78,col:2},{name:"convolution2d_63",className:"Convolution2D",details:"192 1x7 filters, 1x1 strides, border mode same, ReLU",row:75,col:1},{name:"convolution2d_68",className:"Convolution2D",details:"192 7x1 filters, 1x1 strides, border mode same, ReLU",row:79,col:2},{name:"batchnormalization_63",className:"BatchNormalization",details:"channel axis features",row:76,col:1},{name:"batchnormalization_68",className:"BatchNormalization",details:"channel axis features",row:80,col:2},{name:"averagepooling2d_7",className:"AveragePooling2D",details:"3x3 pool size, 1x1 strides, border mode same",row:73,col:3},{name:"convolution2d_61",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:73,col:0},{name:"convolution2d_64",className:"Convolution2D",details:"192 7x1 filters, 1x1 strides, border mode same, ReLU",row:77,col:1},{name:"convolution2d_69",className:"Convolution2D",details:"192 1x7 filters, 1x1 strides, border mode same, ReLU",row:81,col:2},{name:"convolution2d_70",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:74,col:3},{name:"batchnormalization_61",className:"BatchNormalization",details:"channel axis features",row:74,col:0},{name:"batchnormalization_64",className:"BatchNormalization",details:"channel axis features",row:78,col:1},{name:"batchnormalization_69",className:"BatchNormalization",details:"channel axis features",row:82,col:2},{name:"batchnormalization_70",className:"BatchNormalization",details:"channel axis features",row:75,col:3},{name:"mixed7",className:"Merge",details:"concat by channel axes",row:83,col:3},{name:"convolution2d_73",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:84,col:1},{name:"batchnormalization_73",className:"BatchNormalization",details:"channel axis features",row:85,col:1},{name:"convolution2d_74",className:"Convolution2D",details:"192 1x7 filters, 1x1 strides, border mode same, ReLU",row:86,col:1},{name:"batchnormalization_74",className:"BatchNormalization",details:"channel axis features",row:87,col:1},{name:"convolution2d_71",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:84,col:0},{name:"convolution2d_75",className:"Convolution2D",details:"192 7x1 filters, 1x1 strides, border mode same, ReLU",row:88,col:1},{name:"batchnormalization_71",className:"BatchNormalization",details:"channel axis features",row:85,col:0},{name:"batchnormalization_75",className:"BatchNormalization",details:"channel axis features",row:89,col:1},{name:"convolution2d_72",className:"Convolution2D",details:"320 3x3 filters, 2x2 strides, border mode valid, ReLU",row:86,col:0},{name:"convolution2d_76",className:"Convolution2D",details:"192 3x3 filters, 2x2 strides, border mode valid, ReLU",row:90,col:1},{name:"batchnormalization_72",className:"BatchNormalization",details:"channel axis features",row:87,col:0},{name:"batchnormalization_76",className:"BatchNormalization",details:"channel axis features",row:91,col:1},{name:"averagepooling2d_8",className:"AveragePooling2D",details:"3x3 pool size, 2x2 strides, border mode valid",row:84,col:2},{name:"mixed8",className:"Merge",details:"concat by channel axes",row:92,col:3},{name:"convolution2d_81",className:"Convolution2D",details:"448 1x1 filters, 1x1 strides, border mode same, ReLU",row:93,col:2},{name:"batchnormalization_81",className:"BatchNormalization",details:"channel axis features",row:94,col:2},{name:"convolution2d_78",className:"Convolution2D",details:"384 1x1 filters, 1x1 strides, border mode same, ReLU",row:93,col:1},{name:"convolution2d_82",className:"Convolution2D",details:"384 3x3 filters, 1x1 strides, border mode same, ReLU",row:95,col:2},{name:"batchnormalization_78",className:"BatchNormalization",details:"channel axis features",row:94,col:1},{name:"batchnormalization_82",className:"BatchNormalization",details:"channel axis features",row:96,col:2},{name:"convolution2d_79",className:"Convolution2D",details:"384 1x3 filters, 1x1 strides, border mode same, ReLU",row:95,col:1,subcol:0},{name:"convolution2d_80",className:"Convolution2D",details:"384 3x1 filters, 1x1 strides, border mode same, ReLU",row:95,col:1,subcol:1},{name:"convolution2d_83",className:"Convolution2D",details:"384 1x3 filters, 1x1 strides, border mode same, ReLU",row:97,col:2,subcol:0},{name:"convolution2d_84",className:"Convolution2D",details:"384 3x1 filters, 1x1 strides, border mode same, ReLU",row:97,col:2,subcol:1},{name:"averagepooling2d_9",className:"AveragePooling2D",details:"3x3 pool size, 1x1 strides, border mode same",row:93,col:3},{name:"convolution2d_77",className:"Convolution2D",details:"320 1x1 filters, 1x1 strides, border mode same, ReLU",row:93,col:0},{name:"batchnormalization_79",className:"BatchNormalization",details:"channel axis features",row:96,col:1,subcol:0},{name:"batchnormalization_80",className:"BatchNormalization",details:"channel axis features",row:96,col:1,subcol:1},{name:"batchnormalization_83",className:"BatchNormalization",details:"channel axis features",row:98,col:2,subcol:0},{name:"batchnormalization_84",className:"BatchNormalization",details:"channel axis features",row:98,col:2,subcol:1},{name:"convolution2d_85",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:94,col:3},{name:"batchnormalization_77",className:"BatchNormalization",details:"channel axis features",row:94,col:0},{name:"mixed9_0",className:"Merge",details:"concat by channel axes",row:97,col:1},{name:"merge_1",className:"Merge",details:"concat by channel axes",row:99,col:2},{name:"batchnormalization_85",className:"BatchNormalization",details:"channel axis features",row:95,col:3},{name:"mixed9",className:"Merge",details:"concat by channel axes",row:100,col:3},{name:"convolution2d_90",className:"Convolution2D",details:"448 1x1 filters, 1x1 strides, border mode same, ReLU",row:101,col:2},{name:"batchnormalization_90",className:"BatchNormalization",details:"channel axis features",row:102,col:2},{name:"convolution2d_87",className:"Convolution2D",details:"384 1x1 filters, 1x1 strides, border mode same, ReLU",row:101,col:1},{name:"convolution2d_91",className:"Convolution2D",details:"384 3x3 filters, 1x1 strides, border mode same, ReLU",row:103,col:2},{name:"batchnormalization_87",className:"BatchNormalization",details:"channel axis features",row:102,col:1},{name:"batchnormalization_91",className:"BatchNormalization",details:"channel axis features",row:104,col:2},{name:"convolution2d_88",className:"Convolution2D",details:"384 1x3 filters, 1x1 strides, border mode same, ReLU",row:103,col:1,subcol:0},{name:"convolution2d_89",className:"Convolution2D",details:"384 3x1 filters, 1x1 strides, border mode same, ReLU",row:103,col:1,subcol:1},{name:"convolution2d_92",className:"Convolution2D",details:"384 1x3 filters, 1x1 strides, border mode same, ReLU",row:105,col:2,subcol:0},{name:"convolution2d_93",className:"Convolution2D",details:"384 3x1 filters, 1x1 strides, border mode same, ReLU",row:105,col:2,subcol:1},{name:"averagepooling2d_10",className:"AveragePooling2D",details:"3x3 pool size, 1x1 strides, border mode same",row:101,col:3},{name:"convolution2d_86",className:"Convolution2D",details:"320 1x1 filters, 1x1 strides, border mode same, ReLU",row:101,col:0},{name:"batchnormalization_88",className:"BatchNormalization",details:"channel axis features",row:104,col:1,subcol:0},{name:"batchnormalization_89",className:"BatchNormalization",details:"channel axis features",row:104,col:1,subcol:1},{name:"batchnormalization_92",className:"BatchNormalization",details:"channel axis features",row:106,col:2,subcol:0},{name:"batchnormalization_93",className:"BatchNormalization",details:"channel axis features",row:106,col:2,subcol:1},{name:"convolution2d_94",className:"Convolution2D",details:"192 1x1 filters, 1x1 strides, border mode same, ReLU",row:102,col:3},{name:"batchnormalization_86",className:"BatchNormalization",details:"channel axis features",row:102,col:0},{name:"mixed9_1",className:"Merge",details:"concat by channel axes",row:105,col:1},{name:"merge_2",className:"Merge",details:"concat by channel axes",row:107,col:2},{name:"batchnormalization_94",className:"BatchNormalization",details:"channel axis features",row:103,col:3},{name:"mixed10",className:"Merge",details:"concat by channel axes",row:108,col:3},{name:"avg_pool",className:"AveragePooling2D",details:"8x8 pool size, 8x8 strides, border mode valid",row:109,col:3},{name:"flatten",className:"Flatten",details:"",row:110,col:3},{name:"predictions",className:"Dense",details:"output dimensions 1000, softmax activation",row:111,col:3}],n.ARCHITECTURE_CONNECTIONS=[{from:"averagepooling2d_1",to:"predictions"},{from:"convolution2d_1",to:"maxpooling2d_2"},{from:"maxpooling2d_2",to:"batchnormalization_9"},{from:"maxpooling2d_2",to:"batchnormalization_11",corner:"top-right"},{from:"maxpooling2d_2",to:"batchnormalization_8",corner:"top-right"},{from:"maxpooling2d_2",to:"averagepooling2d_1",corner:"top-right"},{from:"batchnormalization_9",to:"mixed0",corner:"bottom-left"},{from:"batchnormalization_11",to:"mixed0",corner:"bottom-left"},{from:"batchnormalization_8",to:"mixed0",corner:"bottom-left"},{from:"mixed0",to:"convolution2d_16",corner:"bottom-right"},{from:"mixed0",to:"convolution2d_14",corner:"bottom-right"},{from:"mixed0",to:"convolution2d_13",corner:"bottom-right"},{from:"convolution2d_16",to:"mixed1",corner:"bottom-left"},{from:"convolution2d_14",to:"mixed1",corner:"bottom-left"},{from:"convolution2d_13",to:"mixed1",corner:"bottom-left"},{from:"mixed1",to:"convolution2d_23",corner:"bottom-right"},{from:"mixed1",to:"convolution2d_21",corner:"bottom-right"},{from:"mixed1",to:"convolution2d_20",corner:"bottom-right"},{from:"convolution2d_23",to:"mixed2",corner:"bottom-left"},{from:"convolution2d_21",to:"mixed2",corner:"bottom-left"},{from:"convolution2d_20",to:"mixed2",corner:"bottom-left"},{from:"mixed2",to:"convolution2d_27",corner:"bottom-right"},{from:"mixed2",to:"convolution2d_28",corner:"bottom-right"},{from:"mixed2",to:"maxpooling2d_3",corner:"bottom-right"},{from:"convolution2d_27",to:"mixed3",corner:"bottom-left"},{from:"convolution2d_28",to:"mixed3",corner:"bottom-left"},{from:"maxpooling2d_3",to:"mixed3",corner:"bottom-left"},{from:"mixed3",to:"convolution2d_31",corner:"bottom-right"},{from:"mixed3",to:"convolution2d_32",corner:"bottom-right"},{from:"mixed3",to:"convolution2d_35",corner:"bottom-right"},{from:"convolution2d_31",to:"mixed4",corner:"bottom-left"},{from:"convolution2d_32",to:"mixed4",corner:"bottom-left"},{from:"convolution2d_35",to:"mixed4",corner:"bottom-left"},{from:"mixed4",to:"convolution2d_41",corner:"bottom-right"},{from:"mixed4",to:"convolution2d_42",corner:"bottom-right"},{from:"mixed4",to:"convolution2d_45",corner:"bottom-right"},{from:"convolution2d_41",to:"mixed5",corner:"bottom-left"},{from:"convolution2d_42",to:"mixed5",corner:"bottom-left"},{from:"convolution2d_45",to:"mixed5",corner:"bottom-left"},{from:"mixed5",to:"convolution2d_51",corner:"bottom-right"},{from:"mixed5",to:"convolution2d_52",corner:"bottom-right"},{from:"mixed5",to:"convolution2d_55",corner:"bottom-right"},{from:"convolution2d_51",to:"mixed6",corner:"bottom-left"},{from:"convolution2d_52",to:"mixed6",corner:"bottom-left"},{from:"convolution2d_55",to:"mixed6",corner:"bottom-left"},{from:"mixed6",to:"convolution2d_61",corner:"bottom-right"},{from:"mixed6",to:"convolution2d_62",corner:"bottom-right"},{from:"mixed6",to:"convolution2d_65",corner:"bottom-right"},{from:"convolution2d_61",to:"mixed7",corner:"bottom-left"},{from:"convolution2d_62",to:"mixed7",corner:"bottom-left"},{from:"convolution2d_65",to:"mixed7",corner:"bottom-left"},{from:"mixed7",to:"convolution2d_71",corner:"bottom-right"},{from:"mixed7",to:"convolution2d_73",corner:"bottom-right"},{from:"mixed7",to:"averagepooling2d_8",corner:"bottom-right"},{from:"convolution2d_71",to:"mixed8",corner:"bottom-left"},{from:"convolution2d_73",to:"mixed8",corner:"bottom-left"},{from:"averagepooling2d_8",to:"mixed8",corner:"bottom-left"},{from:"mixed8",to:"convolution2d_77",corner:"bottom-right"},{from:"mixed8",to:"convolution2d_78",corner:"bottom-right"},{from:"mixed8",to:"convolution2d_81",corner:"bottom-right"},{from:"convolution2d_77",to:"mixed9",corner:"bottom-left"},{from:"convolution2d_78",to:"batchnormalization_78"},{from:"batchnormalization_78",to:"convolution2d_79"},{from:"batchnormalization_78",to:"convolution2d_80"},{from:"convolution2d_79",to:"batchnormalization_79"},{from:"convolution2d_80",to:"batchnormalization_80"},{from:"batchnormalization_79",to:"mixed9_0"},{from:"batchnormalization_80",to:"mixed9_0"},{from:"mixed9_0",to:"mixed9",corner:"bottom-left"},{from:"convolution2d_81",to:"batchnormalization_81"},{from:"batchnormalization_81",to:"convolution2d_82"},{from:"convolution2d_82",to:"batchnormalization_82"},{from:"batchnormalization_82",to:"convolution2d_83"},{from:"batchnormalization_82",to:"convolution2d_84"},{from:"convolution2d_83",to:"batchnormalization_83"},{from:"convolution2d_84",to:"batchnormalization_84"},{from:"batchnormalization_83",to:"merge_1"},{from:"batchnormalization_84",to:"merge_1"},{from:"merge_1",to:"mixed9",corner:"bottom-left"},{from:"mixed9",to:"convolution2d_86",corner:"bottom-right"},{from:"mixed9",to:"convolution2d_87",corner:"bottom-right"},{from:"mixed9",to:"convolution2d_90",corner:"bottom-right"},{from:"convolution2d_86",to:"mixed10",corner:"bottom-left"},{from:"convolution2d_87",to:"batchnormalization_87"},{from:"batchnormalization_87",to:"convolution2d_88"},{from:"batchnormalization_87",to:"convolution2d_89"},{from:"convolution2d_88",to:"batchnormalization_88"},{from:"convolution2d_89",to:"batchnormalization_89"},{from:"batchnormalization_88",to:"mixed9_1"},{from:"batchnormalization_89",to:"mixed9_1"},{from:"mixed9_1",to:"mixed10",corner:"bottom-left"},{from:"convolution2d_90",to:"batchnormalization_90"},{from:"batchnormalization_90",to:"convolution2d_91"},{from:"convolution2d_91",to:"batchnormalization_91"},{from:"batchnormalization_91",to:"convolution2d_92"},{from:"batchnormalization_91",to:"convolution2d_93"},{from:"convolution2d_92",to:"batchnormalization_92"},{from:"convolution2d_93",to:"batchnormalization_93"},{from:"batchnormalization_92",to:"merge_2"},{from:"batchnormalization_93",to:"merge_2"},{from:"merge_2",to:"mixed10",corner:"bottom-left"}]},function(e,n,t){"use strict";function a(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t]);return n.default=e,n}function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.InceptionV3=void 0,t(228);var r=t(20),i=o(r),s=t(31),l=o(s),c=t(200),u=o(c),d=t(11),m=a(d),f=t(38),p=t(83),h={model:"demos/data/inception_v3/inception_v3.json",weights:"https://transcranial.github.io/keras-js-demos-data/inception_v3/inception_v3_weights.buf",metadata:"demos/data/inception_v3/inception_v3_metadata.json"},b={filepaths:h};n.InceptionV3=Vue.extend({props:["hasWebgl"],template:t(221),data:function(){return{showInfoPanel:!0,useGpu:this.hasWebgl,model:new KerasJS.Model(Object.assign({gpu:this.hasWebgl,layerCallPauses:!0},b)),modelLoading:!0,modelRunning:!1,imageURLInput:null,imageURLSelect:null,imageURLSelectList:f.IMAGE_URLS,imageLoading:!1,imageLoadingError:!1,output:null,architectureDiagram:p.ARCHITECTURE_DIAGRAM,architectureConnections:p.ARCHITECTURE_CONNECTIONS,architectureDiagramPaths:[],showComputationFlow:!0}},computed:{loadingProgress:function(){return this.model.getLoadingProgress()},architectureDiagramRows:function(){for(var e=[],n=0;n<112;n++){for(var t=[],a=0;a<4;a++)t.push((0,u.default)(this.architectureDiagram,{row:n,col:a}));e.push(t)}return e},layersWithResults:function(){return this.model.layersWithResults},outputClasses:function(){if(!this.output){for(var e=[],n=0;n<5;n++)e.push({name:"-",probability:0});return e}return m.imagenetClassesTopK(this.output,5)}},ready:function(){var e=this;this.model.ready().then(function(){e.modelLoading=!1,e.architectureDiagramPaths=[],setTimeout(function(){e.architectureConnections.forEach(function(n){var t=document.getElementsByClassName("architecture-container")[0],a=document.getElementById(n.from),o=document.getElementById(n.to),r=t.getBoundingClientRect(),i=a.getBoundingClientRect(),s=o.getBoundingClientRect(),l=r.left,c=r.top,u=i.left+i.width/2-l,d=i.top+i.height/2-c,m=s.left+s.width/2-l,f=s.top+s.height/2-c,p="M"+u+","+d+" L"+m+","+f;"top-right"===n.corner?p="M"+u+","+d+" L"+(m-10)+","+d+" Q"+m+","+d+" "+m+","+(d+10)+" L"+m+","+f:"bottom-left"===n.corner?p="M"+u+","+d+" L"+u+","+(f-10)+" Q"+u+","+f+" "+(u+10)+","+f+" L"+m+","+f:"top-left"===n.corner?p="M"+u+","+d+" L"+(m+10)+","+d+" Q"+m+","+d+" "+m+","+(d+10)+" L"+m+","+f:"bottom-right"===n.corner&&(p="M"+u+","+d+" L"+u+","+(d+20)+" Q"+u+","+(d+30)+" "+(u-10)+","+(d+30)+" L"+(m+10)+","+(d+30)+" Q"+m+","+(d+30)+" "+m+","+(d+40)+" L"+m+","+f),e.architectureDiagramPaths.push(p)})},1e3)})},methods:{closeInfoPanel:function(){this.showInfoPanel=!1},toggleGpu:function(){this.model.toggleGpu(!this.useGpu)},toggleComputationFlow:function(){this.model.layerCallPauses=!this.showComputationFlow},imageURLInputChanged:function(e){this.imageURLSelect=null,this.loadImageToCanvas(this.imageURLInput)},imageURLSelectChanged:function(e){this.imageURLInput=this.imageURLSelect,this.loadImageToCanvas(this.imageURLSelect)},loadImageToCanvas:function(e){var n=this;return e?(this.imageLoading=!0,void loadImage(e,function(e){if("error"===e.type)n.imageLoadingError=!0,n.imageLoading=!1;else{var t=document.getElementById("input-canvas").getContext("2d");t.drawImage(e,0,0),n.imageLoadingError=!1,n.imageLoading=!1,n.modelRunning=!0,n.$nextTick(function(){var e=this;setTimeout(function(){e.runModel()},200)})}},{maxWidth:299,maxHeight:299,cover:!0,crop:!0,canvas:!0,crossOrigin:"Anonymous"})):void this.clearAll()},runModel:function(){var e=this,n=document.getElementById("input-canvas").getContext("2d"),t=n.getImageData(0,0,n.canvas.width,n.canvas.height),a=t.data,o=t.width,r=t.height,s=(0,i.default)(new Float32Array(a),[o,r,4]),c=(0,i.default)(new Float32Array(o*r*3),[o,r,3]);l.default.divseq(s,255),l.default.subseq(s,.5),l.default.mulseq(s,2),l.default.assign(c.pick(null,null,0),s.pick(null,null,0)),l.default.assign(c.pick(null,null,1),s.pick(null,null,1)),l.default.assign(c.pick(null,null,2),s.pick(null,null,2));var u={input_1:c.data};this.model.predict(u).then(function(n){e.output=n.predictions,e.modelRunning=!1})},clearAll:function(){this.modelRunning=!1,this.imageURLInput=null,this.imageURLSelect=null,this.imageLoading=!1,this.imageLoadingError=!1,this.output=null,this.model.layersWithResults=[];var e=document.getElementById("input-canvas").getContext("2d");e.clearRect(0,0,e.canvas.width,e.canvas.height)}}})},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Menu=void 0,t(230);n.Menu=Vue.extend({props:["currentView"],template:t(222)})},function(e,n,t){"use strict";function a(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t]);return n.default=e,n}function o(e){return e&&e.__esModule?e:{default:e}}function r(e){if(Array.isArray(e)){for(var n=0,t=Array(e.length);ne.output[n]?a:n},0)}},ready:function(){var e=this;this.model.ready().then(function(){e.modelLoading=!1,e.$nextTick(function(){this.getIntermediateResults()})})},methods:{closeInfoPanel:function(){this.showInfoPanel=!1},toggleGpu:function(){this.model.toggleGpu(!this.useGpu)},clear:function(e){this.clearIntermediateResults();var n=document.getElementById("input-canvas").getContext("2d");n.clearRect(0,0,n.canvas.width,n.canvas.height);var t=document.getElementById("input-canvas-centercrop").getContext("2d");t.clearRect(0,0,t.canvas.width,t.canvas.height);var a=document.getElementById("input-canvas-scaled").getContext("2d");a.clearRect(0,0,a.canvas.width,a.canvas.height),this.output=new Float32Array(10),this.drawing=!1,this.strokes=[]},activateDraw:function(e){this.drawing=!0,this.strokes.push([]);var n=this.strokes[this.strokes.length-1];n.push(m.getCoordinates(e))},draw:function(e){if(this.drawing){var n=document.getElementById("input-canvas").getContext("2d");n.lineWidth=20,n.lineJoin=n.lineCap="round",n.strokeStyle="#393E46",n.clearRect(0,0,n.canvas.width,n.canvas.height);var t=this.strokes[this.strokes.length-1];t.push(m.getCoordinates(e));for(var a=0,o=this.strokes.length;a2&&void 0!==arguments[2]?arguments[2]:{};o(this,e),this._type=a.type||Float32Array,n&&n.length&&(n instanceof this._type||n instanceof Array)?(d(n,t),this.tensor=(0,s.default)(n,t),this.tensor=(0,s.default)(new this._type(n),t)):!n.length&&t.length?this.tensor=(0,s.default)(new this._type(t.reduce(function(e,n){return e*n},1)),t):this.tensor=(0,s.default)(new this._type([]),[])}return r(e,[{key:"createWeblasTensor",value:function(){if(this.weblasTensor&&this.weblasTensor.delete(),this.weblasTensorsSplit&&this.weblasTensorsSplit.forEach(function(e){return e.delete()}),1===this.tensor.shape.length){var e=this.tensor.shape[0];if(e>u.MAX_TEXTURE_SIZE){this.weblasTensorsSplit=[];for(var n=Math.ceil(u.MAX_TEXTURE_SIZE/e),t=0;tu.MAX_TEXTURE_SIZE}))throw new Error("[Tensor] cannot create Tensor with both dimensions exceeding MAX_TEXTURE_SIZE");var s=this.tensor.shape[0],l=this.tensor.shape[1];if(s>u.MAX_TEXTURE_SIZE){this.weblasTensorsSplit=[];for(var c=Math.ceil(s/u.MAX_TEXTURE_SIZE),d=0;du.MAX_TEXTURE_SIZE){this.weblasTensorsSplit=[];for(var h=Math.ceil(l/u.MAX_TEXTURE_SIZE),b=0;b .mdl-switch {\n margin-bottom: 5px;\n}\n.demo.inception-v3 .top-container .controls > .mdl-switch .mdl-switch__label {\n font-size: 12px !important;\n}\n.demo.inception-v3 .columns.input-output {\n max-width: 800px;\n margin: 0 auto;\n}\n.demo.inception-v3 .columns.input-output .column {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.demo.inception-v3 .columns.input-output .column.input-column {\n position: relative;\n}\n.demo.inception-v3 .columns.input-output .column.input-column .loading-indicator {\n position: absolute;\n top: 0;\n left: -10px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-item-align: start;\n align-self: flex-start;\n}\n.demo.inception-v3 .columns.input-output .column.input-column .loading-indicator .mdl-spinner {\n margin: 20px;\n -ms-flex-item-align: center;\n -ms-grid-row-align: center;\n align-self: center;\n}\n.demo.inception-v3 .columns.input-output .column.input-column .loading-indicator .error {\n color: #D24D57;\n font-size: 14px;\n font-family: 'Fira Sans',sans-serif;\n margin: 20px;\n}\n.demo.inception-v3 .columns.input-output .column.input-column .canvas-container {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n.demo.inception-v3 .columns.input-output .column.input-column .canvas-container canvas {\n background: white;\n}\n.demo.inception-v3 .columns.input-output .column.output-column .output {\n width: 370px;\n height: 160px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.demo.inception-v3 .columns.input-output .column.output-column .output .output-class {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 6px 0;\n}\n.demo.inception-v3 .columns.input-output .column.output-column .output .output-class .output-label {\n text-align: right;\n width: 200px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: 'Share Tech Mono',sans-serif;\n font-size: 18px;\n color: #69707a;\n padding: 0 6px;\n border-right: 2px solid rgba(27, 188, 155, 0.3);\n}\n.demo.inception-v3 .columns.input-output .column.output-column .output .output-class .output-bar {\n height: 8px;\n -webkit-transition: width 0.2s ease-out;\n transition: width 0.2s ease-out;\n}\n.demo.inception-v3 .columns.input-output .column.output-column .output .output-class .output-value {\n text-align: left;\n margin-left: 5px;\n font-family: 'Share Tech Mono',sans-serif;\n font-size: 14px;\n color: #69707a;\n}\n.demo.inception-v3 .columns.input-output .column.output-column .output .output-class.predicted .output-label {\n color: #1BBC9B;\n border-left-color: #1BBC9B;\n}\n.demo.inception-v3 .columns.input-output .column.output-column .output .output-class.predicted .output-value {\n color: #1BBC9B;\n}\n.demo.inception-v3 .architecture-container {\n min-width: 800px;\n max-width: 1200px;\n margin: 0 auto;\n position: relative;\n}\n.demo.inception-v3 .architecture-container .layers-row {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 5px;\n position: relative;\n z-index: 1;\n}\n.demo.inception-v3 .architecture-container .layers-row .layer-column {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 5px;\n}\n.demo.inception-v3 .architecture-container .layers-row .layer-column .layer {\n display: inline-block;\n background: white;\n border: 2px solid white;\n border-radius: 5px;\n padding: 2px 10px 0px;\n margin: 3px;\n}\n.demo.inception-v3 .architecture-container .layers-row .layer-column .layer .layer-class-name {\n color: #1BBC9B;\n font-size: 14px;\n font-weight: bold;\n}\n.demo.inception-v3 .architecture-container .layers-row .layer-column .layer .layer-details {\n color: #999999;\n font-size: 12px;\n font-weight: bold;\n}\n.demo.inception-v3 .architecture-container .layers-row .layer-column .layer.has-result {\n border-color: #1BBC9B;\n}\n.demo.inception-v3 .architecture-container .architecture-connections {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 0;\n}\n.demo.inception-v3 .architecture-container .architecture-connections path {\n stroke-width: 4px;\n stroke: #AAAAAA;\n fill: none;\n}\n",""])},function(e,n,t){n=e.exports=t(3)(),n.push([e.i,"@import url(https://fonts.googleapis.com/css?family=Fira+Sans);",""]),n.push([e.i,"@import url(https://fonts.googleapis.com/css?family=Share+Tech+Mono);",""]),n.push([e.i,"@import url(https://fonts.googleapis.com/css?family=Nothing+You+Could+Do);",""]),n.push([e.i,"body {\n background: -webkit-linear-gradient(bottom, #CCCCCC, #F0F0F0);\n background: linear-gradient(0deg, #CCCCCC, #F0F0F0);\n color: #393E46;\n min-height: 100vh;\n font-family: 'Fira Sans',sans-serif;\n}\n\n.title {\n width: 100%;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.title span {\n color: #1BBC9B;\n margin-right: 20px;\n}\n\n.subtitle {\n color: #393E46;\n}\n\n.demo {\n padding: 50px 30px;\n}\n\n.demo .loading-progress {\n position: absolute;\n top: 0;\n right: 0;\n padding: 30px;\n color: #1BBC9B;\n font-size: 18px;\n font-family: 'Share Tech Mono',sans-serif;\n padding: 20px 50px;\n margin: 30px;\n background: rgba(255, 255, 255, 0.5);\n border-radius: 10px;\n}\n\n.demo .info-panel {\n width: 100%;\n max-width: 1200px;\n border-radius: 5px;\n background: white;\n color: #393E46;\n padding: 20px 20px 5px 20px;\n margin: 20px auto;\n box-shadow: 5px 5px #CCCCCC;\n}\n\n.demo .info-panel .info-panel-text {\n width: 100%;\n margin-bottom: 10px;\n font-size: 12px;\n}\n\n.demo .info-panel .info-panel-text a {\n color: #1BBC9B;\n -webkit-transition: color 0.2s ease-in;\n transition: color 0.2s ease-in\n}\n\n.demo .info-panel .info-panel-text a:hover{\n color: rgba(27, 188, 155, 0.6);\n}\n\n.demo .info-panel .info-panel-close {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n\n.demo .info-panel .info-panel-close .info-panel-close-btn {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n color: #69707a;\n -webkit-transition: color 0.2s ease-in;\n transition: color 0.2s ease-in\n}\n\n.demo .info-panel .info-panel-close .info-panel-close-btn:hover{\n color: rgba(27, 188, 155, 0.3);\n cursor: pointer;\n}\n\n/* MDL overrides */\n\n.demo .mdl-switch__label {\n font-size: 14px !important;\n color: #69707a;\n}\n\n/****************************************************************/\n\n.demo .mdl-switch.is-checked .mdl-switch__thumb {\n background: rgba(27, 188, 155, 0.6);\n}\n\n.demo .mdl-switch.is-checked .mdl-switch__track {\n background: rgba(27, 188, 155, 0.3);\n}\n\n.demo .mdl-textfield .mdl-textfield__input {\n border-bottom-color: rgba(27, 188, 155, 0.6);\n font-family: 'Share Tech Mono',sans-serif;\n font-size: 14px;\n}\n\n.demo .mdl-textfield .mdl-textfield__label {\n font-family: 'Share Tech Mono',sans-serif;\n color: rgba(27, 188, 155, 0.6);\n}\n\n.demo .mdl-textfield .mdl-icon-toggle__label {\n color: rgba(27, 188, 155, 0.6);\n}\n\n.demo .mdl-textfield.is-focused .mdl-textfield__input {\n border-color: #1BBC9B;\n}\n\n.demo .mdl-textfield.is-focused .mdl-textfield__label {\n color: #1BBC9B\n}\n\n.demo .mdl-textfield.is-focused .mdl-textfield__label::after{\n background-color: #1BBC9B;\n}\n\n.demo .mdl-textfield.is-focused .mdl-icon-toggle__label {\n color: #1BBC9B;\n}\n\n.demo .mdl-menu .mdl-menu__item {\n font-family: 'Share Tech Mono',sans-serif;\n font-size: 14px;\n color: #69707a\n}\n\n.demo .mdl-menu .mdl-menu__item:hover{\n background-color: rgba(27, 188, 155, 0.6);\n color: white;\n}\n",""])},function(e,n,t){n=e.exports=t(3)(),n.push([e.i,".menu {\n padding: 40px;\n margin: 20px;\n background: white;\n border-radius: 10px;\n box-shadow: 5px 5px #CCCCCC;\n}\n.menu h1 {\n color: #CCCCCC;\n font-family: 'Fira Sans',sans-serif;\n font-size: 1.5rem;\n}\n.menu .menu-list li {\n color: #69707a;\n border-left: 2px solid white;\n margin-bottom: 3px;\n}\n.menu .menu-list li.active {\n border-left: 2px solid #1BBC9B;\n}\n.menu .menu-list a {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n.menu .menu-list a span.menu-item-heading {\n margin-right: 10px;\n}\n.menu .menu-list a span.menu-item-subheading {\n color: #999999;\n font-size: 0.8em;\n}\n.menu .menu-list a:hover {\n color: #1BBC9B;\n background-color: whitesmoke;\n}\n.menu .menu-list a:hover .github-logo {\n fill: #1BBC9B;\n}\n.menu .menu-list.github li, .menu .menu-list.contact li {\n padding: 5px 10px;\n}\n.menu .menu-list.github a, .menu .menu-list.contact a {\n color: #1BBC9B;\n padding: 0;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n background-color: none;\n -webkit-transition: color 0.2s ease-in;\n transition: color 0.2s ease-in;\n}\n.menu .menu-list.github a .github-logo, .menu .menu-list.contact a .github-logo {\n fill: #1BBC9B;\n -webkit-transition: fill 0.2s ease-in;\n transition: fill 0.2s ease-in;\n}\n.menu .menu-list.github a:hover, .menu .menu-list.contact a:hover {\n color: rgba(27, 188, 155, 0.6);\n background: none;\n}\n.menu .menu-list.github a:hover .github-logo, .menu .menu-list.contact a:hover .github-logo {\n fill: rgba(27, 188, 155, 0.6);\n}\n",""])},function(e,n,t){n=e.exports=t(3)(),n.push([e.i,".demo.mnist-cnn .column {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.demo.mnist-cnn .column.input-column {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n.demo.mnist-cnn .column.input-column .input-container {\n text-align: right;\n margin: 20px;\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.demo.mnist-cnn .column.input-column .input-container .input-label {\n font-family: 'Nothing You Could Do',cursive;\n font-size: 18px;\n color: #69707a;\n text-align: right;\n}\n.demo.mnist-cnn .column.input-column .input-container .input-label span.arrow {\n font-size: 36px;\n color: #CCCCCC;\n position: absolute;\n right: -32px;\n top: 8px;\n}\n.demo.mnist-cnn .column.input-column .input-container .canvas-container {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n margin: 10px 0;\n border: 15px solid rgba(27, 188, 155, 0.3);\n -webkit-transition: border-color 0.2s ease-in;\n transition: border-color 0.2s ease-in;\n}\n.demo.mnist-cnn .column.input-column .input-container .canvas-container canvas {\n background: white\n}\n.demo.mnist-cnn .column.input-column .input-container .canvas-container canvas:hover {\n cursor: crosshair;\n}\n.demo.mnist-cnn .column.input-column .input-container .canvas-container:hover {\n border-color: rgba(27, 188, 155, 0.6);\n}\n.demo.mnist-cnn .column.input-column .input-container .input-buttons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n.demo.mnist-cnn .column.input-column .input-container .input-buttons .input-clear-button {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n color: #69707a;\n -webkit-transition: color 0.2s ease-in;\n transition: color 0.2s ease-in;\n}\n.demo.mnist-cnn .column.input-column .input-container .input-buttons .input-clear-button .material-icons {\n margin-right: 5px;\n}\n.demo.mnist-cnn .column.input-column .input-container .input-buttons .input-clear-button:hover {\n color: rgba(27, 188, 155, 0.3);\n cursor: pointer;\n}\n.demo.mnist-cnn .column.controls-column {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n padding-top: 80px;\n}\n.demo.mnist-cnn .column.output-column {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.demo.mnist-cnn .column.output-column .output {\n height: 160px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n}\n.demo.mnist-cnn .column.output-column .output .output-class {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 0 6px;\n border-bottom: 2px solid rgba(27, 188, 155, 0.3);\n}\n.demo.mnist-cnn .column.output-column .output .output-class .output-label {\n font-family: 'Share Tech Mono',sans-serif;\n font-size: 1.5rem;\n color: #69707a;\n}\n.demo.mnist-cnn .column.output-column .output .output-class .output-bar {\n width: 8px;\n background: #EEEEEE;\n -webkit-transition: height 0.2s ease-out;\n transition: height 0.2s ease-out;\n}\n.demo.mnist-cnn .column.output-column .output .output-class.predicted {\n border-bottom-color: #1BBC9B;\n}\n.demo.mnist-cnn .column.output-column .output .output-class.predicted .output-label {\n color: #1BBC9B;\n}\n.demo.mnist-cnn .layer-results-container {\n position: relative;\n}\n.demo.mnist-cnn .layer-results-container .bg-line {\n position: absolute;\n z-index: 0;\n top: 0;\n left: 50%;\n background: white;\n width: 15px;\n height: 100%;\n}\n.demo.mnist-cnn .layer-results-container .layer-result {\n position: relative;\n z-index: 1;\n margin: 30px 20px;\n background: white;\n border-radius: 10px;\n padding: 20px;\n overflow-x: auto;\n}\n.demo.mnist-cnn .layer-results-container .layer-result .layer-result-heading {\n font-size: 1rem;\n color: #999999;\n margin-bottom: 10px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n font-size: 12px;\n}\n.demo.mnist-cnn .layer-results-container .layer-result .layer-result-heading span.layer-class {\n color: #1BBC9B;\n font-size: 14px;\n font-weight: bold;\n}\n.demo.mnist-cnn .layer-results-container .layer-result .layer-result-canvas-container {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n background: white;\n}\n.demo.mnist-cnn .layer-results-container .layer-result .layer-result-canvas-container canvas {\n border: 1px solid lightgray;\n margin: 1px;\n}\n",""])},function(e,n,t){n=e.exports=t(3)(),n.push([e.i,".demo.mnist-vae .column {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.demo.mnist-vae .column.input-column {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n.demo.mnist-vae .column.input-column .input-container {\n text-align: right;\n margin: 20px;\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.demo.mnist-vae .column.input-column .input-container .input-label {\n font-family: 'Nothing You Could Do',cursive;\n font-size: 18px;\n color: #69707a;\n text-align: right;\n}\n.demo.mnist-vae .column.input-column .input-container .input-label span.arrow {\n font-size: 36px;\n color: #CCCCCC;\n position: absolute;\n right: -32px;\n top: 8px;\n}\n.demo.mnist-vae .column.input-column .input-container .canvas-container {\n position: relative;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n margin: 10px 0;\n border: 15px solid rgba(27, 188, 155, 0.3);\n -webkit-transition: border-color 0.2s ease-in;\n transition: border-color 0.2s ease-in;\n}\n.demo.mnist-vae .column.input-column .input-container .canvas-container canvas {\n background: white\n}\n.demo.mnist-vae .column.input-column .input-container .canvas-container canvas:hover {\n cursor: crosshair;\n}\n.demo.mnist-vae .column.input-column .input-container .canvas-container .axis {\n position: absolute;\n cursor: default;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n font-family: 'Share Tech Mono',sans-serif;\n font-size: 14px;\n color: #1BBC9B;\n}\n.demo.mnist-vae .column.input-column .input-container .canvas-container .axis.x-axis {\n right: 0;\n bottom: -45px;\n width: 200px;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.demo.mnist-vae .column.input-column .input-container .canvas-container .axis.y-axis {\n top: 0;\n left: -55px;\n height: 200px;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.demo.mnist-vae .column.input-column .input-container .canvas-container:hover {\n border-color: rgba(27, 188, 155, 0.6);\n}\n.demo.mnist-vae .column.controls-column {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n padding-top: 80px;\n}\n.demo.mnist-vae .column.controls-column .coordinates {\n margin-left: 5px;\n margin-top: 45px;\n font-family: 'Share Tech Mono',sans-serif;\n font-size: 20px;\n color: #69707a;\n}\n.demo.mnist-vae .column.output-column {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n.demo.mnist-vae .column.output-column .output {\n border-radius: 10px;\n overflow: hidden;\n}\n.demo.mnist-vae .column.output-column .output canvas {\n background: white;\n}\n.demo.mnist-vae .layer-results-container {\n position: relative;\n}\n.demo.mnist-vae .layer-results-container .bg-line {\n position: absolute;\n z-index: 0;\n top: 0;\n left: 50%;\n background: white;\n width: 15px;\n height: 100%;\n}\n.demo.mnist-vae .layer-results-container .layer-result {\n position: relative;\n z-index: 1;\n margin: 30px 20px;\n background: white;\n border-radius: 10px;\n padding: 20px;\n overflow-x: auto;\n}\n.demo.mnist-vae .layer-results-container .layer-result .layer-result-heading {\n font-size: 1rem;\n color: #999999;\n margin-bottom: 10px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n font-size: 12px;\n}\n.demo.mnist-vae .layer-results-container .layer-result .layer-result-heading span.layer-class {\n color: #1BBC9B;\n font-size: 14px;\n font-weight: bold;\n}\n.demo.mnist-vae .layer-results-container .layer-result .layer-result-canvas-container {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n background: white;\n}\n.demo.mnist-vae .layer-results-container .layer-result .layer-result-canvas-container canvas {\n border: 1px solid lightgray;\n margin: 1px;\n}\n",""])},function(e,n,t){n=e.exports=t(3)(),n.push([e.i,".demo.resnet50 .top-container {\n margin: 10px;\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.demo.resnet50 .top-container .input-container .input-label {\n font-family: 'Nothing You Could Do',cursive;\n font-size: 16px;\n color: #69707a;\n text-align: left;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n}\n.demo.resnet50 .top-container .input-container .image-url {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n position: relative;\n}\n.demo.resnet50 .top-container .input-container .image-url span {\n margin: 0 10px;\n font-family: 'Nothing You Could Do',cursive;\n font-size: 16px;\n color: #69707a;\n}\n.demo.resnet50 .top-container .controls {\n width: 250px;\n margin-left: 40px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center\n}\n.demo.resnet50 .top-container .controls > .mdl-switch {\n margin-bottom: 5px;\n}\n.demo.resnet50 .top-container .controls > .mdl-switch .mdl-switch__label {\n font-size: 12px !important;\n}\n.demo.resnet50 .columns.input-output {\n max-width: 800px;\n margin: 0 auto;\n}\n.demo.resnet50 .columns.input-output .column {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.demo.resnet50 .columns.input-output .column.input-column {\n position: relative;\n}\n.demo.resnet50 .columns.input-output .column.input-column .loading-indicator {\n position: absolute;\n top: 0;\n left: -10px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-item-align: start;\n align-self: flex-start;\n}\n.demo.resnet50 .columns.input-output .column.input-column .loading-indicator .mdl-spinner {\n margin: 20px;\n -ms-flex-item-align: center;\n -ms-grid-row-align: center;\n align-self: center;\n}\n.demo.resnet50 .columns.input-output .column.input-column .loading-indicator .error {\n color: #D24D57;\n font-size: 14px;\n font-family: 'Fira Sans',sans-serif;\n margin: 20px;\n}\n.demo.resnet50 .columns.input-output .column.input-column .canvas-container {\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n}\n.demo.resnet50 .columns.input-output .column.input-column .canvas-container canvas {\n background: white;\n}\n.demo.resnet50 .columns.input-output .column.output-column .output {\n width: 370px;\n height: 160px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.demo.resnet50 .columns.input-output .column.output-column .output .output-class {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 6px 0;\n}\n.demo.resnet50 .columns.input-output .column.output-column .output .output-class .output-label {\n text-align: right;\n width: 200px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: 'Share Tech Mono',sans-serif;\n font-size: 18px;\n color: #69707a;\n padding: 0 6px;\n border-right: 2px solid rgba(27, 188, 155, 0.3);\n}\n.demo.resnet50 .columns.input-output .column.output-column .output .output-class .output-bar {\n height: 8px;\n -webkit-transition: width 0.2s ease-out;\n transition: width 0.2s ease-out;\n}\n.demo.resnet50 .columns.input-output .column.output-column .output .output-class .output-value {\n text-align: left;\n margin-left: 5px;\n font-family: 'Share Tech Mono',sans-serif;\n font-size: 14px;\n color: #69707a;\n}\n.demo.resnet50 .columns.input-output .column.output-column .output .output-class.predicted .output-label {\n color: #1BBC9B;\n border-left-color: #1BBC9B;\n}\n.demo.resnet50 .columns.input-output .column.output-column .output .output-class.predicted .output-value {\n color: #1BBC9B;\n}\n.demo.resnet50 .architecture-container {\n min-width: 700px;\n max-width: 900px;\n margin: 0 auto;\n position: relative;\n}\n.demo.resnet50 .architecture-container .layers-row {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 5px;\n position: relative;\n z-index: 1;\n}\n.demo.resnet50 .architecture-container .layers-row .layer-column {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n padding: 5px;\n}\n.demo.resnet50 .architecture-container .layers-row .layer-column .layer {\n display: inline-block;\n background: white;\n border: 2px solid white;\n border-radius: 5px;\n padding: 2px 10px 0px;\n}\n.demo.resnet50 .architecture-container .layers-row .layer-column .layer .layer-class-name {\n color: #1BBC9B;\n font-size: 14px;\n font-weight: bold;\n}\n.demo.resnet50 .architecture-container .layers-row .layer-column .layer .layer-details {\n color: #999999;\n font-size: 12px;\n font-weight: bold;\n}\n.demo.resnet50 .architecture-container .layers-row .layer-column .layer.has-result {\n border-color: #1BBC9B;\n}\n.demo.resnet50 .architecture-container .architecture-connections {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 0;\n}\n.demo.resnet50 .architecture-container .architecture-connections path {\n stroke-width: 4px;\n stroke: #AAAAAA;\n fill: none;\n}\n",""]); -},function(e,n,t){"use strict";function a(e,n,t){var a,o,r=e.length,i=n.arrayArgs.length,s=n.indexArgs.length>0,l=[],c=[],u=0,d=0;for(a=0;a=0;--a)u=e[a],l.push(["for(i",a,"=0;i",a,"0&&l.push(["index[",d,"]-=s",d].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join("\n")}function o(e,n,t,o){for(var r=n.length,i=t.arrayArgs.length,s=t.blockSize,l=t.indexArgs.length>0,c=[],u=0;u0;){"].join("")),c.push(["if(j",u,"<",s,"){"].join("")),c.push(["s",n[u],"=j",u].join("")),c.push(["j",u,"=0"].join("")),c.push(["}else{s",n[u],"=",s].join("")),c.push(["j",u,"-=",s,"}"].join("")),l&&c.push(["index[",n[u],"]=j",u].join(""));for(var u=0;u0&&(t=t&&n[a]===n[a-1])}return t?n[0]:n.join("")}function l(e,n){for(var t=n[1].length-Math.abs(e.arrayBlockIndices[0])|0,l=new Array(e.arrayArgs.length),u=new Array(e.arrayArgs.length),d=0;d0&&y.push("shape=SS.slice(0)"),e.indexArgs.length>0){for(var w=new Array(t),d=0;d3&&_.push(i(e.pre,e,u));var L=i(e.body,e,u),S=r(b);S3&&_.push(i(e.post,e,u)),e.debug&&console.log("-----Generated cwise routine for ",n,":\n"+_.join("\n")+"\n----------");var z=[e.funcName||"unnamed","_cwise_loop_",l[0].join("s"),"m",S,s(u)].join(""),E=new Function(["function ",z,"(",x.join(","),"){",_.join("\n"),"} return ",z].join(""));return E()}var c=t(59);e.exports=l},function(e,n,t){"use strict";function a(e){var n=["'use strict'","var CACHED={}"],t=[],a=e.funcName+"_cwise_thunk";n.push(["return function ",a,"(",e.shimArgs.join(","),"){"].join(""));for(var r=[],i=[],s=[["array",e.arrayArgs[0],".shape.slice(",Math.max(0,e.arrayBlockIndices[0]),e.arrayBlockIndices[0]<0?","+e.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],u=0;u0&&(l.push("array"+e.arrayArgs[0]+".shape.length===array"+d+".shape.length+"+(Math.abs(e.arrayBlockIndices[0])-Math.abs(e.arrayBlockIndices[u]))),c.push("array"+e.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,e.arrayBlockIndices[0])+"]===array"+d+".shape[shapeIndex+"+Math.max(0,e.arrayBlockIndices[u])+"]"))}e.arrayArgs.length>1&&(n.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),n.push("for(var shapeIndex=array"+e.arrayArgs[0]+".shape.length-"+Math.abs(e.arrayBlockIndices[0])+"; shapeIndex-->0;) {"),n.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),n.push("}"));for(var u=0;u=0){var c=v[l],u=f(a);u&N&&(c.lvalue=!0),u&C&&(c.rvalue=!0),++c.count,s(a,c.name)}else r(i)||s(a,n(i))}else if("Literal"===a.type)"string"==typeof a.value&&s(a,d(a.value));else{if("WithStatement"===a.type)throw new Error("cwise-parser: with() statements not allowed");for(var m=Object.keys(a),p=0,h=m.length;p0)return a(0|e,n);break;case"object":if("number"==typeof e.length)return t(e,n,0)}return[]}e.exports=o},function(e,n,t){var a,o,r;!function(t,i){"use strict";o=[n],a=i,r="function"==typeof a?a.apply(n,o):a,!(void 0!==r&&(e.exports=r))}(this,function(e){"use strict";function n(e,n){if(!e)throw new Error("ASSERT: "+n)}function t(e){return e>=48&&e<=57}function a(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function o(e){return"01234567".indexOf(e)>=0}function r(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0}function i(e){return 10===e||13===e||8232===e||8233===e}function s(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&rn.NonAsciiIdentifierStart.test(String.fromCharCode(e))}function l(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&rn.NonAsciiIdentifierPart.test(String.fromCharCode(e))}function c(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0;default:return!1}}function u(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}}function d(e){return"eval"===e||"arguments"===e}function m(e){if(cn&&u(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function f(e,t,a,o,r){var i;n("number"==typeof a,"Comment must have valid position"),bn.lastCommentStart>=a||(bn.lastCommentStart=a,i={type:e,value:t},gn.range&&(i.range=[a,o]),gn.loc&&(i.loc=r),gn.comments.push(i),gn.attachComment&&(gn.leadingComments.push(i),gn.trailingComments.push(i)))}function p(e){var n,t,a,o;for(n=un-e,t={start:{line:dn,column:un-mn-e}};un=fn&&V({},on.UnexpectedToken,"ILLEGAL");else if(42===t){if(47===ln.charCodeAt(un+1))return++un,++un,void(gn.comments&&(a=ln.slice(e+2,un-2),n.end={line:dn,column:un-mn},f("Block",a,e,un,n)));++un}else++un;V({},on.UnexpectedToken,"ILLEGAL")}function b(){var e,n;for(n=0===un;un>>="===a?(un+=4,{type:Qe.Punctuator,value:a,lineNumber:dn,lineStart:mn,start:o,end:un}):(t=a.substr(0,3),">>>"===t||"<<="===t||">>="===t?(un+=3,{type:Qe.Punctuator,value:t,lineNumber:dn,lineStart:mn,start:o,end:un}):(n=t.substr(0,2),i===n[1]&&"+-<>&|".indexOf(i)>=0||"=>"===n?(un+=2,{type:Qe.Punctuator,value:n,lineNumber:dn,lineStart:mn,start:o,end:un}):"<>=!+-*%&|^/".indexOf(i)>=0?(++un,{type:Qe.Punctuator,value:i,lineNumber:dn,lineStart:mn,start:o,end:un}):void V({},on.UnexpectedToken,"ILLEGAL")))}function w(e){for(var n="";un=0&&un0&&(a=gn.tokens[gn.tokens.length-1],a.range[0]===e&&"Punctuator"===a.type&&("/"!==a.value&&"/="!==a.value||gn.tokens.pop())),gn.tokens.push({type:"RegularExpression",value:t.literal,range:[e,un],loc:n})),t}function j(e){return e.type===Qe.Identifier||e.type===Qe.Keyword||e.type===Qe.BooleanLiteral||e.type===Qe.NullLiteral}function B(){var e,n;if(e=gn.tokens[gn.tokens.length-1],!e)return A();if("Punctuator"===e.type){if("]"===e.value)return y();if(")"===e.value)return n=gn.tokens[gn.openParenToken-1],!n||"Keyword"!==n.type||"if"!==n.value&&"while"!==n.value&&"for"!==n.value&&"with"!==n.value?y():A();if("}"===e.value){if(gn.tokens[gn.openCurlyToken-3]&&"Keyword"===gn.tokens[gn.openCurlyToken-3].type){if(n=gn.tokens[gn.openCurlyToken-4],!n)return y()}else{if(!gn.tokens[gn.openCurlyToken-4]||"Keyword"!==gn.tokens[gn.openCurlyToken-4].type)return y();if(n=gn.tokens[gn.openCurlyToken-5],!n)return A()}return nn.indexOf(n.value)>=0?y():A()}return A()}return"Keyword"===e.type&&"this"!==e.value?A():y()}function I(){var e;return b(),un>=fn?{type:Qe.EOF,lineNumber:dn,lineStart:mn,start:un,end:un}:(e=ln.charCodeAt(un),s(e)?_():40===e||41===e||59===e?y():39===e||34===e?L():46===e?t(ln.charCodeAt(un+1))?C():y():t(e)?C():gn.tokenize&&47===e?B():y())}function D(){var e,n,t;return b(),e={start:{line:dn,column:un-mn}},n=I(),e.end={line:dn,column:un-mn},n.type!==Qe.EOF&&(t=ln.slice(n.start,n.end),gn.tokens.push({type:en[n.type],value:t,range:[n.start,n.end],loc:e})),n}function U(){var e;return e=hn,un=e.end,dn=e.lineNumber,mn=e.lineStart,hn="undefined"!=typeof gn.tokens?D():I(),un=e.end,dn=e.lineNumber,mn=e.lineStart,e}function T(){var e,n,t;e=un,n=dn,t=mn,hn="undefined"!=typeof gn.tokens?D():I(),un=e,dn=n,mn=t}function M(e,n){this.line=e,this.column=n}function P(e,n,t,a){this.start=new M(e,n),this.end=new M(t,a)}function O(){var e,n,t,a;return e=un,n=dn,t=mn,b(),a=dn!==n,un=e,dn=n,mn=t,a}function V(e,t){var a,o=Array.prototype.slice.call(arguments,2),r=t.replace(/%(\d)/g,function(e,t){return n(t>="===e||">>>="===e||"&="===e||"^="===e||"|="===e)}function K(){var e,n=un,t=dn,a=mn,o=hn;return 59===ln.charCodeAt(un)||X(";")?void U():(e=dn,b(),dn!==e?(un=n,dn=t,mn=a,void(hn=o)):void(hn.type===Qe.EOF||X("}")||q(hn)))}function Y(e){return e.type===tn.Identifier||e.type===tn.MemberExpression}function J(){var e,n=[];for(e=hn,G("[");!X("]");)X(",")?(U(),n.push(null)):(n.push(be()),X("]")||G(","));return U(),pn.markEnd(pn.createArrayExpression(n),e)}function Z(e,n){var t,a,o;return t=cn,o=hn,a=qe(),n&&cn&&d(e[0].name)&&F(n,on.StrictParamName),cn=t,pn.markEnd(pn.createFunctionExpression(null,e,[],a),o)}function Q(){var e,n;return n=hn,e=U(),e.type===Qe.StringLiteral||e.type===Qe.NumericLiteral?(cn&&e.octal&&F(e,on.StrictOctalLiteral),pn.markEnd(pn.createLiteral(e),n)):pn.markEnd(pn.createIdentifier(e.value),n)}function ee(){var e,n,t,a,o,r;return e=hn,r=hn,e.type===Qe.Identifier?(t=Q(),"get"!==e.value||X(":")?"set"!==e.value||X(":")?(G(":"),a=be(),pn.markEnd(pn.createProperty("init",t,a),r)):(n=Q(),G("("),e=hn,e.type!==Qe.Identifier?(G(")"),F(e,on.UnexpectedToken,e.value),a=Z([])):(o=[_e()],G(")"),a=Z(o,e)),pn.markEnd(pn.createProperty("set",n,a),r)):(n=Q(),G("("),G(")"),a=Z([]),pn.markEnd(pn.createProperty("get",n,a),r))):e.type!==Qe.EOF&&e.type!==Qe.Punctuator?(n=Q(),G(":"),a=be(),pn.markEnd(pn.createProperty("init",n,a),r)):void q(e)}function ne(){var e,n,t,a,o,r=[],i={},s=String;for(o=hn,G("{");!X("}");)e=ee(),n=e.key.type===tn.Identifier?e.key.name:s(e.key.value),a="init"===e.kind?an.Data:"get"===e.kind?an.Get:an.Set,t="$"+n,Object.prototype.hasOwnProperty.call(i,t)?(i[t]===an.Data?cn&&a===an.Data?F({},on.StrictDuplicateProperty):a!==an.Data&&F({},on.AccessorDataProperty):a===an.Data?F({},on.AccessorDataProperty):i[t]&a&&F({},on.AccessorGetSet),i[t]|=a):i[t]=a,r.push(e),X("}")||G(",");return G("}"),pn.markEnd(pn.createObjectExpression(r),o)}function te(){var e;return G("("),e=ge(),G(")"),e}function ae(){var e,n,t,a;if(X("("))return te();if(X("["))return J();if(X("{"))return ne();if(e=hn.type,a=hn,e===Qe.Identifier)t=pn.createIdentifier(U().value);else if(e===Qe.StringLiteral||e===Qe.NumericLiteral)cn&&hn.octal&&F(hn,on.StrictOctalLiteral),t=pn.createLiteral(U());else if(e===Qe.Keyword){if(H("function"))return Xe();H("this")?(U(),t=pn.createThisExpression()):q(U())}else e===Qe.BooleanLiteral?(n=U(),n.value="true"===n.value,t=pn.createLiteral(n)):e===Qe.NullLiteral?(n=U(),n.value=null,t=pn.createLiteral(n)):X("/")||X("/=")?(t="undefined"!=typeof gn.tokens?pn.createLiteral(A()):pn.createLiteral(R()),T()):q(U());return pn.markEnd(t,a)}function oe(){var e=[];if(G("("),!X(")"))for(;un":case"<=":case">=":case"instanceof":t=7;break;case"in":t=n?7:0;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11}return t}function pe(){var e,n,t,a,o,r,i,s,l,c;if(e=hn,l=me(),a=hn,o=fe(a,bn.allowIn),0===o)return l;for(a.prec=o,U(),n=[e,hn],i=me(),r=[l,a,i];(o=fe(hn,bn.allowIn))>0;){for(;r.length>2&&o<=r[r.length-2].prec;)i=r.pop(),s=r.pop().value,l=r.pop(),t=pn.createBinaryExpression(s,l,i),n.pop(),e=n[n.length-1],pn.markEnd(t,e),r.push(t);a=U(),a.prec=o,r.push(a),n.push(hn),t=me(),r.push(t)}for(c=r.length-1,t=r[c],n.pop();c>1;)t=pn.createBinaryExpression(r[c-1].value,r[c-2],t),c-=2,e=n.pop(),pn.markEnd(t,e);return t}function he(){var e,n,t,a,o;return o=hn,e=pe(),X("?")&&(U(),n=bn.allowIn,bn.allowIn=!0,t=be(),bn.allowIn=n,G(":"),a=be(),e=pn.createConditionalExpression(e,t,a),pn.markEnd(e,o)),e}function be(){var e,n,t,a,o;return e=hn,o=hn,a=n=he(),$()&&(Y(n)||F({},on.InvalidLHSInAssignment),cn&&n.type===tn.Identifier&&d(n.name)&&F(e,on.StrictLHSAssignment),e=U(),t=be(),a=pn.markEnd(pn.createAssignmentExpression(e.value,n,t),o)),a}function ge(){var e,n=hn;if(e=be(),X(",")){for(e=pn.createSequenceExpression([e]);un0?1:0,mn=0,fn=ln.length,hn=null,bn={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},gn={},n=n||{},n.tokens=!0,gn.tokens=[],gn.tokenize=!0,gn.openParenToken=-1,gn.openCurlyToken=-1,gn.range="boolean"==typeof n.range&&n.range,gn.loc="boolean"==typeof n.loc&&n.loc,"boolean"==typeof n.comment&&n.comment&&(gn.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(gn.errors=[]);try{if(T(),hn.type===Qe.EOF)return gn.tokens;for(a=U();hn.type!==Qe.EOF;)try{a=U()}catch(e){if(a=hn,gn.errors){gn.errors.push(e);break}throw e}Ye(),o=gn.tokens,"undefined"!=typeof gn.comments&&(o.comments=gn.comments),"undefined"!=typeof gn.errors&&(o.errors=gn.errors)}catch(e){throw e}finally{gn={}}return o}function Ze(e,n){var t,a;a=String,"string"==typeof e||e instanceof String||(e=a(e)),pn=sn,ln=e,un=0,dn=ln.length>0?1:0,mn=0,fn=ln.length,hn=null,bn={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1},gn={},"undefined"!=typeof n&&(gn.range="boolean"==typeof n.range&&n.range,gn.loc="boolean"==typeof n.loc&&n.loc,gn.attachComment="boolean"==typeof n.attachComment&&n.attachComment,gn.loc&&null!==n.source&&void 0!==n.source&&(gn.source=a(n.source)),"boolean"==typeof n.tokens&&n.tokens&&(gn.tokens=[]),"boolean"==typeof n.comment&&n.comment&&(gn.comments=[]),"boolean"==typeof n.tolerant&&n.tolerant&&(gn.errors=[]),gn.attachComment&&(gn.range=!0,gn.comments=[],gn.bottomRightStack=[],gn.trailingComments=[],gn.leadingComments=[]));try{t=Ke(),"undefined"!=typeof gn.comments&&(t.comments=gn.comments),"undefined"!=typeof gn.tokens&&(Ye(),t.tokens=gn.tokens),"undefined"!=typeof gn.errors&&(t.errors=gn.errors)}catch(e){throw e}finally{gn={}}return t}var Qe,en,nn,tn,an,on,rn,sn,ln,cn,un,dn,mn,fn,pn,hn,bn,gn;Qe={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8,RegularExpression:9},en={},en[Qe.BooleanLiteral]="Boolean",en[Qe.EOF]="",en[Qe.Identifier]="Identifier",en[Qe.Keyword]="Keyword",en[Qe.NullLiteral]="Null",en[Qe.NumericLiteral]="Numeric",en[Qe.Punctuator]="Punctuator",en[Qe.StringLiteral]="String",en[Qe.RegularExpression]="RegularExpression",nn=["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="],tn={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},an={Data:1,Get:2,Set:4},on={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},rn={NonAsciiIdentifierStart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),NonAsciiIdentifierPart:new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")},sn={name:"SyntaxTree",processComment:function(e){var n,t;if(!(e.type===tn.Program&&e.body.length>0)){for(gn.trailingComments.length>0?gn.trailingComments[0].range[0]>=e.range[1]?(t=gn.trailingComments,gn.trailingComments=[]):gn.trailingComments.length=0:gn.bottomRightStack.length>0&&gn.bottomRightStack[gn.bottomRightStack.length-1].trailingComments&&gn.bottomRightStack[gn.bottomRightStack.length-1].trailingComments[0].range[0]>=e.range[1]&&(t=gn.bottomRightStack[gn.bottomRightStack.length-1].trailingComments,delete gn.bottomRightStack[gn.bottomRightStack.length-1].trailingComments);gn.bottomRightStack.length>0&&gn.bottomRightStack[gn.bottomRightStack.length-1].range[0]>=e.range[0];)n=gn.bottomRightStack.pop();n?n.leadingComments&&n.leadingComments[n.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=n.leadingComments,delete n.leadingComments):gn.leadingComments.length>0&&gn.leadingComments[gn.leadingComments.length-1].range[1]<=e.range[0]&&(e.leadingComments=gn.leadingComments,gn.leadingComments=[]),t&&(e.trailingComments=t),gn.bottomRightStack.push(e)}},markEnd:function(e,n){return gn.range&&(e.range=[n.start,un]),gn.loc&&(e.loc=new P(void 0===n.startLineNumber?n.lineNumber:n.startLineNumber,n.start-(void 0===n.startLineStart?n.lineStart:n.startLineStart),dn,un-mn),this.postProcess(e)),gn.attachComment&&this.processComment(e),e},postProcess:function(e){return gn.source&&(e.loc.source=gn.source),e},createArrayExpression:function(e){return{type:tn.ArrayExpression,elements:e}},createAssignmentExpression:function(e,n,t){return{type:tn.AssignmentExpression,operator:e,left:n,right:t}},createBinaryExpression:function(e,n,t){var a="||"===e||"&&"===e?tn.LogicalExpression:tn.BinaryExpression;return{type:a,operator:e,left:n,right:t}},createBlockStatement:function(e){return{type:tn.BlockStatement,body:e}},createBreakStatement:function(e){return{type:tn.BreakStatement,label:e}},createCallExpression:function(e,n){return{type:tn.CallExpression,callee:e,arguments:n}},createCatchClause:function(e,n){return{type:tn.CatchClause,param:e,body:n}},createConditionalExpression:function(e,n,t){return{type:tn.ConditionalExpression,test:e,consequent:n,alternate:t}},createContinueStatement:function(e){return{type:tn.ContinueStatement,label:e}},createDebuggerStatement:function(){return{type:tn.DebuggerStatement}},createDoWhileStatement:function(e,n){return{type:tn.DoWhileStatement,body:e,test:n}},createEmptyStatement:function(){return{type:tn.EmptyStatement}},createExpressionStatement:function(e){return{type:tn.ExpressionStatement,expression:e}},createForStatement:function(e,n,t,a){return{type:tn.ForStatement,init:e,test:n,update:t,body:a}},createForInStatement:function(e,n,t){return{type:tn.ForInStatement,left:e,right:n,body:t,each:!1}},createFunctionDeclaration:function(e,n,t,a){return{type:tn.FunctionDeclaration,id:e,params:n,defaults:t,body:a,rest:null,generator:!1,expression:!1}},createFunctionExpression:function(e,n,t,a){return{type:tn.FunctionExpression,id:e,params:n,defaults:t,body:a,rest:null,generator:!1,expression:!1}},createIdentifier:function(e){return{type:tn.Identifier,name:e}},createIfStatement:function(e,n,t){return{type:tn.IfStatement,test:e,consequent:n,alternate:t}},createLabeledStatement:function(e,n){return{type:tn.LabeledStatement,label:e,body:n}},createLiteral:function(e){return{type:tn.Literal,value:e.value,raw:ln.slice(e.start,e.end)}},createMemberExpression:function(e,n,t){return{type:tn.MemberExpression,computed:"["===e,object:n,property:t}},createNewExpression:function(e,n){return{type:tn.NewExpression,callee:e,arguments:n}},createObjectExpression:function(e){return{type:tn.ObjectExpression,properties:e}},createPostfixExpression:function(e,n){return{type:tn.UpdateExpression,operator:e,argument:n,prefix:!1}},createProgram:function(e){return{type:tn.Program,body:e}},createProperty:function(e,n,t){return{type:tn.Property,key:n,value:t,kind:e}},createReturnStatement:function(e){return{type:tn.ReturnStatement,argument:e}},createSequenceExpression:function(e){return{type:tn.SequenceExpression,expressions:e}},createSwitchCase:function(e,n){return{type:tn.SwitchCase,test:e,consequent:n}},createSwitchStatement:function(e,n){return{type:tn.SwitchStatement,discriminant:e,cases:n}},createThisExpression:function(){return{type:tn.ThisExpression}},createThrowStatement:function(e){return{type:tn.ThrowStatement,argument:e}},createTryStatement:function(e,n,t,a){return{type:tn.TryStatement,block:e,guardedHandlers:n,handlers:t,finalizer:a}},createUnaryExpression:function(e,n){return"++"===e||"--"===e?{type:tn.UpdateExpression,operator:e,argument:n,prefix:!0}:{type:tn.UnaryExpression,operator:e,argument:n,prefix:!0}},createVariableDeclaration:function(e,n){return{type:tn.VariableDeclaration,declarations:e,kind:n}},createVariableDeclarator:function(e,n){return{type:tn.VariableDeclarator,id:e,init:n}},createWhileStatement:function(e,n){return{type:tn.WhileStatement,test:e,body:n}},createWithStatement:function(e,n){return{type:tn.WithStatement,object:e,body:n}}},e.version="1.2.5",e.tokenize=Je,e.parse=Ze,e.Syntax=function(){var e,n={};"function"==typeof Object.create&&(n=Object.create(null));for(e in tn)tn.hasOwnProperty(e)&&(n[e]=tn[e]);return"function"==typeof Object.freeze&&Object.freeze(n),n}()})},function(e,n){"use strict";function t(e){for(var n=new Array(e),t=0;t - * @license MIT - */ -e.exports=function(e){return null!=e&&(t(e)||a(e)||!!e._isBuffer)}},function(e,n,t){var a=t(5),o=t(1),r=a(o,"DataView");e.exports=r},function(e,n,t){function a(e){var n=-1,t=e?e.length:0;for(this.clear();++no?0:o+n),t=t>o?o:t,t<0&&(t+=o),o=n>t?0:t-n>>>0,n>>>=0;for(var r=Array(o);++an||i&&s&&c&&!l&&!u||a&&s&&c||!t&&c||!r)return 1;if(!a&&!i&&!u&&e=l)return c;var u=t[a];return c*("desc"==u?-1:1)}}return e.index-n.index}var o=t(149);e.exports=a},function(e,n,t){var a=t(1),o=a["__core-js_shared__"];e.exports=o},function(e,n,t){function a(e,n){return function(t,a){if(null==t)return t;if(!o(t))return e(t,a);for(var r=t.length,i=n?r:-1,s=Object(t);(n?i--:++i-1?s[l?n[c]:c]:void 0}}var o=t(14),r=t(8),i=t(19);e.exports=a},function(e,n,t){function a(e){return function(n,t,a){return a&&"number"!=typeof a&&r(n,t,a)&&(t=a=void 0),n=i(n),void 0===t?(t=n,n=0):t=i(t),a=void 0===a?n-1}var o=t(13);e.exports=a},function(e,n,t){function a(e,n){var t=this.__data__,a=o(t,e);return a<0?(++this.size,t.push([e,n])):t[a][1]=n,this}var o=t(13);e.exports=a},function(e,n,t){function a(){this.size=0,this.__data__={hash:new o,map:new(i||r),string:new o}}var o=t(110),r=t(12),i=t(21);e.exports=a},function(e,n,t){function a(e){var n=o(this,e).delete(e);return this.size-=n?1:0,n}var o=t(15);e.exports=a},function(e,n,t){function a(e){return o(this,e).get(e)}var o=t(15);e.exports=a},function(e,n,t){function a(e){return o(this,e).has(e)}var o=t(15);e.exports=a},function(e,n,t){function a(e,n){var t=o(this,e),a=t.size;return t.set(e,n),this.size+=t.size==a?0:1,this}var o=t(15);e.exports=a},function(e,n){function t(e){var n=-1,t=Array(e.size);return e.forEach(function(e,a){t[++n]=[a,e]}),t}e.exports=t},function(e,n,t){function a(e){var n=o(e,function(e){return t.size===r&&t.clear(),e}),t=n.cache;return n}var o=t(205),r=500;e.exports=a},function(e,n,t){var a=t(186),o=a(Object.keys,Object);e.exports=o},function(e,n,t){(function(e){var a=t(49),o="object"==typeof n&&n&&!n.nodeType&&n,r=o&&"object"==typeof e&&e&&!e.nodeType&&e,i=r&&r.exports===o,s=i&&a.process,l=function(){try{return s&&s.binding("util")}catch(e){}}();e.exports=l}).call(n,t(61)(e))},function(e,n){function t(e,n){return function(t){return e(n(t))}}e.exports=t},function(e,n,t){function a(e,n,t){return n=r(void 0===n?e.length-1:n,0),function(){for(var a=arguments,i=-1,s=r(a.length-n,0),l=Array(s);++i0){if(++n>=a)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var a=500,o=16,r=Date.now;e.exports=t},function(e,n,t){function a(){this.__data__=new o,this.size=0}var o=t(12);e.exports=a},function(e,n){function t(e){var n=this.__data__,t=n.delete(e);return this.size=n.size,t}e.exports=t},function(e,n){function t(e){return this.__data__.get(e)}e.exports=t},function(e,n){function t(e){return this.__data__.has(e)}e.exports=t},function(e,n,t){function a(e,n){var t=this.__data__;if(t instanceof o){var a=t.__data__;if(!r||a.lengthn){var a=e;e=n,n=a}if(t||e%1||n%1){var u=c();return l(e+u*(n-e+s("1e-"+((u+"").length-1))),n)}return o(e,n)}var o=t(139),r=t(25),i=t(30),s=parseFloat,l=Math.min,c=Math.random;e.exports=a},function(e,n,t){var a=t(155),o=a();e.exports=o},function(e,n){function t(e){return e?o.call(e):e}var a=Array.prototype,o=a.reverse;e.exports=t},function(e,n,t){var a=t(43),o=t(136),r=t(141),i=t(25),s=r(function(e,n){if(null==e)return[];var t=n.length;return t>1&&i(e,n[0],n[1])?n=[]:t>2&&i(n[0],n[1],n[2])&&(n=[n[0]]),o(e,a(n,1),[])});e.exports=s},function(e,n){function t(){return!1}e.exports=t},function(e,n,t){function a(e){return e&&e.length?o(e,r):0}var o=t(145),r=t(7);e.exports=a},function(e,n,t){function a(e,n,t){return e&&e.length?(n=t||void 0===n?1:r(n),o(e,0,n<0?0:n)):[]}var o=t(143),r=t(57);e.exports=a},function(e,n,t){function a(e){return null==e?"":o(e)}var o=t(147);e.exports=a},function(e,n,t){"use strict";function a(e,n){var t,a=[],r=[];if(void 0!==n&&!Array.isArray(n))throw new Error("axes must be an Array list of dimensions to squeeze");for(t=0;t1)for(var t=1;t 0 }"\n v-for="i in [0, 1, 2, 3, 4]"\n >\n
{{ outputClasses[i].name }}
\n
\n
{{ Math.round(100 * outputClasses[i].probability) }}%
\n \n \n \n \n
\n
\n
\n \n
{{ layer.className }}
\n
{{ layer.details }}
\n
\n
\n
\n \n \n \n \n \n \n\n'},function(e,n){e.exports='\n'; -},function(e,n){e.exports='
\n
\n Basic Convnet for MNIST\n \n
\n
\n Loading...{{ loadingProgress }}%\n
\n
\n
\n Interactive demo of a simple convnet trained on MNIST (see Jupyter notebook). All computation performed entirely in your browser. Toggling GPU on/off shouldn\'t reveal any significant speed differences, as this is a fairly small network. In the architecture diagram below, intermediate outputs at each layer are also visualized.\n
\n
\n
closeCLOSE
\n
\n
\n
\n
\n
\n
Draw any digit (0-9) here
\n
\n \n \n \n
\n
\n
clearCLEAR
\n
\n
\n
\n
\n use GPU\n
\n
\n
\n
\n
{{ i }}
\n
\n
\n
\n
\n
\n
\n
\n \n
\n {{ layerResult.layerClass }}\n {{ layerDisplayConfig[layerResult.name].heading }}\n
\n
\n \n \n
\n
\n
\n\n'},function(e,n){e.exports='
\n
\n Convolutional Variational Autoencoder, trained on MNIST\n \n
\n
\n Loading...{{ loadingProgress }}%\n
\n
\n
\n Modified from the MNIST convolution/deconvolution variational autoencoder example here. The network demonstrated here is the generative decoder portion (see Jupyter notebook). The network generates an image through a series of Deconvolution2D layers from coordinates in the 2D latent space. All computation performed entirely in your browser. Toggling GPU on/off shouldn\'t reveal any significant speed differences, as this is a fairly small network. In the architecture diagram below, intermediate outputs at each layer are also visualized.\n
\n
\n
closeCLOSE
\n
\n
\n
\n
\n
\n
Click around the latent space
\n
\n \n
\n -1.5\n x\n 1.5\n
\n
\n -1.5\n y\n 1.5\n
\n
\n
\n
\n
\n use GPU\n
\n
x: {{ inputCoordinates[0] < 0 ? inputCoordinates[0].toFixed(2) : inputCoordinates[0].toFixed(3) }}
\n
y: {{ inputCoordinates[1] < 0 ? inputCoordinates[1].toFixed(2) : inputCoordinates[1].toFixed(3) }}
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n {{ layerResult.layerClass }}\n {{ layerDisplayConfig[layerResult.name].heading }}\n
\n
\n \n \n
\n
\n
\n\n'},function(e,n){e.exports='
\n
\n 50-layer Residual Network, trained on ImageNet\n \n
\n
\n Loading...{{ loadingProgress }}%\n
\n
\n
\n Note that ~100 MB of weights must be loaded. We use the Keras architecture from here and pretrained weights from here. Enter any valid image URL as input to the network. You can also select from a list of prepopulated image URLs. The endpoint must have CORS enabled, to enable us to extract the numeric data from the canvas element, so not all URLs will work. Imgur and Flickr creative commons all work, and are good places to start. After running the network, the top-5 classes are displayed. Keep in mind also we are limited to the 1,000 classes of ImageNet. Keep in mind that this is image classification and not object detection, so the network is forced to output a single class through softmax. Best results are on images where the classification target spans a large portion of the image. All computation performed entirely in your browser. Toggling GPU on should offer significant speedups compared to CPU. Running the network may still take several seconds (optimizations to come). With "show computational flow" toggled, computation through the network will be shown in the architecture diagram (scroll down as computation is performed layer by layer). Turning this feature off will also speed up computation.\n
\n
\n
closeCLOSE
\n
\n
\n
\n
\n
Enter a valid image URL or select an image from the dropdown:
\n
\n \n or\n \n
\n
\n
\n Use GPU\n Show computation flow\n
\n
\n
\n
\n
\n \n
Error loading URL
\n
\n
\n \n
\n
\n
\n
\n
\n
{{ outputClasses[i].name }}
\n
\n
{{ Math.round(100 * outputClasses[i].probability) }}%
\n
\n
\n
\n
\n
\n
\n
\n \n
{{ layer.className }}
\n
{{ layer.details }}
\n
\n
\n
\n \n \n \n \n \n
\n\n'},function(e,n,t){var a=t(93);"string"==typeof a&&(a=[[e.i,a,""]]);t(4)(a,{});a.locals&&(e.exports=a.locals)},function(e,n,t){var a=t(94);"string"==typeof a&&(a=[[e.i,a,""]]);t(4)(a,{});a.locals&&(e.exports=a.locals)},function(e,n,t){var a=t(95);"string"==typeof a&&(a=[[e.i,a,""]]);t(4)(a,{});a.locals&&(e.exports=a.locals)},function(e,n,t){var a=t(96);"string"==typeof a&&(a=[[e.i,a,""]]);t(4)(a,{});a.locals&&(e.exports=a.locals)},function(e,n,t){var a=t(97);"string"==typeof a&&(a=[[e.i,a,""]]);t(4)(a,{});a.locals&&(e.exports=a.locals)},function(e,n,t){var a=t(98);"string"==typeof a&&(a=[[e.i,a,""]]);t(4)(a,{});a.locals&&(e.exports=a.locals)},function(e,n,t){var a=t(99);"string"==typeof a&&(a=[[e.i,a,""]]);t(4)(a,{});a.locals&&(e.exports=a.locals)},function(e,n,t){var a=t(100);"string"==typeof a&&(a=[[e.i,a,""]]);t(4)(a,{});a.locals&&(e.exports=a.locals)},function(e,n,t){e.exports=t(62)}]); \ No newline at end of file +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; + +/******/ // The require function +/******/ function __webpack_require__(moduleId) { + +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; + +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; + +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + +/******/ // Flag the module as loaded +/******/ module.l = true; + +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } + + +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; + +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; + +/******/ // identity function for calling harmory imports with the correct context +/******/ __webpack_require__.i = function(value) { return value; }; + +/******/ // define getter function for harmory exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ }; + +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; + +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; + +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; + +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 234); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + +"use strict"; +eval("'use strict';\n\nvar bind = __webpack_require__(37);\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * typeof document.createElement -> undefined\n */\nfunction isStandardBrowserEnv() {\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined' &&\n typeof document.createElement === 'function'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object' && !isArray(obj)) {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vfi9heGlvcy9saWIvdXRpbHMuanM/NmJmMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxhQUFhO0FBQ3hCLFdBQVcsU0FBUztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUNBQW1DLE9BQU87QUFDMUM7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLFNBQVMsR0FBRyxTQUFTO0FBQzVDLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBLHVDQUF1QyxPQUFPO0FBQzlDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGJpbmQgPSByZXF1aXJlKCcuL2hlbHBlcnMvYmluZCcpO1xuXG4vKmdsb2JhbCB0b1N0cmluZzp0cnVlKi9cblxuLy8gdXRpbHMgaXMgYSBsaWJyYXJ5IG9mIGdlbmVyaWMgaGVscGVyIGZ1bmN0aW9ucyBub24tc3BlY2lmaWMgdG8gYXhpb3NcblxudmFyIHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhbiBBcnJheVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGFuIEFycmF5LCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheSh2YWwpIHtcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhbiBBcnJheUJ1ZmZlclxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGFuIEFycmF5QnVmZmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheUJ1ZmZlcih2YWwpIHtcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEZvcm1EYXRhXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYW4gRm9ybURhdGEsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0Zvcm1EYXRhKHZhbCkge1xuICByZXR1cm4gKHR5cGVvZiBGb3JtRGF0YSAhPT0gJ3VuZGVmaW5lZCcpICYmICh2YWwgaW5zdGFuY2VvZiBGb3JtRGF0YSk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSB2aWV3IG9uIGFuIEFycmF5QnVmZmVyXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSB2aWV3IG9uIGFuIEFycmF5QnVmZmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheUJ1ZmZlclZpZXcodmFsKSB7XG4gIHZhciByZXN1bHQ7XG4gIGlmICgodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJykgJiYgKEFycmF5QnVmZmVyLmlzVmlldykpIHtcbiAgICByZXN1bHQgPSBBcnJheUJ1ZmZlci5pc1ZpZXcodmFsKTtcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQgPSAodmFsKSAmJiAodmFsLmJ1ZmZlcikgJiYgKHZhbC5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcik7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIFN0cmluZ1xuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgU3RyaW5nLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNTdHJpbmcodmFsKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIE51bWJlclxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgTnVtYmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNOdW1iZXIodmFsKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAnbnVtYmVyJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyB1bmRlZmluZWRcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdmFsdWUgaXMgdW5kZWZpbmVkLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNVbmRlZmluZWQodmFsKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAndW5kZWZpbmVkJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhbiBPYmplY3RcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhbiBPYmplY3QsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdCh2YWwpIHtcbiAgcmV0dXJuIHZhbCAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIERhdGVcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIERhdGUsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0RhdGUodmFsKSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IERhdGVdJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEZpbGVcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIEZpbGUsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0ZpbGUodmFsKSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEZpbGVdJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEJsb2JcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIEJsb2IsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0Jsb2IodmFsKSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEJsb2JdJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEZ1bmN0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBGdW5jdGlvbiwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsKSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBTdHJlYW1cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIFN0cmVhbSwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzU3RyZWFtKHZhbCkge1xuICByZXR1cm4gaXNPYmplY3QodmFsKSAmJiBpc0Z1bmN0aW9uKHZhbC5waXBlKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIFVSTFNlYXJjaFBhcmFtcyBvYmplY3RcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIFVSTFNlYXJjaFBhcmFtcyBvYmplY3QsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc1VSTFNlYXJjaFBhcmFtcyh2YWwpIHtcbiAgcmV0dXJuIHR5cGVvZiBVUkxTZWFyY2hQYXJhbXMgIT09ICd1bmRlZmluZWQnICYmIHZhbCBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtcztcbn1cblxuLyoqXG4gKiBUcmltIGV4Y2VzcyB3aGl0ZXNwYWNlIG9mZiB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgYSBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyIFRoZSBTdHJpbmcgdG8gdHJpbVxuICogQHJldHVybnMge1N0cmluZ30gVGhlIFN0cmluZyBmcmVlZCBvZiBleGNlc3Mgd2hpdGVzcGFjZVxuICovXG5mdW5jdGlvbiB0cmltKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL15cXHMqLywgJycpLnJlcGxhY2UoL1xccyokLywgJycpO1xufVxuXG4vKipcbiAqIERldGVybWluZSBpZiB3ZSdyZSBydW5uaW5nIGluIGEgc3RhbmRhcmQgYnJvd3NlciBlbnZpcm9ubWVudFxuICpcbiAqIFRoaXMgYWxsb3dzIGF4aW9zIHRvIHJ1biBpbiBhIHdlYiB3b3JrZXIsIGFuZCByZWFjdC1uYXRpdmUuXG4gKiBCb3RoIGVudmlyb25tZW50cyBzdXBwb3J0IFhNTEh0dHBSZXF1ZXN0LCBidXQgbm90IGZ1bGx5IHN0YW5kYXJkIGdsb2JhbHMuXG4gKlxuICogd2ViIHdvcmtlcnM6XG4gKiAgdHlwZW9mIHdpbmRvdyAtPiB1bmRlZmluZWRcbiAqICB0eXBlb2YgZG9jdW1lbnQgLT4gdW5kZWZpbmVkXG4gKlxuICogcmVhY3QtbmF0aXZlOlxuICogIHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50IC0+IHVuZGVmaW5lZFxuICovXG5mdW5jdGlvbiBpc1N0YW5kYXJkQnJvd3NlckVudigpIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCA9PT0gJ2Z1bmN0aW9uJ1xuICApO1xufVxuXG4vKipcbiAqIEl0ZXJhdGUgb3ZlciBhbiBBcnJheSBvciBhbiBPYmplY3QgaW52b2tpbmcgYSBmdW5jdGlvbiBmb3IgZWFjaCBpdGVtLlxuICpcbiAqIElmIGBvYmpgIGlzIGFuIEFycmF5IGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkIHBhc3NpbmdcbiAqIHRoZSB2YWx1ZSwgaW5kZXgsIGFuZCBjb21wbGV0ZSBhcnJheSBmb3IgZWFjaCBpdGVtLlxuICpcbiAqIElmICdvYmonIGlzIGFuIE9iamVjdCBjYWxsYmFjayB3aWxsIGJlIGNhbGxlZCBwYXNzaW5nXG4gKiB0aGUgdmFsdWUsIGtleSwgYW5kIGNvbXBsZXRlIG9iamVjdCBmb3IgZWFjaCBwcm9wZXJ0eS5cbiAqXG4gKiBAcGFyYW0ge09iamVjdHxBcnJheX0gb2JqIFRoZSBvYmplY3QgdG8gaXRlcmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gVGhlIGNhbGxiYWNrIHRvIGludm9rZSBmb3IgZWFjaCBpdGVtXG4gKi9cbmZ1bmN0aW9uIGZvckVhY2gob2JqLCBmbikge1xuICAvLyBEb24ndCBib3RoZXIgaWYgbm8gdmFsdWUgcHJvdmlkZWRcbiAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIEZvcmNlIGFuIGFycmF5IGlmIG5vdCBhbHJlYWR5IHNvbWV0aGluZyBpdGVyYWJsZVxuICBpZiAodHlwZW9mIG9iaiAhPT0gJ29iamVjdCcgJiYgIWlzQXJyYXkob2JqKSkge1xuICAgIC8qZXNsaW50IG5vLXBhcmFtLXJlYXNzaWduOjAqL1xuICAgIG9iaiA9IFtvYmpdO1xuICB9XG5cbiAgaWYgKGlzQXJyYXkob2JqKSkge1xuICAgIC8vIEl0ZXJhdGUgb3ZlciBhcnJheSB2YWx1ZXNcbiAgICBmb3IgKHZhciBpID0gMCwgbCA9IG9iai5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGZuLmNhbGwobnVsbCwgb2JqW2ldLCBpLCBvYmopO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJdGVyYXRlIG92ZXIgb2JqZWN0IGtleXNcbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICBmbi5jYWxsKG51bGwsIG9ialtrZXldLCBrZXksIG9iaik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQWNjZXB0cyB2YXJhcmdzIGV4cGVjdGluZyBlYWNoIGFyZ3VtZW50IHRvIGJlIGFuIG9iamVjdCwgdGhlblxuICogaW1tdXRhYmx5IG1lcmdlcyB0aGUgcHJvcGVydGllcyBvZiBlYWNoIG9iamVjdCBhbmQgcmV0dXJucyByZXN1bHQuXG4gKlxuICogV2hlbiBtdWx0aXBsZSBvYmplY3RzIGNvbnRhaW4gdGhlIHNhbWUga2V5IHRoZSBsYXRlciBvYmplY3QgaW5cbiAqIHRoZSBhcmd1bWVudHMgbGlzdCB3aWxsIHRha2UgcHJlY2VkZW5jZS5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIGBgYGpzXG4gKiB2YXIgcmVzdWx0ID0gbWVyZ2Uoe2ZvbzogMTIzfSwge2ZvbzogNDU2fSk7XG4gKiBjb25zb2xlLmxvZyhyZXN1bHQuZm9vKTsgLy8gb3V0cHV0cyA0NTZcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmoxIE9iamVjdCB0byBtZXJnZVxuICogQHJldHVybnMge09iamVjdH0gUmVzdWx0IG9mIGFsbCBtZXJnZSBwcm9wZXJ0aWVzXG4gKi9cbmZ1bmN0aW9uIG1lcmdlKC8qIG9iajEsIG9iajIsIG9iajMsIC4uLiAqLykge1xuICB2YXIgcmVzdWx0ID0ge307XG4gIGZ1bmN0aW9uIGFzc2lnblZhbHVlKHZhbCwga2V5KSB7XG4gICAgaWYgKHR5cGVvZiByZXN1bHRba2V5XSA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gbWVyZ2UocmVzdWx0W2tleV0sIHZhbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFtrZXldID0gdmFsO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGZvckVhY2goYXJndW1lbnRzW2ldLCBhc3NpZ25WYWx1ZSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBFeHRlbmRzIG9iamVjdCBhIGJ5IG11dGFibHkgYWRkaW5nIHRvIGl0IHRoZSBwcm9wZXJ0aWVzIG9mIG9iamVjdCBiLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBhIFRoZSBvYmplY3QgdG8gYmUgZXh0ZW5kZWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBiIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIGZyb21cbiAqIEBwYXJhbSB7T2JqZWN0fSB0aGlzQXJnIFRoZSBvYmplY3QgdG8gYmluZCBmdW5jdGlvbiB0b1xuICogQHJldHVybiB7T2JqZWN0fSBUaGUgcmVzdWx0aW5nIHZhbHVlIG9mIG9iamVjdCBhXG4gKi9cbmZ1bmN0aW9uIGV4dGVuZChhLCBiLCB0aGlzQXJnKSB7XG4gIGZvckVhY2goYiwgZnVuY3Rpb24gYXNzaWduVmFsdWUodmFsLCBrZXkpIHtcbiAgICBpZiAodGhpc0FyZyAmJiB0eXBlb2YgdmFsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBhW2tleV0gPSBiaW5kKHZhbCwgdGhpc0FyZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFba2V5XSA9IHZhbDtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gYTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGlzQXJyYXk6IGlzQXJyYXksXG4gIGlzQXJyYXlCdWZmZXI6IGlzQXJyYXlCdWZmZXIsXG4gIGlzRm9ybURhdGE6IGlzRm9ybURhdGEsXG4gIGlzQXJyYXlCdWZmZXJWaWV3OiBpc0FycmF5QnVmZmVyVmlldyxcbiAgaXNTdHJpbmc6IGlzU3RyaW5nLFxuICBpc051bWJlcjogaXNOdW1iZXIsXG4gIGlzT2JqZWN0OiBpc09iamVjdCxcbiAgaXNVbmRlZmluZWQ6IGlzVW5kZWZpbmVkLFxuICBpc0RhdGU6IGlzRGF0ZSxcbiAgaXNGaWxlOiBpc0ZpbGUsXG4gIGlzQmxvYjogaXNCbG9iLFxuICBpc0Z1bmN0aW9uOiBpc0Z1bmN0aW9uLFxuICBpc1N0cmVhbTogaXNTdHJlYW0sXG4gIGlzVVJMU2VhcmNoUGFyYW1zOiBpc1VSTFNlYXJjaFBhcmFtcyxcbiAgaXNTdGFuZGFyZEJyb3dzZXJFbnY6IGlzU3RhbmRhcmRCcm93c2VyRW52LFxuICBmb3JFYWNoOiBmb3JFYWNoLFxuICBtZXJnZTogbWVyZ2UsXG4gIGV4dGVuZDogZXh0ZW5kLFxuICB0cmltOiB0cmltXG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vfi9heGlvcy9saWIvdXRpbHMuanNcbi8vIG1vZHVsZSBpZCA9IDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ=="); + +/***/ }, +/* 1 */ +/***/ function(module, exports, __webpack_require__) { + +eval("var freeGlobal = __webpack_require__(49);\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vfi9sb2Rhc2gvX3Jvb3QuanM/NjU0MiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiMS5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBmcmVlR2xvYmFsID0gcmVxdWlyZSgnLi9fZnJlZUdsb2JhbCcpO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYHNlbGZgLiAqL1xudmFyIGZyZWVTZWxmID0gdHlwZW9mIHNlbGYgPT0gJ29iamVjdCcgJiYgc2VsZiAmJiBzZWxmLk9iamVjdCA9PT0gT2JqZWN0ICYmIHNlbGY7XG5cbi8qKiBVc2VkIGFzIGEgcmVmZXJlbmNlIHRvIHRoZSBnbG9iYWwgb2JqZWN0LiAqL1xudmFyIHJvb3QgPSBmcmVlR2xvYmFsIHx8IGZyZWVTZWxmIHx8IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5cbm1vZHVsZS5leHBvcnRzID0gcm9vdDtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL34vbG9kYXNoL19yb290LmpzXG4vLyBtb2R1bGUgaWQgPSAxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0="); + +/***/ }, +/* 2 */ +/***/ function(module, exports) { + +eval("/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vfi9sb2Rhc2gvaXNBcnJheS5qcz81OTBjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGFuIGBBcnJheWAgb2JqZWN0LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGFycmF5LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNBcnJheShbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNBcnJheShkb2N1bWVudC5ib2R5LmNoaWxkcmVuKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0FycmF5KCdhYmMnKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5pc0FycmF5KF8ubm9vcCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7XG5cbm1vZHVsZS5leHBvcnRzID0gaXNBcnJheTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL34vbG9kYXNoL2lzQXJyYXkuanNcbi8vIG1vZHVsZSBpZCA9IDJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ=="); + +/***/ }, +/* 3 */ +/***/ function(module, exports) { + +eval("/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vfi9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qcz80MmNiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixpQkFBaUI7QUFDakM7QUFDQTtBQUNBLHdDQUF3QyxnQkFBZ0I7QUFDeEQsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixpQkFBaUI7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLG9CQUFvQjtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcblx0TUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcclxuXHRBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXHJcbiovXHJcbi8vIGNzcyBiYXNlIGNvZGUsIGluamVjdGVkIGJ5IHRoZSBjc3MtbG9hZGVyXHJcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oKSB7XHJcblx0dmFyIGxpc3QgPSBbXTtcclxuXHJcblx0Ly8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xyXG5cdGxpc3QudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcclxuXHRcdHZhciByZXN1bHQgPSBbXTtcclxuXHRcdGZvcih2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdHZhciBpdGVtID0gdGhpc1tpXTtcclxuXHRcdFx0aWYoaXRlbVsyXSkge1xyXG5cdFx0XHRcdHJlc3VsdC5wdXNoKFwiQG1lZGlhIFwiICsgaXRlbVsyXSArIFwie1wiICsgaXRlbVsxXSArIFwifVwiKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRyZXN1bHQucHVzaChpdGVtWzFdKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHJlc3VsdC5qb2luKFwiXCIpO1xyXG5cdH07XHJcblxyXG5cdC8vIGltcG9ydCBhIGxpc3Qgb2YgbW9kdWxlcyBpbnRvIHRoZSBsaXN0XHJcblx0bGlzdC5pID0gZnVuY3Rpb24obW9kdWxlcywgbWVkaWFRdWVyeSkge1xyXG5cdFx0aWYodHlwZW9mIG1vZHVsZXMgPT09IFwic3RyaW5nXCIpXHJcblx0XHRcdG1vZHVsZXMgPSBbW251bGwsIG1vZHVsZXMsIFwiXCJdXTtcclxuXHRcdHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XHJcblx0XHRmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHR2YXIgaWQgPSB0aGlzW2ldWzBdO1xyXG5cdFx0XHRpZih0eXBlb2YgaWQgPT09IFwibnVtYmVyXCIpXHJcblx0XHRcdFx0YWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpZF0gPSB0cnVlO1xyXG5cdFx0fVxyXG5cdFx0Zm9yKGkgPSAwOyBpIDwgbW9kdWxlcy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHR2YXIgaXRlbSA9IG1vZHVsZXNbaV07XHJcblx0XHRcdC8vIHNraXAgYWxyZWFkeSBpbXBvcnRlZCBtb2R1bGVcclxuXHRcdFx0Ly8gdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgMTAwJSBwZXJmZWN0IGZvciB3ZWlyZCBtZWRpYSBxdWVyeSBjb21iaW5hdGlvbnNcclxuXHRcdFx0Ly8gIHdoZW4gYSBtb2R1bGUgaXMgaW1wb3J0ZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQgbWVkaWEgcXVlcmllcy5cclxuXHRcdFx0Ly8gIEkgaG9wZSB0aGlzIHdpbGwgbmV2ZXIgb2NjdXIgKEhleSB0aGlzIHdheSB3ZSBoYXZlIHNtYWxsZXIgYnVuZGxlcylcclxuXHRcdFx0aWYodHlwZW9mIGl0ZW1bMF0gIT09IFwibnVtYmVyXCIgfHwgIWFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcclxuXHRcdFx0XHRpZihtZWRpYVF1ZXJ5ICYmICFpdGVtWzJdKSB7XHJcblx0XHRcdFx0XHRpdGVtWzJdID0gbWVkaWFRdWVyeTtcclxuXHRcdFx0XHR9IGVsc2UgaWYobWVkaWFRdWVyeSkge1xyXG5cdFx0XHRcdFx0aXRlbVsyXSA9IFwiKFwiICsgaXRlbVsyXSArIFwiKSBhbmQgKFwiICsgbWVkaWFRdWVyeSArIFwiKVwiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsaXN0LnB1c2goaXRlbSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9O1xyXG5cdHJldHVybiBsaXN0O1xyXG59O1xyXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9+L2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXG4vLyBtb2R1bGUgaWQgPSAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJzb3VyY2VSb290IjoiIn0="); + +/***/ }, +/* 4 */ +/***/ function(module, exports) { + +eval("/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\nvar stylesInDom = {},\r\n\tmemoize = function(fn) {\r\n\t\tvar memo;\r\n\t\treturn function () {\r\n\t\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\r\n\t\t\treturn memo;\r\n\t\t};\r\n\t},\r\n\tisOldIE = memoize(function() {\r\n\t\treturn /msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase());\r\n\t}),\r\n\tgetHeadElement = memoize(function () {\r\n\t\treturn document.head || document.getElementsByTagName(\"head\")[0];\r\n\t}),\r\n\tsingletonElement = null,\r\n\tsingletonCounter = 0,\r\n\tstyleElementsInsertedAtTop = [];\r\n\r\nmodule.exports = function(list, options) {\r\n\tif(typeof DEBUG !== \"undefined\" && DEBUG) {\r\n\t\tif(typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\r\n\t}\r\n\r\n\toptions = options || {};\r\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of