diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..587434da --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +www.excalidraw.com diff --git a/FG_Virgil.ttf b/FG_Virgil.ttf new file mode 100644 index 00000000..80001666 Binary files /dev/null and b/FG_Virgil.ttf differ diff --git a/asset-manifest.json b/asset-manifest.json new file mode 100644 index 00000000..d89340d4 --- /dev/null +++ b/asset-manifest.json @@ -0,0 +1,22 @@ +{ + "files": { + "main.css": "/static/css/main.4b4142f8.chunk.css", + "main.js": "/static/js/main.3def8d06.chunk.js", + "main.js.map": "/static/js/main.3def8d06.chunk.js.map", + "runtime-main.js": "/static/js/runtime-main.b019aae8.js", + "runtime-main.js.map": "/static/js/runtime-main.b019aae8.js.map", + "static/js/2.3fb278bc.chunk.js": "/static/js/2.3fb278bc.chunk.js", + "static/js/2.3fb278bc.chunk.js.map": "/static/js/2.3fb278bc.chunk.js.map", + "index.html": "/index.html", + "precache-manifest.0fbb4ef256be8a3b8e6f3b71d8dd7aec.js": "/precache-manifest.0fbb4ef256be8a3b8e6f3b71d8dd7aec.js", + "service-worker.js": "/service-worker.js", + "static/css/main.4b4142f8.chunk.css.map": "/static/css/main.4b4142f8.chunk.css.map", + "static/js/2.3fb278bc.chunk.js.LICENSE": "/static/js/2.3fb278bc.chunk.js.LICENSE" + }, + "entrypoints": [ + "static/js/runtime-main.b019aae8.js", + "static/js/2.3fb278bc.chunk.js", + "static/css/main.4b4142f8.chunk.css", + "static/js/main.3def8d06.chunk.js" + ] +} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..8b632f5c --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +Excalidraw
\ No newline at end of file diff --git a/logo.png b/logo.png new file mode 100644 index 00000000..658bd4f7 Binary files /dev/null and b/logo.png differ diff --git a/precache-manifest.0fbb4ef256be8a3b8e6f3b71d8dd7aec.js b/precache-manifest.0fbb4ef256be8a3b8e6f3b71d8dd7aec.js new file mode 100644 index 00000000..d8790ea8 --- /dev/null +++ b/precache-manifest.0fbb4ef256be8a3b8e6f3b71d8dd7aec.js @@ -0,0 +1,26 @@ +self.__precacheManifest = (self.__precacheManifest || []).concat([ + { + "revision": "8d184ca60da16d138f26273d1a723e84", + "url": "/index.html" + }, + { + "revision": "44655b91a9acb4dab431", + "url": "/static/css/main.4b4142f8.chunk.css" + }, + { + "revision": "873896e28eb81c54171d", + "url": "/static/js/2.3fb278bc.chunk.js" + }, + { + "revision": "d705cb622423d72c5defbf368ca70dcc", + "url": "/static/js/2.3fb278bc.chunk.js.LICENSE" + }, + { + "revision": "44655b91a9acb4dab431", + "url": "/static/js/main.3def8d06.chunk.js" + }, + { + "revision": "b44dee203db29ecae5db", + "url": "/static/js/runtime-main.b019aae8.js" + } +]); \ No newline at end of file diff --git a/service-worker.js b/service-worker.js new file mode 100644 index 00000000..247d206c --- /dev/null +++ b/service-worker.js @@ -0,0 +1,39 @@ +/** + * Welcome to your Workbox-powered service worker! + * + * You'll need to register this file in your web app and you should + * disable HTTP caching for this file too. + * See https://goo.gl/nhQhGp + * + * The rest of the code is auto-generated. Please don't update this file + * directly; instead, make changes to your Workbox build configuration + * and re-run your build process. + * See https://goo.gl/2aRDsh + */ + +importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); + +importScripts( + "/precache-manifest.0fbb4ef256be8a3b8e6f3b71d8dd7aec.js" +); + +self.addEventListener('message', (event) => { + if (event.data && event.data.type === 'SKIP_WAITING') { + self.skipWaiting(); + } +}); + +workbox.core.clientsClaim(); + +/** + * The workboxSW.precacheAndRoute() method efficiently caches and responds to + * requests for URLs in the manifest. + * See https://goo.gl/S9QRab + */ +self.__precacheManifest = [].concat(self.__precacheManifest || []); +workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); + +workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("/index.html"), { + + blacklist: [/^\/_/,/\/[^/?]+\.[^/]+$/], +}); diff --git a/static/css/main.4b4142f8.chunk.css b/static/css/main.4b4142f8.chunk.css new file mode 100644 index 00000000..f6b04d5c --- /dev/null +++ b/static/css/main.4b4142f8.chunk.css @@ -0,0 +1,2 @@ +@font-face{font-family:Virgil;src:url(https://uploads.codesandbox.io/uploads/user/ed077012-e728-4a42-8395-cbd299149d62/AflB-FG_Virgil.ttf);font-display:swap}body{margin:0;font-family:Arial,Helvetica,sans-serif}.container{display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sidePanel{width:230px;background-color:#eee;padding:10px;overflow-y:auto}.sidePanel h4{margin:10px 0}.sidePanel .panelTools{display:flex;justify-content:space-between}.sidePanel .panelTools label{margin:0}.sidePanel .panelColumn{display:flex;flex-direction:column}.tool{position:relative}.tool input[type=radio]{position:absolute;opacity:0;width:0;height:0}.tool input[type=radio]+.toolIcon{background-color:#ddd;width:41px;height:41px;display:flex;justify-content:center;align-items:center;border-radius:3px}.tool input[type=radio]+.toolIcon svg{height:1em}.tool input[type=radio]:hover+.toolIcon{background-color:#e7e5e5}.tool input[type=radio]:checked+.toolIcon{background-color:#bdbebc}.tool input[type=radio]:focus+.toolIcon{box-shadow:0 0 0 2px #4682b4}label{margin-right:6px}label span{display:inline-block}input[type=number]{width:30px}input[type=color]{margin:2px}input{margin-right:5px}input:focus{box-shadow:0 0 0 2px #4682b4}button,input:focus{outline:transparent}button{background-color:#ddd;border:1px solid #ccc;border-radius:4px;margin:2px 0;padding:5px}button:focus{box-shadow:0 0 0 2px #4682b4}button:hover{background-color:#e7e5e5;border-color:#d6d4d4}button:active{background-color:#bdbebc;border-color:#bdbebc}button:disabled{cursor:not-allowed} +/*# sourceMappingURL=main.4b4142f8.chunk.css.map */ \ No newline at end of file diff --git a/static/css/main.4b4142f8.chunk.css.map b/static/css/main.4b4142f8.chunk.css.map new file mode 100644 index 00000000..5cf9155b --- /dev/null +++ b/static/css/main.4b4142f8.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["styles.scss"],"names":[],"mappings":"AACA,WACE,kBAAqB,CACrB,4GAA+G,CAC/G,iBAAkB,CAGpB,KACE,QAAS,CACT,sCAAyC,CAC1C,WAGC,YAAa,CACb,cAAe,CACf,KAAM,CACN,QAAS,CACT,MAAO,CACP,OAAQ,CACT,WAGC,WAAY,CACZ,qBAAsB,CAEtB,YAAa,CACb,eAAgB,CALlB,cAQI,aAAqB,CARzB,uBAYI,YAAa,CACb,6BAA8B,CAblC,6BAgBM,QAAS,CAhBf,wBAqBI,YAAa,CACb,qBAAsB,CACvB,MAID,iBAAkB,CADpB,wBAII,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CAPb,kCAYM,qBAAsB,CAEtB,UAAW,CACX,WAAY,CAEZ,YAAa,CACb,sBAAuB,CACvB,kBAAmB,CAEnB,iBAAkB,CArBxB,sCAwBQ,UAAW,CAxBnB,wCA4BM,wBAAyB,CA5B/B,0CA+BM,wBAAyB,CA/B/B,wCAkCM,4BAA+B,CAChC,MAKH,gBAAiB,CADnB,WAGI,oBAAqB,CACtB,mBAID,UAAW,CACZ,kBAGC,UAAW,CACZ,MAGC,gBAAiB,CADnB,YAKI,4BAA+B,CAChC,mBAFC,mBAWkB,CATnB,OAID,qBAAsB,CACtB,qBAAsB,CACtB,iBAAkB,CAClB,YAAa,CACb,WACoB,CANtB,aASI,4BAA+B,CATnC,aAaI,wBAAyB,CACzB,oBAAqB,CAdzB,cAkBI,wBAAyB,CACzB,oBAAqB,CAnBzB,gBAuBI,kBAAmB","file":"main.4b4142f8.chunk.css","sourcesContent":["/* http://www.eaglefonts.com/fg-virgil-ttf-131249.htm */\n@font-face {\n font-family: \"Virgil\";\n src: url(\"https://uploads.codesandbox.io/uploads/user/ed077012-e728-4a42-8395-cbd299149d62/AflB-FG_Virgil.ttf\");\n font-display: swap;\n}\n\nbody {\n margin: 0;\n font-family: Arial, Helvetica, sans-serif;\n}\n\n.container {\n display: flex;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.sidePanel {\n width: 230px;\n background-color: #eee;\n\n padding: 10px;\n overflow-y: auto;\n\n h4 {\n margin: 10px 0 10px 0;\n }\n\n .panelTools {\n display: flex;\n justify-content: space-between;\n\n label {\n margin: 0;\n }\n }\n\n .panelColumn {\n display: flex;\n flex-direction: column;\n }\n}\n\n.tool {\n position: relative;\n\n input[type=\"radio\"] {\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n input[type=\"radio\"] {\n & + .toolIcon {\n background-color: #ddd;\n\n width: 41px;\n height: 41px;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n border-radius: 3px;\n\n svg {\n height: 1em;\n }\n }\n &:hover + .toolIcon {\n background-color: #e7e5e5;\n }\n &:checked + .toolIcon {\n background-color: #bdbebc;\n }\n &:focus + .toolIcon {\n box-shadow: 0 0 0 2px steelblue;\n }\n }\n}\n\nlabel {\n margin-right: 6px;\n span {\n display: inline-block;\n }\n}\n\ninput[type=\"number\"] {\n width: 30px;\n}\n\ninput[type=\"color\"] {\n margin: 2px;\n}\n\ninput {\n margin-right: 5px;\n\n &:focus {\n outline: transparent;\n box-shadow: 0 0 0 2px steelblue;\n }\n}\n\nbutton {\n background-color: #ddd;\n border: 1px solid #ccc;\n border-radius: 4px;\n margin: 2px 0;\n padding: 5px;\n outline: transparent;\n\n &:focus {\n box-shadow: 0 0 0 2px steelblue;\n }\n\n &:hover {\n background-color: #e7e5e5;\n border-color: #d6d4d4;\n }\n\n &:active {\n background-color: #bdbebc;\n border-color: #bdbebc;\n }\n\n &:disabled {\n cursor: not-allowed;\n }\n}\n"]} \ No newline at end of file diff --git a/static/js/2.3fb278bc.chunk.js b/static/js/2.3fb278bc.chunk.js new file mode 100644 index 00000000..090a9013 --- /dev/null +++ b/static/js/2.3fb278bc.chunk.js @@ -0,0 +1,3 @@ +/*! For license information please see 2.3fb278bc.chunk.js.LICENSE */ +(this.webpackJsonpreact=this.webpackJsonpreact||[]).push([[2],[function(e,t,n){"use strict";e.exports=n(13)},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){for(var n=0;n0?m-=2*Math.PI:o&&m<0&&(m+=2*Math.PI),this._numSegs=Math.ceil(Math.abs(m/(Math.PI/2))),this._delta=m/this._numSegs,this._T=8/3*Math.sin(this._delta/4)*Math.sin(this._delta/4)/Math.sin(this._delta/2)}}return Object(a.a)(e,[{key:"getNextSegment",value:function(){if(this._segIndex===this._numSegs)return null;var e=Math.cos(this._theta),t=Math.sin(this._theta),n=this._theta+this._delta,r=Math.cos(n),a=Math.sin(n),i=[this._cosPhi*this._rx*r-this._sinPhi*this._ry*a+this._C[0],this._sinPhi*this._rx*r+this._cosPhi*this._ry*a+this._C[1]],l=[this._from[0]+this._T*(-this._cosPhi*this._rx*t-this._sinPhi*this._ry*e),this._from[1]+this._T*(-this._sinPhi*this._rx*t+this._cosPhi*this._ry*e)],o=[i[0]+this._T*(this._cosPhi*this._rx*a+this._sinPhi*this._ry*r),i[1]+this._T*(this._sinPhi*this._rx*a-this._cosPhi*this._ry*r)];return this._theta=n,this._from=[i[0],i[1]],this._segIndex++,{cp1:l,cp2:o,to:i}}},{key:"calculateVectorAngle",value:function(e,t,n,r){var a=Math.atan2(t,e),i=Math.atan2(r,n);return i>=a?i-a:2*Math.PI-(a-i)}}]),e}(),v=function(){function e(t,n){Object(r.a)(this,e),this.sets=t,this.closed=n}return Object(a.a)(e,[{key:"fit",value:function(e){var t=[],n=!0,r=!1,a=void 0;try{for(var i,l=this.sets[Symbol.iterator]();!(n=(i=l.next()).done);n=!0){var o=i.value,u=o.length,s=Math.floor(e*u);if(s<5){if(u<=5)continue;s=5}t.push(this.reduce(o,s))}}catch(m){r=!0,a=m}finally{try{n||null==l.return||l.return()}finally{if(r)throw a}}for(var c="",f=0,d=t;ft;){for(var r=[],a=-1,i=-1,l=1;l0))break;n.splice(i,1)}return n}}]),e}(),m=function(){function e(t,n){Object(r.a)(this,e),this.xi=Number.MAX_VALUE,this.yi=Number.MAX_VALUE,this.px1=t[0],this.py1=t[1],this.px2=n[0],this.py2=n[1],this.a=this.py2-this.py1,this.b=this.px1-this.px2,this.c=this.px2*this.py1-this.px1*this.py2,this._undefined=0===this.a&&0===this.b&&0===this.c}return Object(a.a)(e,[{key:"isUndefined",value:function(){return this._undefined}},{key:"intersects",value:function(e){if(this.isUndefined()||e.isUndefined())return!1;var t=Number.MAX_VALUE,n=Number.MAX_VALUE,r=0,a=0,i=this.a,l=this.b,o=this.c;return Math.abs(l)>1e-5&&(t=-i/l,r=-o/l),Math.abs(e.b)>1e-5&&(n=-e.a/e.b,a=-e.c/e.b),t===Number.MAX_VALUE?n===Number.MAX_VALUE?-o/i===-e.c/e.a&&(this.py1>=Math.min(e.py1,e.py2)&&this.py1<=Math.max(e.py1,e.py2)?(this.xi=this.px1,this.yi=this.py1,!0):this.py2>=Math.min(e.py1,e.py2)&&this.py2<=Math.max(e.py1,e.py2)&&(this.xi=this.px2,this.yi=this.py2,!0)):(this.xi=this.px1,this.yi=n*this.xi+a,!((this.py1-this.yi)*(this.yi-this.py2)<-1e-5||(e.py1-this.yi)*(this.yi-e.py2)<-1e-5)&&(!(Math.abs(e.a)<1e-5)||!((e.px1-this.xi)*(this.xi-e.px2)<-1e-5))):n===Number.MAX_VALUE?(this.xi=e.px1,this.yi=t*this.xi+r,!((e.py1-this.yi)*(this.yi-e.py2)<-1e-5||(this.py1-this.yi)*(this.yi-this.py2)<-1e-5)&&(!(Math.abs(i)<1e-5)||!((this.px1-this.xi)*(this.xi-this.px2)<-1e-5))):t===n?r===a&&(this.px1>=Math.min(e.px1,e.px2)&&this.px1<=Math.max(e.py1,e.py2)?(this.xi=this.px1,this.yi=this.py1,!0):this.px2>=Math.min(e.px1,e.px2)&&this.px2<=Math.max(e.px1,e.px2)&&(this.xi=this.px2,this.yi=this.py2,!0)):(this.xi=(a-r)/(t-n),this.yi=t*this.xi+r,!((this.px1-this.xi)*(this.xi-this.px2)<-1e-5||(e.px1-this.xi)*(this.xi-e.px2)<-1e-5))}}]),e}();var y=function(){function e(t,n,a,i,l,o,u,s){Object(r.a)(this,e),this.deltaX=0,this.hGap=0,this.top=t,this.bottom=n,this.left=a,this.right=i,this.gap=l,this.sinAngle=o,this.tanAngle=s,Math.abs(o)<1e-4?this.pos=a+l:Math.abs(o)>.9999?this.pos=t+l:(this.deltaX=(n-t)*Math.abs(s),this.pos=a-Math.abs(this.deltaX),this.hGap=Math.abs(l/u),this.sLeft=new m([a,n],[a,t]),this.sRight=new m([i,n],[i,t]))}return Object(a.a)(e,[{key:"nextLine",value:function(){if(Math.abs(this.sinAngle)<1e-4){if(this.pos.9999){if(this.posthis.right&&r>this.right;)if(this.pos+=this.hGap,n=this.pos-this.deltaX/2,r=this.pos+this.deltaX/2,this.pos>this.right+this.deltaX)return null;var l=new m([n,a],[r,i]);this.sLeft&&l.intersects(this.sLeft)&&(n=l.xi,a=l.yi),this.sRight&&l.intersects(this.sRight)&&(r=l.xi,i=l.yi),this.tanAngle>0&&(n=this.right-(n-this.left),r=this.right-(r-this.left));var o=[n,a,r,i];return this.pos+=this.hGap,o}}return null}}]),e}();function g(e){var t=e[0],n=e[1];return Math.sqrt(Math.pow(t[0]-n[0],2)+Math.pow(t[1]-n[1],2))}function b(e,t){for(var n=[],r=new m([e[0],e[1]],[e[2],e[3]]),a=0;a2&&void 0!==arguments[2]&&arguments[2],r=w(e,t),a=this.renderLines(r,t,n);return{type:"fillSketch",ops:a}}},{key:"_fillEllipse",value:function(e,t,n,r,a){var i=arguments.length>5&&void 0!==arguments[5]&&arguments[5],l=x(this.helper,e,t,n,r,a),o=this.renderLines(l,a,i);return{type:"fillSketch",ops:o}}},{key:"renderLines",value:function(e,t,n){var r=[],a=null,i=!0,l=!1,o=void 0;try{for(var u,s=e[Symbol.iterator]();!(i=(u=s.next()).done);i=!0){var c=u.value;r=r.concat(this.helper.doubleLineOps(c[0][0],c[0][1],c[1][0],c[1][1],t)),n&&a&&(r=r.concat(this.helper.doubleLineOps(a[0],a[1],c[0][0],c[0][1],t))),a=c[1]}}catch(f){l=!0,o=f}finally{try{i||null==s.return||s.return()}finally{if(l)throw o}}return r}}]),e}(),T=function(e){function t(){return Object(r.a)(this,t),Object(i.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(o.a)(t,e),Object(a.a)(t,[{key:"fillPolygon",value:function(e,t){return this._fillPolygon(e,t,!0)}},{key:"fillEllipse",value:function(e,t,n,r,a){return this._fillEllipse(e,t,n,r,a,!0)}}]),t}(E),S=function(e){function t(){return Object(r.a)(this,t),Object(i.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(o.a)(t,e),Object(a.a)(t,[{key:"fillPolygon",value:function(e,t){var n=this._fillPolygon(e,t),r=Object.assign({},t,{hachureAngle:t.hachureAngle+90}),a=this._fillPolygon(e,r);return n.ops=n.ops.concat(a.ops),n}},{key:"fillEllipse",value:function(e,t,n,r,a){var i=this._fillEllipse(e,t,n,r,a),l=Object.assign({},a,{hachureAngle:a.hachureAngle+90}),o=this._fillEllipse(e,t,n,r,l);return i.ops=i.ops.concat(o.ops),i}}]),t}(E),_=function(){function e(t){Object(r.a)(this,e),this.helper=t}return Object(a.a)(e,[{key:"fillPolygon",value:function(e,t){var n=w(e,t=Object.assign({},t,{curveStepCount:4,hachureAngle:0}));return this.dotsOnLines(n,t)}},{key:"fillEllipse",value:function(e,t,n,r,a){a=Object.assign({},a,{curveStepCount:4,hachureAngle:0});var i=x(this.helper,e,t,n,r,a);return this.dotsOnLines(i,a)}},{key:"fillArc",value:function(e,t,n,r,a,i,l){return null}},{key:"dotsOnLines",value:function(e,t){var n=[],r=t.hachureGap;r<0&&(r=4*t.strokeWidth),r=Math.max(r,.1);var a=t.fillWeight;a<0&&(a=t.strokeWidth/2);var i=!0,l=!1,o=void 0;try{for(var u,s=e[Symbol.iterator]();!(i=(u=s.next()).done);i=!0)for(var c=u.value,f=g(c)/r,d=Math.ceil(f)-1,p=Math.atan((c[1][1]-c[0][1])/(c[1][0]-c[0][0])),h=0;h0?t.hachureGap:4*t.strokeWidth,o=[];if(e.length>2)for(var u=0;u=n[0]&&t[0]<=n[1]&&t[1]>=r[0]&&t[1]<=r[1]&&s.push(t)}))},d=0;dc[0]&&(s=e[1],c=e[0]);for(var f=Math.atan((c[1]-s[1])/(c[0]-s[0])),d=0;du[0]&&(o=e[1],u=e[0]);for(var s=Math.atan((u[1]-o[1])/(u[0]-o[0])),c=0;c2){for(var a=[],i=0;i2*Math.PI&&(p=0,h=2*Math.PI);var v=2*Math.PI/u.curveStepCount,m=Math.min(v/2,(h-p)/2),y=K(m,s,c,f,d,p,h,1,u),g=K(m,s,c,f,d,p,h,1.5,u),b=y.concat(g);return l&&(o?b=(b=b.concat($(s,c,s+f*Math.cos(p),c+d*Math.sin(p),u))).concat($(s,c,s+f*Math.cos(h),c+d*Math.sin(h),u)):(b.push({op:"lineTo",data:[s,c]}),b.push({op:"lineTo",data:[s+f*Math.cos(p),c+d*Math.sin(p)]}))),{type:"path",ops:b}}function U(e,t){var n=[];if(e.length){var r=t.maxRandomnessOffset||0,a=e.length;if(a>2){n.push({op:"move",data:[e[0][0]+B(r,t),e[0][1]+B(r,t)]});for(var i=1;i2*Math.PI&&(d=0,p=2*Math.PI);for(var h=(p-d)/l.curveStepCount,v=[],m=d;m<=p;m+=h)v.push([u+c*Math.cos(m),s+f*Math.sin(m)]);return v.push([u+c*Math.cos(p),s+f*Math.sin(p)]),v.push([u,s]),F(v,l)}function V(e,t,n){return n.roughness*(Math.random()*(t-e)+e)}function B(e,t){return V(-e,e,t)}function $(e,t,n,r,a){var i=q(e,t,n,r,a,!0,!1),l=q(e,t,n,r,a,!0,!0);return i.concat(l)}function q(e,t,n,r,a,i,l){var o=Math.pow(e-n,2)+Math.pow(t-r,2),u=a.maxRandomnessOffset||0;u*u*100>o&&(u=Math.sqrt(o)/10);var s=u/2,c=.2+.2*Math.random(),f=a.bowing*a.maxRandomnessOffset*(r-t)/200,d=a.bowing*a.maxRandomnessOffset*(e-n)/200;f=B(f,a),d=B(d,a);var p=[],h=function(){return B(s,a)},v=function(){return B(u,a)};return i&&(l?p.push({op:"move",data:[e+h(),t+h()]}):p.push({op:"move",data:[e+B(u,a),t+B(u,a)]})),l?p.push({op:"bcurveTo",data:[f+e+(n-e)*c+h(),d+t+(r-t)*c+h(),f+e+2*(n-e)*c+h(),d+t+2*(r-t)*c+h(),n+h(),r+h()]}):p.push({op:"bcurveTo",data:[f+e+(n-e)*c+v(),d+t+(r-t)*c+v(),f+e+2*(n-e)*c+v(),d+t+2*(r-t)*c+v(),n+v(),r+v()]}),p}function H(e,t,n){var r=[];r.push([e[0][0]+B(t,n),e[0][1]+B(t,n)]),r.push([e[0][0]+B(t,n),e[0][1]+B(t,n)]);for(var a=1;a3){var i=[],l=1-n.curveTightness;a.push({op:"move",data:[e[1][0],e[1][1]]});for(var o=1;o+2=2){var l=+t.data[0],o=+t.data[1];i&&(l+=e.x,o+=e.y);var u=1*(r.maxRandomnessOffset||0);l+=B(u,r),o+=B(u,r),e.setPosition(l,o),a.push({op:"move",data:[l,o]})}break;case"L":case"l":var s="l"===t.key;if(t.data.length>=2){var c=+t.data[0],f=+t.data[1];s&&(c+=e.x,f+=e.y),a=a.concat($(e.x,e.y,c,f,r)),e.setPosition(c,f)}break;case"H":case"h":var d="h"===t.key;if(t.data.length){var p=+t.data[0];d&&(p+=e.x),a=a.concat($(e.x,e.y,p,e.y,r)),e.setPosition(p,e.y)}break;case"V":case"v":var v="v"===t.key;if(t.data.length){var m=+t.data[0];v&&(m+=e.y),a=a.concat($(e.x,e.y,e.x,m,r)),e.setPosition(e.x,m)}break;case"Z":case"z":e.first&&(a=a.concat($(e.x,e.y,e.first[0],e.first[1],r)),e.setPosition(e.first[0],e.first[1]),e.first=null);break;case"C":case"c":var y="c"===t.key;if(t.data.length>=6){var g=+t.data[0],b=+t.data[1],k=+t.data[2],w=+t.data[3],x=+t.data[4],E=+t.data[5];y&&(g+=e.x,k+=e.x,x+=e.x,b+=e.y,w+=e.y,E+=e.y);var T=X(g,b,k,w,x,E,e,r);a=a.concat(T),e.bezierReflectionPoint=[x+(x-k),E+(E-w)]}break;case"S":case"s":var S="s"===t.key;if(t.data.length>=4){var _=+t.data[0],P=+t.data[1],C=+t.data[2],M=+t.data[3];S&&(_+=e.x,C+=e.x,P+=e.y,M+=e.y);var O=_,N=P,z=n?n.key:"",A=null;"c"!==z&&"C"!==z&&"s"!==z&&"S"!==z||(A=e.bezierReflectionPoint),A&&(O=A[0],N=A[1]);var I=X(O,N,_,P,C,M,e,r);a=a.concat(I),e.bezierReflectionPoint=[C+(C-_),M+(M-P)]}break;case"Q":case"q":var R="q"===t.key;if(t.data.length>=4){var j=+t.data[0],L=+t.data[1],D=+t.data[2],U=+t.data[3];R&&(j+=e.x,D+=e.x,L+=e.y,U+=e.y);var F=1*(1+.2*r.roughness),W=1.5*(1+.22*r.roughness);a.push({op:"move",data:[e.x+B(F,r),e.y+B(F,r)]});var V=[D+B(F,r),U+B(F,r)];a.push({op:"qcurveTo",data:[j+B(F,r),L+B(F,r),V[0],V[1]]}),a.push({op:"move",data:[e.x+B(W,r),e.y+B(W,r)]}),V=[D+B(W,r),U+B(W,r)],a.push({op:"qcurveTo",data:[j+B(W,r),L+B(W,r),V[0],V[1]]}),e.setPosition(V[0],V[1]),e.quadReflectionPoint=[D+(D-j),U+(U-L)]}break;case"T":case"t":var q="t"===t.key;if(t.data.length>=2){var H=+t.data[0],Q=+t.data[1];q&&(H+=e.x,Q+=e.y);var G=H,K=Q,Y=n?n.key:"",Z=null;"q"!==Y&&"Q"!==Y&&"t"!==Y&&"T"!==Y||(Z=e.quadReflectionPoint),Z&&(G=Z[0],K=Z[1]);var J=1*(1+.2*r.roughness),ee=1.5*(1+.22*r.roughness);a.push({op:"move",data:[e.x+B(J,r),e.y+B(J,r)]});var te=[H+B(J,r),Q+B(J,r)];a.push({op:"qcurveTo",data:[G+B(J,r),K+B(J,r),te[0],te[1]]}),a.push({op:"move",data:[e.x+B(ee,r),e.y+B(ee,r)]}),te=[H+B(ee,r),Q+B(ee,r)],a.push({op:"qcurveTo",data:[G+B(ee,r),K+B(ee,r),te[0],te[1]]}),e.setPosition(te[0],te[1]),e.quadReflectionPoint=[H+(H-G),Q+(Q-K)]}break;case"A":case"a":var ne="a"===t.key;if(t.data.length>=7){var re=+t.data[0],ae=+t.data[1],ie=+t.data[2],le=+t.data[3],oe=+t.data[4],ue=+t.data[5],se=+t.data[6];if(ne&&(ue+=e.x,se+=e.y),ue===e.x&&se===e.y)break;if(0===re||0===ae)a=a.concat($(e.x,e.y,ue,se,r)),e.setPosition(ue,se);else for(var ce=0;ce<1;ce++)for(var fe=new h([e.x,e.y],[ue,se],[re,ae],ie,!!le,!!oe),de=fe.getNextSegment();de;){var pe=X(de.cp1[0],de.cp1[1],de.cp2[0],de.cp2[1],de.to[0],de.to[1],e,r);a=a.concat(pe),de=fe.getNextSegment()}}}return a}var Z=function(e){function t(){return Object(r.a)(this,t),Object(i.a)(this,Object(l.a)(t).apply(this,arguments))}return Object(o.a)(t,e),Object(a.a)(t,[{key:"line",value:function(e,t,n,r,a){var i=this._options(a);return this._drawable("line",[A(e,t,n,r,i)],i)}},{key:"rectangle",value:function(e,t,n,r,a){var i=this._options(a),l=[];if(i.fill){var o=[[e,t],[e+n,t],[e+n,t+r],[e,t+r]];"solid"===i.fillStyle?l.push(U(o,i)):l.push(F(o,i))}return l.push(R(e,t,n,r,i)),this._drawable("rectangle",l,i)}},{key:"ellipse",value:function(e,t,n,r,a){var i=this._options(a),l=[];if(i.fill)if("solid"===i.fillStyle){var o=L(e,t,n,r,i);o.type="fillPath",l.push(o)}else l.push(function(e,t,n,r,a){return N(a,z).fillEllipse(e,t,n,r,a)}(e,t,n,r,i));return l.push(L(e,t,n,r,i)),this._drawable("ellipse",l,i)}},{key:"circle",value:function(e,t,n,r){var a=this.ellipse(e,t,n,n,r);return a.shape="circle",a}},{key:"linearPath",value:function(e,t){var n=this._options(t);return this._drawable("linearPath",[I(e,!1,n)],n)}},{key:"arc",value:function(e,t,n,r,a,i){var l=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o=arguments.length>7?arguments[7]:void 0,u=this._options(o),s=[];if(l&&u.fill)if("solid"===u.fillStyle){var c=D(e,t,n,r,a,i,!0,!1,u);c.type="fillPath",s.push(c)}else s.push(W(e,t,n,r,a,i,u));return s.push(D(e,t,n,r,a,i,l,!0,u)),this._drawable("arc",s,u)}},{key:"curve",value:function(e,t){var n=this._options(t);return this._drawable("curve",[j(e,n)],n)}},{key:"polygon",value:function(e,t){var n=this._options(t),r=[];if(n.fill)if("solid"===n.fillStyle)r.push(U(e,n));else{var a=this.computePolygonSize(e),i=F([[0,0],[a[0],0],[a[0],a[1]],[0,a[1]]],n);i.type="path2Dpattern",i.size=a,i.path=this.polygonPath(e),r.push(i)}return r.push(I(e,!0,n)),this._drawable("polygon",r,n)}},{key:"path",value:function(e,t){var n=this._options(t),r=[];if(!e)return this._drawable("path",r,n);if(n.fill)if("solid"===n.fillStyle){var a={type:"path2Dfill",path:e,ops:[]};r.push(a)}else{var i=this.computePathSize(e),l=F([[0,0],[i[0],0],[i[0],i[1]],[0,i[1]]],n);l.type="path2Dpattern",l.size=i,l.path=e,r.push(l)}return r.push(function(e,t){e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");var n=new p(e);if(t.simplification){var r=new v(n.linearPoints,n.closed).fit(t.simplification);n=new p(r)}for(var a=[],i=n.segments||[],l=0;l0?i[l-1]:null,t);o&&o.length&&(a=a.concat(o))}return{type:"path",ops:a}}(e,n)),this._drawable("path",r,n)}}]),t}(s),J="undefined"!==typeof document,ee=function(e){function t(e,n){var a;return Object(r.a)(this,t),(a=Object(i.a)(this,Object(l.a)(t).call(this,e))).gen=new Z(n||null,a.canvas),a}return Object(o.a)(t,e),Object(a.a)(t,[{key:"getDefaultOptions",value:function(){return this.gen.defaultOptions}},{key:"line",value:function(e,t,n,r,a){var i=this.gen.line(e,t,n,r,a);return this.draw(i),i}},{key:"rectangle",value:function(e,t,n,r,a){var i=this.gen.rectangle(e,t,n,r,a);return this.draw(i),i}},{key:"ellipse",value:function(e,t,n,r,a){var i=this.gen.ellipse(e,t,n,r,a);return this.draw(i),i}},{key:"circle",value:function(e,t,n,r){var a=this.gen.circle(e,t,n,r);return this.draw(a),a}},{key:"linearPath",value:function(e,t){var n=this.gen.linearPath(e,t);return this.draw(n),n}},{key:"polygon",value:function(e,t){var n=this.gen.polygon(e,t);return this.draw(n),n}},{key:"arc",value:function(e,t,n,r,a,i){var l=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o=arguments.length>7?arguments[7]:void 0,u=this.gen.arc(e,t,n,r,a,i,l,o);return this.draw(u),u}},{key:"curve",value:function(e,t){var n=this.gen.curve(e,t);return this.draw(n),n}},{key:"path",value:function(e,t){var n=this.gen.path(e,t);return this.draw(n),n}},{key:"generator",get:function(){return this.gen}}]),t}(function(){function e(t){Object(r.a)(this,e),this.canvas=t,this.ctx=this.canvas.getContext("2d")}return Object(a.a)(e,[{key:"draw",value:function(e){var t=e.sets||[],n=e.options||this.getDefaultOptions(),r=this.ctx,a=!0,i=!1,l=void 0;try{for(var o,u=t[Symbol.iterator]();!(a=(o=u.next()).done);a=!0){var s=o.value;switch(s.type){case"path":r.save(),r.strokeStyle=n.stroke,r.lineWidth=n.strokeWidth,this._drawToContext(r,s),r.restore();break;case"fillPath":r.save(),r.fillStyle=n.fill||"",this._drawToContext(r,s),r.restore();break;case"fillSketch":this.fillSketch(r,s,n);break;case"path2Dfill":this.ctx.save(),this.ctx.fillStyle=n.fill||"";var c=new Path2D(s.path);this.ctx.fill(c),this.ctx.restore();break;case"path2Dpattern":var f=this.canvas.ownerDocument||J&&document;if(f){var d=s.size,p=f.createElement("canvas"),h=p.getContext("2d"),v=this.computeBBox(s.path);v&&(v.width||v.height)?(p.width=this.canvas.width,p.height=this.canvas.height,h.translate(v.x||0,v.y||0)):(p.width=d[0],p.height=d[1]),this.fillSketch(h,s,n),this.ctx.save(),this.ctx.fillStyle=this.ctx.createPattern(p,"repeat");var m=new Path2D(s.path);this.ctx.fill(m),this.ctx.restore()}else console.error("Cannot render path2Dpattern. No defs/document defined.")}}}catch(y){i=!0,l=y}finally{try{a||null==u.return||u.return()}finally{if(i)throw l}}}},{key:"computeBBox",value:function(e){if(J)try{var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg");n.setAttribute("width","0"),n.setAttribute("height","0");var r=self.document.createElementNS(t,"path");r.setAttribute("d",e),n.appendChild(r),document.body.appendChild(n);var a=r.getBBox();return document.body.removeChild(n),a}catch(i){}return null}},{key:"fillSketch",value:function(e,t,n){var r=n.fillWeight;r<0&&(r=n.strokeWidth/2),e.save(),e.strokeStyle=n.fill||"",e.lineWidth=r,this._drawToContext(e,t),e.restore()}},{key:"_drawToContext",value:function(e,t){e.beginPath();var n=!0,r=!1,a=void 0;try{for(var i,l=t.ops[Symbol.iterator]();!(n=(i=l.next()).done);n=!0){var o=i.value,u=o.data;switch(o.op){case"move":e.moveTo(u[0],u[1]);break;case"bcurveTo":e.bezierCurveTo(u[0],u[1],u[2],u[3],u[4],u[5]);break;case"qcurveTo":e.quadraticCurveTo(u[0],u[1],u[2],u[3]);break;case"lineTo":e.lineTo(u[0],u[1])}}}catch(s){r=!0,a=s}finally{try{n||null==l.return||l.return()}finally{if(r)throw a}}"fillPath"===t.type?e.fill():e.stroke()}}]),e}()),te="undefined"!==typeof document,ne=function(e){function t(e,n){var a;return Object(r.a)(this,t),(a=Object(i.a)(this,Object(l.a)(t).call(this,e))).gen=new Z(n||null,a.svg),a}return Object(o.a)(t,e),Object(a.a)(t,[{key:"getDefaultOptions",value:function(){return this.gen.defaultOptions}},{key:"opsToPath",value:function(e){return this.gen.opsToPath(e)}},{key:"line",value:function(e,t,n,r,a){var i=this.gen.line(e,t,n,r,a);return this.draw(i)}},{key:"rectangle",value:function(e,t,n,r,a){var i=this.gen.rectangle(e,t,n,r,a);return this.draw(i)}},{key:"ellipse",value:function(e,t,n,r,a){var i=this.gen.ellipse(e,t,n,r,a);return this.draw(i)}},{key:"circle",value:function(e,t,n,r){var a=this.gen.circle(e,t,n,r);return this.draw(a)}},{key:"linearPath",value:function(e,t){var n=this.gen.linearPath(e,t);return this.draw(n)}},{key:"polygon",value:function(e,t){var n=this.gen.polygon(e,t);return this.draw(n)}},{key:"arc",value:function(e,t,n,r,a,i){var l=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o=arguments.length>7?arguments[7]:void 0,u=this.gen.arc(e,t,n,r,a,i,l,o);return this.draw(u)}},{key:"curve",value:function(e,t){var n=this.gen.curve(e,t);return this.draw(n)}},{key:"path",value:function(e,t){var n=this.gen.path(e,t);return this.draw(n)}},{key:"generator",get:function(){return this.gen}}]),t}(function(){function e(t){Object(r.a)(this,e),this.svg=t}return Object(a.a)(e,[{key:"draw",value:function(e){var t=e.sets||[],n=e.options||this.getDefaultOptions(),r=this.svg.ownerDocument||window.document,a=r.createElementNS("http://www.w3.org/2000/svg","g"),i=!0,l=!1,o=void 0;try{for(var u,s=t[Symbol.iterator]();!(i=(u=s.next()).done);i=!0){var c=u.value,f=null;switch(c.type){case"path":(f=r.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("d",this.opsToPath(c)),f.style.stroke=n.stroke,f.style.strokeWidth=n.strokeWidth+"",f.style.fill="none";break;case"fillPath":(f=r.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("d",this.opsToPath(c)),f.style.stroke="none",f.style.strokeWidth="0",f.style.fill=n.fill||null;break;case"fillSketch":f=this.fillSketch(r,c,n);break;case"path2Dfill":(f=r.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("d",c.path||""),f.style.stroke="none",f.style.strokeWidth="0",f.style.fill=n.fill||null;break;case"path2Dpattern":if(this.defs){var d=c.size,p=r.createElementNS("http://www.w3.org/2000/svg","pattern"),h="rough-".concat(Math.floor(Math.random()*(Number.MAX_SAFE_INTEGER||999999)));p.setAttribute("id",h),p.setAttribute("x","0"),p.setAttribute("y","0"),p.setAttribute("width","1"),p.setAttribute("height","1"),p.setAttribute("height","1"),p.setAttribute("viewBox","0 0 ".concat(Math.round(d[0])," ").concat(Math.round(d[1]))),p.setAttribute("patternUnits","objectBoundingBox");var v=this.fillSketch(r,c,n);p.appendChild(v),this.defs.appendChild(p),(f=r.createElementNS("http://www.w3.org/2000/svg","path")).setAttribute("d",c.path||""),f.style.stroke="none",f.style.strokeWidth="0",f.style.fill="url(#".concat(h,")")}else console.error("Cannot render path2Dpattern. No defs/document defined.")}f&&a.appendChild(f)}}catch(m){l=!0,o=m}finally{try{i||null==s.return||s.return()}finally{if(l)throw o}}return a}},{key:"fillSketch",value:function(e,t,n){var r=n.fillWeight;r<0&&(r=n.strokeWidth/2);var a=e.createElementNS("http://www.w3.org/2000/svg","path");return a.setAttribute("d",this.opsToPath(t)),a.style.stroke=n.fill||null,a.style.strokeWidth=r+"",a.style.fill="none",a}},{key:"defs",get:function(){var e=this.svg.ownerDocument||te&&document;if(e&&!this._defs){var t=e.createElementNS("http://www.w3.org/2000/svg","defs");this.svg.firstChild?this.svg.insertBefore(t,this.svg.firstChild):this.svg.appendChild(t),this._defs=t}return this._defs||null}}]),e}());t.a={canvas:function(e,t){return new ee(e,t)},svg:function(e,t){return new ne(e,t)},generator:function(e,t){return new Z(e,t)}}},function(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}}(),e.exports=n(14)},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;tN.length&&N.push(e)}function I(e,t,n){return null==e?0:function e(t,n,r,a){var o=typeof t;"undefined"!==o&&"boolean"!==o||(t=null);var u=!1;if(null===t)u=!0;else switch(o){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case i:case l:u=!0}}if(u)return r(a,t,""===n?"."+R(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;s