forked from excalidraw/excalidraw
/
excalidraw.min.js
2 lines (2 loc) · 431 KB
/
excalidraw.min.js
1
2
/*! For license information please see excalidraw.min.js.LICENSE.txt */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):"object"==typeof exports?exports.Excalidraw=t(require("react"),require("react-dom")):e.Excalidraw=t(e.React,e.ReactDOM)}(self,(function(e,t){return function(){var n,r,o,a,i={2608:function(e,t,n){"use strict";function r(e,t,n,r,o,a,i){try{var l=e[a](i),c=l.value}catch(e){return void n(e)}l.done?t(c):Promise.resolve(c).then(r,o)}function o(e){return function(){var t=this,n=arguments;return new Promise((function(o,a){var i=e.apply(t,n);function l(e){r(i,o,a,l,c,"next",e)}function c(e){r(i,o,a,l,c,"throw",e)}l(void 0)}))}}n.d(t,{Z:function(){return o}})},7945:function(e,t,n){e.exports=n(1602)},1602:function(e){var t=function(e){"use strict";var t,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function s(e,t,n,r){var o=t&&t.prototype instanceof g?t:g,a=Object.create(o.prototype),i=new I(r||[]);return a._invoke=function(e,t,n){var r=d;return function(o,a){if(r===f)throw new Error("Generator is already running");if(r===h){if("throw"===o)throw a;return P()}for(n.method=o,n.arg=a;;){var i=n.delegate;if(i){var l=C(i,n);if(l){if(l===m)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var c=u(e,t,n);if("normal"===c.type){if(r=n.done?h:p,c.arg===m)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=h,n.method="throw",n.arg=c.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=s;var d="suspendedStart",p="suspendedYield",f="executing",h="completed",m={};function g(){}function v(){}function b(){}var y={};y[a]=function(){return this};var w=Object.getPrototypeOf,x=w&&w(w(T([])));x&&x!==n&&r.call(x,a)&&(y=x);var E=b.prototype=g.prototype=Object.create(y);function k(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(o,a,i,l){var c=u(e[o],e,a);if("throw"!==c.type){var s=c.arg,d=s.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,i,l)}),(function(e){n("throw",e,i,l)})):t.resolve(d).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,l)}))}l(c.arg)}var o;this._invoke=function(e,r){function a(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(a,a):a()}}function C(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,C(e,n),"throw"===n.method))return m;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var o=u(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,m;var a=o.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,m):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function M(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function T(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function n(){for(;++o<e.length;)if(r.call(e,o))return n.value=e[o],n.done=!1,n;return n.value=t,n.done=!0,n};return i.next=i}}return{next:P}}function P(){return{value:t,done:!0}}return v.prototype=E.constructor=b,b.constructor=v,v.displayName=c(b,l,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,c(e,l,"GeneratorFunction")),e.prototype=Object.create(E),e},e.awrap=function(e){return{__await:e}},k(S.prototype),S.prototype[i]=function(){return this},e.AsyncIterator=S,e.async=function(t,n,r,o,a){void 0===a&&(a=Promise);var i=new S(s(t,n,r,o),a);return e.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},k(E),c(E,l,"Generator"),E[a]=function(){return this},E.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=T,I.prototype={constructor:I,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(M),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function o(r,o){return l.type="throw",l.arg=e,n.next=r,o&&(n.method="next",n.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],l=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,m):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),M(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;M(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:T(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),m}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}},6009:function(e,t,n){var r=n(487),o=n(8328);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},566:function(e,t,n){var r=n(487),o=n(6121);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},3211:function(e,t,n){var r=n(487),o=n(2510);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},5574:function(e,t,n){var r=n(487),o=n(7972);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},4518:function(e,t,n){var r=n(487),o=n(190);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},3040:function(e,t,n){var r=n(487),o=n(6718);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},8623:function(e,t,n){var r=n(487),o=n(3623);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},4193:function(e,t,n){var r=n(487),o=n(103);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},341:function(e,t,n){var r=n(487),o=n(7061);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},9705:function(e,t,n){var r=n(487),o=n(1498);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},7143:function(e,t,n){var r=n(487),o=n(666);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},7428:function(e,t,n){var r=n(487),o=n(849);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},8465:function(e,t,n){var r=n(487),o=n(6915);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},8680:function(e,t,n){var r=n(487),o=n(7030);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},205:function(e,t,n){var r=n(487),o=n(3994);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},8416:function(e,t,n){var r=n(487),o=n(700);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},2816:function(e,t,n){var r=n(487),o=n(287);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},1575:function(e,t,n){var r=n(487),o=n(5657);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},7287:function(e,t,n){var r=n(487),o=n(7392);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},8518:function(e,t,n){var r=n(487),o=n(6065);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},5849:function(e,t,n){var r=n(487),o=n(83);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},9478:function(e,t,n){var r=n(487),o=n(1554);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},2680:function(e,t,n){var r=n(487),o=n(1970);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},3142:function(e,t,n){var r=n(487),o=n(961);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},8234:function(e,t,n){var r=n(487),o=n(4878);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},4651:function(e,t,n){var r=n(487),o=n(1988);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},2189:function(e,t,n){var r=n(487),o=n(3245);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.id,o,""]]);var a={insert:"head",singleton:!1};r(o,a);e.exports=o.locals||{}},487:function(e,t,n){"use strict";var r,o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},a=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),i=[];function l(e){for(var t=-1,n=0;n<i.length;n++)if(i[n].identifier===e){t=n;break}return t}function c(e,t){for(var n={},r=[],o=0;o<e.length;o++){var a=e[o],c=t.base?a[0]+t.base:a[0],s=n[c]||0,u="".concat(c," ").concat(s);n[c]=s+1;var d=l(u),p={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(i[d].references++,i[d].updater(p)):i.push({identifier:u,updater:g(p,t),references:1}),r.push(u)}return r}function s(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var o=n.nc;o&&(r.nonce=o)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var i=a(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}return t}var u,d=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function p(e,t,n,r){var o=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=d(t,o);else{var a=document.createTextNode(o),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(a,i[t]):e.appendChild(a)}}function f(e,t,n){var r=n.css,o=n.media,a=n.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),a&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var h=null,m=0;function g(e,t){var n,r,o;if(t.singleton){var a=m++;n=h||(h=s(t)),r=p.bind(null,n,a,!1),o=p.bind(null,n,a,!0)}else n=s(t),r=f.bind(null,n,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var n=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var o=l(n[r]);i[o].references--}for(var a=c(e,t),s=0;s<n.length;s++){var u=l(n[s]);0===i[u].references&&(i[u].updater(),i.splice(u,1))}n=a}}}},2829:function(e){"use strict";e.exports=JSON.parse('{"labels":{"paste":"Paste","pasteCharts":"Paste charts","selectAll":"Select all","multiSelect":"Add element to selection","moveCanvas":"Move canvas","cut":"Cut","copy":"Copy","copyAsPng":"Copy to clipboard as PNG","copyAsSvg":"Copy to clipboard as SVG","bringForward":"Bring forward","sendToBack":"Send to back","bringToFront":"Bring to front","sendBackward":"Send backward","delete":"Delete","copyStyles":"Copy styles","pasteStyles":"Paste styles","stroke":"Stroke","background":"Background","fill":"Fill","strokeWidth":"Stroke width","strokeStyle":"Stroke style","strokeStyle_solid":"Solid","strokeStyle_dashed":"Dashed","strokeStyle_dotted":"Dotted","sloppiness":"Sloppiness","opacity":"Opacity","textAlign":"Text align","edges":"Edges","sharp":"Sharp","round":"Round","arrowheads":"Arrowheads","arrowhead_none":"None","arrowhead_arrow":"Arrow","arrowhead_bar":"Bar","arrowhead_dot":"Dot","fontSize":"Font size","fontFamily":"Font family","onlySelected":"Only selected","withBackground":"With background","exportEmbedScene":"Embed scene into exported file","exportEmbedScene_details":"Scene data will be saved into the exported PNG/SVG file so that the scene can be restored from it.\\nWill increase exported file size.","addWatermark":"Add \\"Made with Excalidraw\\"","handDrawn":"Hand-drawn","normal":"Normal","code":"Code","small":"Small","medium":"Medium","large":"Large","veryLarge":"Very large","solid":"Solid","hachure":"Hachure","crossHatch":"Cross-hatch","thin":"Thin","bold":"Bold","left":"Left","center":"Center","right":"Right","extraBold":"Extra bold","architect":"Architect","artist":"Artist","cartoonist":"Cartoonist","fileTitle":"File title","colorPicker":"Color picker","canvasBackground":"Canvas background","drawingCanvas":"Drawing canvas","layers":"Layers","actions":"Actions","language":"Language","liveCollaboration":"Live collaboration","duplicateSelection":"Duplicate","untitled":"Untitled","name":"Name","yourName":"Your name","madeWithExcalidraw":"Made with Excalidraw","group":"Group selection","ungroup":"Ungroup selection","collaborators":"Collaborators","showGrid":"Show grid","addToLibrary":"Add to library","removeFromLibrary":"Remove from library","libraryLoadingMessage":"Loading library…","libraries":"Browse libraries","loadingScene":"Loading scene…","align":"Align","alignTop":"Align top","alignBottom":"Align bottom","alignLeft":"Align left","alignRight":"Align right","centerVertically":"Center vertically","centerHorizontally":"Center horizontally","distributeHorizontally":"Distribute horizontally","distributeVertically":"Distribute vertically","viewMode":"View mode","toggleExportColorScheme":"Toggle export color scheme"},"buttons":{"clearReset":"Reset the canvas","export":"Export","exportToPng":"Export to PNG","exportToSvg":"Export to SVG","copyToClipboard":"Copy to clipboard","copyPngToClipboard":"Copy PNG to clipboard","scale":"Scale","save":"Save (to the same file)","saveAs":"Save as","load":"Load","getShareableLink":"Get shareable link","close":"Close","selectLanguage":"Select language","scrollBackToContent":"Scroll back to content","zoomIn":"Zoom in","zoomOut":"Zoom out","resetZoom":"Reset zoom","menu":"Menu","done":"Done","edit":"Edit","undo":"Undo","redo":"Redo","resetLibrary":"Reset library","roomDialog":"Sharing","createNewRoom":"Create new room","fullScreen":"Full screen","darkMode":"Dark mode","lightMode":"Light mode","zenMode":"Zen mode","exitZenMode":"Exit zen mode"},"alerts":{"clearReset":"This will clear the whole canvas. Are you sure?","couldNotCreateShareableLink":"Couldn\'t create shareable link.","couldNotCreateShareableLinkTooBig":"Couldn\'t create shareable link: the scene is too big","couldNotLoadInvalidFile":"Couldn\'t load invalid file","importBackendFailed":"Importing from backend failed.","cannotExportEmptyCanvas":"Cannot export empty canvas.","couldNotCopyToClipboard":"Couldn\'t copy to clipboard. Try using Chrome browser.","decryptFailed":"Couldn\'t decrypt data.","uploadedSecurly":"The upload has been secured with end-to-end encryption, which means that Excalidraw server and third parties can\'t read the content.","loadSceneOverridePrompt":"Loading external drawing will replace your existing content. Do you wish to continue?","collabStopOverridePrompt":"Stopping the session will overwrite your previous, locally stored drawing. Are you sure?\\n\\n(If you want to keep your local drawing, simply close the browser tab instead.)","errorLoadingLibrary":"There was an error loading the third party library.","confirmAddLibrary":"This will add {{numShapes}} shape(s) to your library. Are you sure?","imageDoesNotContainScene":"Importing images isn\'t supported at the moment.\\n\\nDid you want to import a scene? This image does not seem to contain any scene data. Have you enabled this during export?","cannotRestoreFromImage":"Scene couldn\'t be restored from this image file","resetLibrary":"This will clear your library. Are you sure?"},"toolBar":{"selection":"Selection","draw":"Free draw","rectangle":"Rectangle","diamond":"Diamond","ellipse":"Ellipse","arrow":"Arrow","line":"Line","text":"Text","library":"Library","lock":"Keep selected tool active after drawing"},"headings":{"canvasActions":"Canvas actions","selectedShapeActions":"Selected shape actions","shapes":"Shapes"},"hints":{"linearElement":"Click to start multiple points, drag for single line","freeDraw":"Click and drag, release when you\'re finished","text":"Tip: you can also add text by double-clicking anywhere with the selection tool","linearElementMulti":"Click on last point or press Escape or Enter to finish","lockAngle":"You can constrain angle by holding SHIFT","resize":"You can constrain proportions by holding SHIFT while resizing,\\nhold ALT to resize from the center","rotate":"You can constrain angles by holding SHIFT while rotating","lineEditor_info":"Double-click or press Enter to edit points","lineEditor_pointSelected":"Press Delete to remove point, CtrlOrCmd+D to duplicate, or drag to move","lineEditor_nothingSelected":"Select a point to move or remove, or hold Alt and click to add new points"},"canvasError":{"cannotShowPreview":"Cannot show preview","canvasTooBig":"The canvas may be too big.","canvasTooBigTip":"Tip: try moving the farthest elements a bit closer together."},"errorSplash":{"headingMain_pre":"Encountered an error. Try ","headingMain_button":"reloading the page.","clearCanvasMessage":"If reloading doesn\'t work, try ","clearCanvasMessage_button":"clearing the canvas.","clearCanvasCaveat":" This will result in loss of work ","trackedToSentry_pre":"The error with identifier ","trackedToSentry_post":" was tracked on our system.","openIssueMessage_pre":"We were very cautious not to include your scene information on the error. If your scene is not private, please consider following up on our ","openIssueMessage_button":"bug tracker.","openIssueMessage_post":" Please include information below by copying and pasting into the GitHub issue.","sceneContent":"Scene content:"},"roomDialog":{"desc_intro":"You can invite people to your current scene to collaborate with you.","desc_privacy":"Don\'t worry, the session uses end-to-end encryption, so whatever you draw will stay private. Not even our server will be able to see what you come up with.","button_startSession":"Start session","button_stopSession":"Stop session","desc_inProgressIntro":"Live-collaboration session is now in progress.","desc_shareLink":"Share this link with anyone you want to collaborate with:","desc_exitSession":"Stopping the session will disconnect you from the room, but you\'ll be able to continue working with the scene, locally. Note that this won\'t affect other people, and they\'ll still be able to collaborate on their version."},"errorDialog":{"title":"Error"},"helpDialog":{"blog":"Read our blog","click":"click","curvedArrow":"Curved arrow","curvedLine":"Curved line","documentation":"Documentation","drag":"drag","editor":"Editor","github":"Found an issue? Submit","howto":"Follow our guides","or":"or","preventBinding":"Prevent arrow binding","shapes":"Shapes","shortcuts":"Keyboard shortcuts","textFinish":"Finish editing (text)","textNewLine":"Add new line (text)","title":"Help","view":"View","zoomToFit":"Zoom to fit all elements","zoomToSelection":"Zoom to selection"},"encrypted":{"tooltip":"Your drawings are end-to-end encrypted so Excalidraw\'s servers will never see them."},"stats":{"angle":"Angle","element":"Element","elements":"Elements","height":"Height","scene":"Scene","selected":"Selected","storage":"Storage","title":"Stats for nerds","total":"Total","version":"Version","versionCopy":"Click to copy","versionNotAvailable":"Version not available","width":"Width"},"toast":{"copyStyles":"Copied styles.","copyToClipboard":"Copied to clipboard.","copyToClipboardAsPng":"Copied to clipboard as PNG.","fileSaved":"File saved.","fileSavedToFilename":"Saved to {filename}"}}')},2051:function(e){"use strict";e.exports=JSON.parse('{"ar-SA":85,"bg-BG":98,"ca-ES":85,"de-DE":100,"el-GR":100,"en":100,"es-ES":100,"fa-IR":93,"fi-FI":100,"fr-FR":100,"he-IL":85,"hi-IN":96,"hu-HU":85,"id-ID":99,"it-IT":100,"ja-JP":100,"kab-KAB":97,"ko-KR":97,"my-MM":79,"nb-NO":100,"nl-NL":99,"nn-NO":87,"pa-IN":99,"pl-PL":85,"pt-BR":100,"pt-PT":94,"ro-RO":100,"ru-RU":100,"sk-SK":100,"sv-SE":100,"tr-TR":85,"uk-UA":99,"zh-CN":95,"zh-TW":100}')},788:function(e,t,n){var r={"./ar-SA.json":[7294,558],"./bg-BG.json":[3860,384],"./ca-ES.json":[750,351],"./de-DE.json":[7439,43],"./el-GR.json":[9422,526],"./en.json":[2829],"./es-ES.json":[2863,317],"./fa-IR.json":[3853,710],"./fi-FI.json":[5472,472],"./fr-FR.json":[3280,364],"./he-IL.json":[3970,262],"./hi-IN.json":[5599,933],"./hu-HU.json":[1516,661],"./id-ID.json":[7992,491],"./it-IT.json":[5963,465],"./ja-JP.json":[1323,137],"./kab-KAB.json":[9230,164],"./ko-KR.json":[7552,60],"./my-MM.json":[1778,242],"./nb-NO.json":[8751,246],"./nl-NL.json":[4675,196],"./nn-NO.json":[7558,920],"./pa-IN.json":[863,280],"./percentages.json":[2051],"./pl-PL.json":[122,852],"./pt-BR.json":[7443,381],"./pt-PT.json":[2560,149],"./ro-RO.json":[5654,752],"./ru-RU.json":[5609,869],"./sk-SK.json":[8684,401],"./sv-SE.json":[1570,698],"./tr-TR.json":[8146,213],"./uk-UA.json":[9746,583],"./zh-CN.json":[9044,304],"./zh-TW.json":[2939,62]};function o(e){if(!n.o(r,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=r[e],o=t[0];return Promise.all(t.slice(1).map(n.e)).then((function(){return n.t(o,3)}))}o.keys=function(){return Object.keys(r)},o.id=788,e.exports=o},7154:function(e){function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t.apply(this,arguments)}e.exports=t},6479:function(e,t,n){var r=n(7316);e.exports=function(e,t){if(null==e)return{};var n,o,a=r(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}},7316:function(e){e.exports=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}},8328:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r),a=n(1667),i=n.n(a),l=n(7628),c=n(9638),s=o()((function(e){return e[1]})),u=i()(l.Z),d=i()(c.Z);s.push([e.id,'@font-face{font-family:"Virgil";src:url('+u+');font-display:swap}@font-face{font-family:"Cascadia";src:url('+d+");font-display:swap}",""]),t.default=s},6121:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .Avatar{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;justify-content:center;align-items:center;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;overflow:hidden}.excalidraw .Avatar img{width:100%;height:100%}",""]),t.default=o},2510:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .CollabButton.is-collaborating{background-color:var(--button-special-active-bg-color)}.excalidraw .CollabButton.is-collaborating .ToolIcon__icon svg,.excalidraw .CollabButton.is-collaborating .ToolIcon__label{color:var(--icon-green-fill-color)}.excalidraw .CollabButton-collaborators{min-width:1em;position:absolute;bottom:-5px;padding:3px;border-radius:50%;background-color:#40c057;color:#fff;font-size:.7em;font-family:var(--ui-font)}:root[dir=ltr] .excalidraw .CollabButton-collaborators{right:-5px}:root[dir=rtl] .excalidraw .CollabButton-collaborators{left:-5px}",""]),t.default=o},7972:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,':export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .color-picker{background:var(--popup-bg-color);border:0 solid rgba(255,255,255,.25);box-shadow:rgba(0,0,0,.25) 0 1px 4px;border-radius:4px;position:absolute}:root[dir=ltr] .excalidraw .color-picker{left:-5.5px}:root[dir=rtl] .excalidraw .color-picker{right:-5.5px}.excalidraw .color-picker-control-container{display:grid;grid-template-columns:auto 1fr;align-items:center}.excalidraw .color-picker-triangle{width:0;height:0;border-style:solid;border-width:0 9px 10px;border-color:transparent transparent var(--popup-bg-color);position:absolute;top:-10px}:root[dir=ltr] .excalidraw .color-picker-triangle{left:12px}:root[dir=rtl] .excalidraw .color-picker-triangle{right:12px}.excalidraw .color-picker-triangle-shadow{border-color:transparent transparent rgba(0,0,0,.1);top:-11px}.excalidraw .color-picker-content{padding:.5rem;display:grid;grid-template-columns:repeat(5, auto);grid-gap:.5rem;border-radius:4px}.excalidraw .color-picker-content:focus{outline:none;box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .color-picker-content .color-input-container{grid-column:1/span 5}.excalidraw .color-picker-swatch{position:relative;height:1.875rem;width:1.875rem;cursor:pointer;border-radius:4px;margin:0;box-sizing:border-box;border:1px solid #ddd;background-color:currentColor !important;filter:var(--appearance-filter)}.excalidraw .color-picker-swatch:focus{box-shadow:0 0 4px 1px currentColor;border-color:var(--select-highlight-color)}.excalidraw .color-picker-transparent{border-radius:4px;box-shadow:rgba(0,0,0,.1) 0 0 0 1px inset;position:absolute;top:0;right:0;bottom:0;left:0}.excalidraw .color-picker-transparent,.excalidraw .color-picker-label-swatch{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==") left center}.excalidraw .color-picker-hash{background:var(--input-border-color);height:1.875rem;width:1.875rem;color:var(--input-label-color);display:flex;align-items:center;justify-content:center;position:relative}:root[dir=ltr] .excalidraw .color-picker-hash{border-radius:4px 0 0 4px}:root[dir=rtl] .excalidraw .color-picker-hash{border-radius:0 4px 4px 0}.excalidraw .color-input-container:focus-within .color-picker-hash{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .color-input-container:focus-within .color-picker-hash::before,.excalidraw .color-input-container:focus-within .color-picker-hash::after{content:"";width:1px;height:100%;position:absolute;top:0}.excalidraw .color-input-container:focus-within .color-picker-hash::before{background:var(--input-border-color)}:root[dir=ltr] .excalidraw .color-input-container:focus-within .color-picker-hash::before{right:-1px}:root[dir=rtl] .excalidraw .color-input-container:focus-within .color-picker-hash::before{left:-1px}.excalidraw .color-input-container:focus-within .color-picker-hash::after{background:var(--input-bg-color)}:root[dir=ltr] .excalidraw .color-input-container:focus-within .color-picker-hash::after{right:-2px}:root[dir=rtl] .excalidraw .color-input-container:focus-within .color-picker-hash::after{left:-2px}.excalidraw .color-input-container{display:flex}.excalidraw .color-picker-input{width:12ch;margin:0;font-size:1rem;background-color:var(--input-bg-color);color:var(--text-primary-color);border:0;outline:none;height:1.75em;box-shadow:var(--input-border-color) 0 0 0 1px inset;float:left;padding:1px;padding-inline-start:.5em;appearance:none}:root[dir=ltr] .excalidraw .color-picker-input{border-radius:0 4px 4px 0}:root[dir=rtl] .excalidraw .color-picker-input{border-radius:4px 0 0 4px}.excalidraw .color-picker-label-swatch{height:1.875rem;width:1.875rem;margin-inline-end:.25rem;border:1px solid #dee2e6;position:relative;overflow:hidden;background-color:transparent !important;filter:var(--appearance-filter)}.excalidraw .color-picker-label-swatch:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--swatch-color)}.excalidraw .color-picker-keybinding{position:absolute;bottom:2px;font-size:.7em}:root[dir=ltr] .excalidraw .color-picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .color-picker-keybinding{left:2px}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw .color-picker-keybinding{display:none}}.excalidraw .color-picker-type-canvasBackground .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementBackground .color-picker-keybinding{color:#fff}.excalidraw .color-picker-swatch[aria-label=transparent] .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementStroke .color-picker-keybinding{color:#d4d4d4}.excalidraw.Appearance_dark .color-picker-type-elementBackground .color-picker-keybinding{color:#000}.excalidraw.Appearance_dark .color-picker-swatch[aria-label=transparent] .color-picker-keybinding{color:#000}',""]),t.default=o},190:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,':export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .context-menu{position:relative;border-radius:4px;box-shadow:0 3px 10px rgba(0,0,0,.2);padding:0;list-style:none;user-select:none;margin:-0.25rem 0 0 .125rem;padding:.5rem 0;background-color:var(--popup-secondary-bg-color);border:1px solid var(--button-gray-3);cursor:default}.excalidraw .context-menu button{color:var(--popup-text-color)}.excalidraw .context-menu-option{position:relative;width:100%;min-width:9.5rem;margin:0;padding:.25rem 1rem .25rem 1.25rem;text-align:start;border-radius:0;background-color:transparent;border:none;white-space:nowrap;display:grid;grid-template-columns:1fr .2fr;align-items:center}.excalidraw .context-menu-option.checkmark::before{position:absolute;left:6px;margin-bottom:1px;content:"✓"}.excalidraw .context-menu-option.dangerous .context-menu-option__label{color:#f03e3e}.excalidraw .context-menu-option .context-menu-option__label{justify-self:start;margin-inline-end:20px}.excalidraw .context-menu-option .context-menu-option__shortcut{justify-self:end;opacity:.6;font-family:inherit;font-size:.7rem}.excalidraw .context-menu-option:hover{color:var(--popup-bg-color);background-color:var(--select-highlight-color)}.excalidraw .context-menu-option:hover.dangerous{background-color:#fa5252}.excalidraw .context-menu-option:hover.dangerous .context-menu-option__label{color:var(--popup-bg-color)}.excalidraw .context-menu-option:focus{z-index:1}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw .context-menu-option{display:block}.excalidraw .context-menu-option .context-menu-option__label{margin-inline-end:0}.excalidraw .context-menu-option .context-menu-option__shortcut{display:none}}.excalidraw .context-menu-option-separator{border:none;border-top:1px solid #adb5bd}',""]),t.default=o},6718:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .Dialog{user-select:text;cursor:auto}.excalidraw .Dialog__title{display:grid;align-items:center;margin-top:0;grid-template-columns:1fr calc(var(--space-factor) * 7);grid-gap:var(--metric);padding:calc(var(--space-factor) * 2);text-align:center;font-variant:small-caps;font-size:1.2em}.excalidraw .Dialog__titleContent{flex:1}.excalidraw .Dialog .Modal__close{color:var(--icon-fill-color);margin:0}.excalidraw .Dialog__content{padding:0 16px 16px}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw .Dialog{--metric: calc(var(--space-factor) * 4);--inset-left: max(var(--metric), var(--sal));--inset-right: max(var(--metric), var(--sar))}.excalidraw .Dialog__title{grid-template-columns:calc(var(--space-factor) * 7) 1fr calc( var(--space-factor) * 7 );position:sticky;top:0;padding:calc(var(--space-factor) * 2);background:var(--island-bg-color);font-size:1.25em;box-sizing:border-box;border-bottom:1px solid var(--button-gray-2);z-index:1}.excalidraw .Dialog__titleContent{text-align:center}.excalidraw .Dialog .Island{width:100vw;height:100%;box-sizing:border-box;overflow-y:auto;padding-left:max(calc(var(--padding) * var(--space-factor)), var(--sal));padding-right:max(calc(var(--padding) * var(--space-factor)), var(--sar));padding-bottom:max(calc(var(--padding) * var(--space-factor)), var(--sab))}.excalidraw .Dialog .Modal__close{order:-1}}",""]),t.default=o},3623:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,':export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .ExportDialog__preview{--preview-padding: calc(var(--space-factor) * 4);background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==") left center;text-align:center;padding:var(--preview-padding);margin-bottom:calc(var(--space-factor) * 3)}.excalidraw .ExportDialog__preview canvas{max-width:calc(100% - var(--preview-padding) * 2);max-height:25rem}.excalidraw.Appearance_dark .ExportDialog__preview canvas{filter:none}.excalidraw .ExportDialog__actions{width:100%;display:flex;grid-gap:calc(var(--space-factor) * 2);align-items:top;justify-content:space-between}.excalidraw .ExportDialog__name{grid-column:project-name;margin:auto}.excalidraw .ExportDialog__name .TextInput{height:calc(1rem - 3px)}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw .ExportDialog{display:flex;flex-direction:column}.excalidraw .ExportDialog__actions{flex-direction:column;align-items:center}.excalidraw .ExportDialog__actions>*{margin-bottom:calc(var(--space-factor) * 3)}.excalidraw .ExportDialog__preview canvas{max-height:30vh}.excalidraw .ExportDialog__dialog,.excalidraw .ExportDialog__dialog .Island{height:100%;box-sizing:border-box}.excalidraw .ExportDialog__dialog .Island{overflow-y:auto}}',""]),t.default=o},103:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".excalidraw .FixedSideContainer{--margin: 0.25rem;position:absolute;pointer-events:none}.excalidraw .FixedSideContainer>*{pointer-events:all}.excalidraw .FixedSideContainer_side_top{left:var(--margin);top:var(--margin);right:var(--margin);z-index:2}.excalidraw .FixedSideContainer_side_top.zen-mode{right:42px}",""]),t.default=o},7061:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .HelpDialog h3{border-bottom:1px solid var(--button-gray-2);padding-bottom:4px}.excalidraw .HelpDialog--island{border:1px solid var(--button-gray-2);margin-bottom:16px}.excalidraw .HelpDialog--island-title{margin:0;padding:4px;background-color:var(--button-gray-1);text-align:center}.excalidraw .HelpDialog--shortcut{border-top:1px solid var(--button-gray-2)}.excalidraw .HelpDialog--key{word-break:keep-all;border:1px solid var(--button-gray-2);padding:2px 8px;margin:auto 4px;background-color:var(--button-gray-1);border-radius:2px;font-size:.8em;min-height:26px;box-sizing:border-box;display:flex;align-items:center;font-family:inherit}.excalidraw .HelpDialog--header{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:32px;padding-bottom:16px}.excalidraw .HelpDialog--btn{border:1px solid var(--link-color);padding:8px 32px;border-radius:4px}.excalidraw .HelpDialog--btn:hover{text-decoration:none}",""]),t.default=o},1498:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .HintViewer{pointer-events:none;box-sizing:border-box;position:absolute;display:flex;justify-content:center;left:0;top:100%;max-width:100%;width:100%;margin-top:6px;text-align:center;color:#868e96;font-size:.8rem}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw .HintViewer{position:static;padding-right:2em}}.excalidraw .HintViewer>span{padding:.2rem .4rem;background-color:var(--overlay-bg-color);border-radius:4px}",""]),t.default=o},666:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,':export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .picker-container{display:inline-block;box-sizing:border-box;margin-right:.25rem}.excalidraw .picker{background:var(--popup-bg-color);border:0 solid rgba(255,255,255,.25);box-shadow:rgba(0,0,0,.25) 0 1px 4px;border-radius:4px;position:absolute}.excalidraw .picker-container button,.excalidraw .picker button{position:relative;display:flex;align-items:center;justify-content:center}.excalidraw .picker-container button:focus,.excalidraw .picker button:focus{outline:transparent;background-color:var(--button-gray-2)}.excalidraw .picker-container button:focus svg,.excalidraw .picker button:focus svg{opacity:1}.excalidraw .picker-container button:hover,.excalidraw .picker button:hover{background-color:var(--button-gray-2)}.excalidraw .picker-container button:active,.excalidraw .picker button:active{background-color:var(--button-gray-3)}.excalidraw .picker-container button:disabled,.excalidraw .picker button:disabled{cursor:not-allowed}.excalidraw .picker-container button svg,.excalidraw .picker button svg{margin:0;width:36px;height:18px;opacity:.6;pointer-events:none}.excalidraw .picker button{padding:.25rem .28rem .35rem .25rem}.excalidraw .picker-triangle{width:0;height:0;position:relative;top:-10px;z-index:10}:root[dir=ltr] .excalidraw .picker-triangle{left:12px}:root[dir=rtl] .excalidraw .picker-triangle{right:12px}.excalidraw .picker-triangle:before{content:"";position:absolute;border-style:solid;border-width:0 9px 10px;border-color:transparent transparent rgba(0,0,0,.1);top:-1px}.excalidraw .picker-triangle:after{content:"";position:absolute;border-style:solid;border-width:0 9px 10px;border-color:transparent transparent var(--popup-bg-color)}.excalidraw .picker-content{padding:.5rem;display:grid;grid-auto-flow:column;grid-gap:.5rem;border-radius:4px}:root[dir=rtl] .excalidraw .picker-content{padding:.4rem}.excalidraw .picker-keybinding{position:absolute;bottom:2px;font-size:.7em;color:var(--keybinding-color)}:root[dir=ltr] .excalidraw .picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .picker-keybinding{left:2px}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw .picker-keybinding{display:none}}.excalidraw .picker-type-canvasBackground .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementBackground .picker-keybinding{color:#fff}.excalidraw .picker-swatch[aria-label=transparent] .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementStroke .picker-keybinding{color:#d4d4d4}.excalidraw.Appearance_dark .picker-type-elementBackground .picker-keybinding{color:#000}.excalidraw.Appearance_dark .picker-swatch[aria-label=transparent] .picker-keybinding{color:#000}',""]),t.default=o},849:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".excalidraw .Island{--padding: 0;background-color:var(--island-bg-color);backdrop-filter:saturate(100%) blur(10px);box-shadow:var(--shadow-island);border-radius:4px;padding:calc(var(--padding) * var(--space-factor));position:relative}.excalidraw .Island.zen-mode{box-shadow:none}.excalidraw .Island::-webkit-scrollbar{width:10px}.excalidraw .Island::-webkit-scrollbar-track{background-color:transparent}.excalidraw .Island::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-thumb)}.excalidraw .Island::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-thumb-hover)}.excalidraw .Island::-webkit-scrollbar-thumb:active{background-color:var(--color-scrollbar-thumb-active)}.excalidraw .App-menu_top .Stack_vertical .Island{min-width:216px}.excalidraw .App-menu_top .Stack_vertical .Stack_horizontal{justify-content:center !important}.excalidraw.excalidraw--view-mode .App-menu_top .Stack_vertical .Island{min-width:auto}",""]),t.default=o},6915:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".excalidraw .layer-ui__library{margin:auto;display:flex;align-items:center;justify-content:center}.excalidraw .layer-ui__library .layer-ui__library-header{display:flex;align-items:center;width:100%;margin:2px 0}.excalidraw .layer-ui__library .layer-ui__library-header button{margin:0 2px}.excalidraw .layer-ui__library .layer-ui__library-header a{margin-inline-start:auto;padding-inline-end:18px;white-space:nowrap}.excalidraw .layer-ui__library-message{padding:10px 20px;max-width:200px}.excalidraw .layer-ui__library-items{max-height:50vh;overflow:auto}.excalidraw .layer-ui__wrapper{z-index:var(--zIndex-layerUI)}.excalidraw .layer-ui__wrapper__footer{position:absolute;z-index:100;bottom:0;width:190px}:root[dir=ltr] .excalidraw .layer-ui__wrapper__footer{right:0}:root[dir=rtl] .excalidraw .layer-ui__wrapper__footer{left:0}.excalidraw .layer-ui__wrapper .zen-mode-transition{transition:transform .5s ease-in-out}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(-999px, 0)}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right{transform:translate(999px, 0)}:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(999px, 0)}:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right{transform:translate(-999px, 0)}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.App-menu_bottom--transition-left{transform:translate(-92px, 0)}:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.App-menu_bottom--transition-left{transform:translate(92px, 0)}.excalidraw .layer-ui__wrapper .disable-zen-mode{height:30px;position:absolute;bottom:10px;font-size:10px;padding:10px;font-weight:500;opacity:0;visibility:hidden;transition:visibility 0s linear 0s,opacity .5s}[dir=ltr] .excalidraw .layer-ui__wrapper .disable-zen-mode{right:15px}[dir=rtl] .excalidraw .layer-ui__wrapper .disable-zen-mode{left:15px}.excalidraw .layer-ui__wrapper .disable-zen-mode--visible{opacity:1;visibility:visible;transition:visibility 0s linear 300ms,opacity .5s;transition-delay:.8s}",""]),t.default=o},7030:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".excalidraw .library-unit{align-items:center;border:1px solid var(--button-gray-2);display:flex;justify-content:center;position:relative;width:63px;height:63px}.excalidraw .library-unit__dragger{display:flex;height:100%;width:100%}.excalidraw .library-unit__dragger>svg{filter:var(--appearance-filter);flex-grow:1;max-height:100%;max-width:100%}.excalidraw .library-unit__removeFromLibrary,.excalidraw .library-unit__removeFromLibrary:hover,.excalidraw .library-unit__removeFromLibrary:active{align-items:center;background:none;border:none;color:var(--icon-fill-color);display:flex;justify-content:center;margin:0;padding:0;position:absolute;right:5px;top:5px}.excalidraw .library-unit__removeFromLibrary>svg{height:16px;width:16px}.excalidraw .library-unit__pulse{transform:scale(1);animation:library-unit__pulse-animation 1s ease-in infinite}.excalidraw .library-unit__adder{position:absolute;left:50%;top:50%;width:20px;height:20px;margin-left:-10px;margin-top:-10px;pointer-events:none}.excalidraw .library-unit__active{cursor:pointer}@keyframes library-unit__pulse-animation{0%{transform:scale(0.95)}50%{transform:scale(1)}100%{transform:scale(0.95)}}",""]),t.default=o},3994:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw.excalidraw-modal-container{position:absolute;z-index:10}.excalidraw .Modal{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:calc(var(--space-factor) * 10)}.excalidraw .Modal__background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;background-color:rgba(0,0,0,.3);backdrop-filter:blur(2px)}.excalidraw .Modal__content{position:relative;z-index:2;width:100%;max-width:var(--max-width);max-height:100%;opacity:0;transform:translateY(10px);animation:Modal__content_fade-in .1s ease-out .05s forwards;position:relative;overflow-y:auto;background:var(--island-bg-color);backdrop-filter:none;border:1px solid var(--dialog-border-color);box-shadow:0 2px 10px rgba(0,0,0,.25);border-radius:6px}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw .Modal__content{max-width:100%;border:0;border-radius:0}}@keyframes Modal__content_fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.excalidraw .Modal__close{width:calc(var(--space-factor) * 7);height:calc(var(--space-factor) * 7);display:flex;align-items:center;justify-content:center}.excalidraw .Modal__close svg{height:calc(var(--space-factor) * 5)}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw .Modal{padding:0}.excalidraw .Modal__content{position:absolute;top:0;left:0;right:0;bottom:0}}",""]),t.default=o},700:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw .PasteChartDialog .Island{display:flex;flex-direction:column}}.excalidraw .PasteChartDialog .container{display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw .PasteChartDialog .container{flex-direction:column;justify-content:center}}.excalidraw .PasteChartDialog .ChartPreview{margin:8px;text-align:center;width:192px;height:128px;border-radius:2px;padding:1px;border:1px solid #ced4da;display:flex;align-items:center;justify-content:center;background:transparent}.excalidraw .PasteChartDialog .ChartPreview div{display:inline-block}.excalidraw .PasteChartDialog .ChartPreview svg{max-height:120px;max-width:186px}.excalidraw .PasteChartDialog .ChartPreview:hover{padding:0;border:2px solid #339af0}",""]),t.default=o},287:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".excalidraw .popover{position:fixed;z-index:10}",""]),t.default=o},5657:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".excalidraw .Stack{--gap: 0;display:grid;gap:calc(var(--space-factor) * var(--gap))}.excalidraw .Stack_vertical{grid-template-columns:auto;grid-auto-flow:row;grid-auto-rows:min-content}.excalidraw .Stack_horizontal{grid-template-rows:auto;grid-auto-flow:column;grid-auto-columns:min-content}",""]),t.default=o},7392:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .Stats{position:absolute;top:64px;right:12px;font-size:12px;z-index:999}.excalidraw .Stats h3{margin:0 24px 8px 0;white-space:nowrap}.excalidraw .Stats .close{float:right;height:16px;width:16px;cursor:pointer}.excalidraw .Stats .close svg{width:100%;height:100%}.excalidraw .Stats table{width:100%}.excalidraw .Stats table th{border-bottom:1px solid var(--input-border-color);padding:4px}.excalidraw .Stats table tr td:nth-child(2){min-width:24px;text-align:right}:root[dir=rtl] .excalidraw .Stats{left:12px;right:initial}:root[dir=rtl] .excalidraw .Stats h3{margin:0 0 8px 24px}:root[dir=rtl] .excalidraw .Stats .close{float:left}",""]),t.default=o},6065:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .TextInput{color:var(--text-primary-color);display:inline-block;border:1.5px solid var(--button-gray-1);line-height:1;padding:.75rem;white-space:nowrap;border-radius:var(--space-factor);background-color:var(--input-bg-color)}.excalidraw .TextInput:not(:focus):hover{background-color:var(--input-hover-bg-color)}.excalidraw .TextInput:focus{outline:none;box-shadow:0 0 0 2px var(--focus-highlight-color)}",""]),t.default=o},83:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .Toast{animation:fade-in .5s;background-color:var(--button-gray-1);border-radius:4px;bottom:10px;box-sizing:border-box;cursor:default;left:50%;margin-left:-150px;padding:4px 0;position:absolute;text-align:center;width:300px;z-index:999999}.excalidraw .Toast__message{color:var(--popup-text-color)}@keyframes fade-in{from{opacity:0}to{opacity:1}}",""]),t.default=o},1554:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .ToolIcon{display:inline-flex;align-items:center;position:relative;font-family:Cascadia;cursor:pointer;background-color:var(--button-gray-1);-webkit-tap-highlight-color:transparent;border-radius:var(--space-factor)}.excalidraw .ToolIcon__icon{width:2.5rem;height:2.5rem;color:var(--icon-fill-color);display:flex;justify-content:center;align-items:center;border-radius:var(--space-factor)}.excalidraw .ToolIcon__icon svg{position:relative;height:1em;fill:var(--icon-fill-color);color:var(--icon-fill-color)}.excalidraw .ToolIcon__icon+.ToolIcon__label{margin-inline-start:0}.excalidraw .ToolIcon__label{color:var(--icon-fill-color);font-family:var(--ui-font);margin:0 .8em;text-overflow:ellipsis}.excalidraw .ToolIcon_size_s .ToolIcon__icon{width:1.4rem;height:1.4rem;font-size:.8em}.excalidraw .excalidraw .ToolIcon_type_button,.excalidraw .Modal .ToolIcon_type_button,.excalidraw .ToolIcon_type_button{padding:0;border:none;margin:0;font-size:inherit}.excalidraw .excalidraw .ToolIcon_type_button:hover,.excalidraw .Modal .ToolIcon_type_button:hover,.excalidraw .ToolIcon_type_button:hover{background-color:var(--button-gray-1)}.excalidraw .excalidraw .ToolIcon_type_button:active,.excalidraw .Modal .ToolIcon_type_button:active,.excalidraw .ToolIcon_type_button:active{background-color:var(--button-gray-2)}.excalidraw .excalidraw .ToolIcon_type_button:focus,.excalidraw .Modal .ToolIcon_type_button:focus,.excalidraw .ToolIcon_type_button:focus{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .excalidraw .ToolIcon_type_button.ToolIcon--selected,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected,.excalidraw .ToolIcon_type_button.ToolIcon--selected{background-color:var(--button-gray-2)}.excalidraw .excalidraw .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .ToolIcon_type_button.ToolIcon--selected:active{background-color:var(--button-gray-3)}.excalidraw .excalidraw .ToolIcon_type_button--show,.excalidraw .Modal .ToolIcon_type_button--show,.excalidraw .ToolIcon_type_button--show{visibility:visible}.excalidraw .excalidraw .ToolIcon_type_button--hide,.excalidraw .Modal .ToolIcon_type_button--hide,.excalidraw .ToolIcon_type_button--hide{visibility:hidden}.excalidraw .ToolIcon_type_radio,.excalidraw .ToolIcon_type_checkbox{position:absolute;opacity:0;pointer-events:none}.excalidraw .ToolIcon_type_radio:not(.ToolIcon_toggle_opaque):checked+.ToolIcon__icon,.excalidraw .ToolIcon_type_checkbox:not(.ToolIcon_toggle_opaque):checked+.ToolIcon__icon{background-color:var(--button-gray-2)}.excalidraw .ToolIcon_type_radio:focus+.ToolIcon__icon,.excalidraw .ToolIcon_type_checkbox:focus+.ToolIcon__icon{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .ToolIcon_type_radio:active+.ToolIcon__icon,.excalidraw .ToolIcon_type_checkbox:active+.ToolIcon__icon{background-color:var(--button-gray-3)}.excalidraw .ToolIcon_type_floating{background-color:transparent}.excalidraw .ToolIcon_type_floating:hover{background-color:transparent}.excalidraw .ToolIcon_type_floating:active{background-color:transparent}.excalidraw .ToolIcon_type_floating:focus{box-shadow:none}.excalidraw .ToolIcon_type_floating .ToolIcon__icon{width:2rem;height:2em}.excalidraw .ToolIcon.ToolIcon__lock.ToolIcon_type_floating{margin-left:.1rem}.excalidraw .ToolIcon__keybinding{position:absolute;bottom:2px;right:3px;font-size:.5em;color:var(--keybinding-color);font-family:var(--ui-font);user-select:none}@media(max-width: 425px){.excalidraw .Shape .ToolIcon__icon{width:2rem;height:2rem}.excalidraw .Shape .ToolIcon__icon svg{height:.8em}}@media(max-width: 760px){.excalidraw .ToolIcon.ToolIcon__lock{display:inline-block;position:absolute;top:60px;right:-8px;margin-left:0;border-radius:20px 0 0 20px;z-index:1;background-color:var(--button-gray-1)}.excalidraw .ToolIcon.ToolIcon__lock:hover{background-color:var(--button-gray-1)}.excalidraw .ToolIcon.ToolIcon__lock:active{background-color:var(--button-gray-2)}.excalidraw .ToolIcon.ToolIcon__lock .ToolIcon__icon{border-radius:inherit}.excalidraw .ToolIcon.ToolIcon__lock svg{position:static}}.excalidraw .TooltipIcon{width:.9em;height:.9em;margin-left:5px;margin-top:1px}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw .TooltipIcon{display:none}}:root[dir=ltr] .excalidraw .unlocked-icon{left:2px}:root[dir=rtl] .excalidraw .unlocked-icon{right:2px}",""]),t.default=o},1970:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,':export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.excalidraw .Tooltip{position:relative}.excalidraw .Tooltip__label{--arrow-size: 4px;visibility:hidden;background:#000;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:10;font-size:13px;line-height:1.5;font-weight:500;left:calc(50% + var(--arrow-size) / 2 - 1px);transform:translateX(-50%);word-wrap:break-word}.excalidraw .Tooltip__label::after{content:"";border:var(--arrow-size) solid transparent;position:absolute;left:calc(50% - var(--arrow-size))}.excalidraw .Tooltip__label--above{bottom:calc(100% + var(--arrow-size) + 3px)}.excalidraw .Tooltip__label--above::after{border-top-color:#000;top:100%}.excalidraw .Tooltip__label--below{top:calc(100% + var(--arrow-size) + 3px)}.excalidraw .Tooltip__label--below::after{border-bottom-color:#000;bottom:100%}.excalidraw .Tooltip:hover .Tooltip__label{visibility:visible}.excalidraw .Tooltip__label:hover{visibility:visible}',""]),t.default=o},961:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".excalidraw .UserList{pointer-events:none;padding:var(--space-factor);display:flex;justify-content:flex-end;overflow:hidden;border-radius:60px}.excalidraw .UserList.layout-vertical{grid-column:3;flex-direction:column-reverse;position:absolute;top:60px;right:var(--space-factor);max-height:calc( 100vh - var(--space-factor) - 60px - 60px + var(--itemOffset) );padding-bottom:max(calc(var(--itemOffset) * -1), 0px)}.excalidraw .UserList.layout-vertical .Avatar{width:2.4rem;height:2.4rem}.excalidraw .UserList>*{pointer-events:all}.excalidraw .UserList.layout-vertical>*{margin-bottom:var(--itemOffset)}.excalidraw .UserList.layout-horizontal>*{margin-right:var(--itemOffset)}.excalidraw .UserList_mobile{padding:0;justify-content:normal}.excalidraw .UserList_mobile>*{margin:0 var(--space-factor) var(--space-factor) 0}",""]),t.default=o},4878:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".visually-hidden{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}.LoadingMessage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:center;justify-content:center;pointer-events:none}.LoadingMessage span{background-color:var(--button-gray-1);border-radius:5px;padding:.8em 1.2em;color:var(--popup-text-color);font-size:1.3em}",""]),t.default=o},1988:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,':export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}:export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}:root{--appearance-filter: none;--button-destructive-bg-color: #ffe3e3;--button-destructive-color: #c92a2a;--button-gray-1: #e9ecef;--button-gray-2: #ced4da;--button-gray-3: #adb5bd;--button-special-active-bg-color: #ebfbee;--dialog-border-color: #868e96;--dropdown-icon: url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>\');--focus-highlight-color: #a5d8ff;--icon-fill-color: #000000;--icon-green-fill-color: #2b8a3e;--input-bg-color: #ffffff;--input-border-color: #dee2e6;--input-hover-bg-color: #f1f3f5;--input-label-color: #495057;--island-bg-color: rgba(255, 255, 255, 0.9);--keybinding-color: #adb5bd;--link-color: #1c7ed6;--overlay-bg-color: rgba(255, 255, 255, 0.88);--popup-bg-color: #ffffff;--popup-secondary-bg-color: #f1f3f5;--popup-text-color: #000000;--popup-text-inverted-color: #ffffff;--sab: env(safe-area-inset-bottom);--sal: env(safe-area-inset-left);--sar: env(safe-area-inset-right);--sat: env(safe-area-inset-top);--select-highlight-color: #339af0;--shadow-island: 0 1px 5px rgba(0, 0, 0, 0.15);--space-factor: 0.25rem;--text-primary-color: #343a40}.excalidraw.Appearance_dark{background:#000}.excalidraw.Appearance_dark.Appearance_dark-background-none{background:none}.excalidraw.Appearance_dark{--appearance-filter: invert(93%) hue-rotate(180deg);--button-destructive-bg-color: #5a0000;--button-destructive-color: #ffa8a8;--button-gray-1: #363636;--button-gray-2: #272727;--button-gray-3: #222;--button-special-active-bg-color: #204624;--dialog-border-color: #212529;--dropdown-icon: url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>\');--focus-highlight-color: #228be6;--icon-fill-color: #ced4da;--icon-green-fill-color: #69db7c;--input-bg-color: #121212;--input-border-color: #2e2e2e;--input-hover-bg-color: #181818;--input-label-color: #e9ecef;--island-bg-color: #1e1e1e;--keybinding-color: #868e96;--overlay-bg-color: rgba(52, 58, 64, 0.12);--popup-bg-color: #2c2c2c;--popup-secondary-bg-color: #222;--popup-text-color: #ced4da;--popup-text-inverted-color: #635c5c;--select-highlight-color: #4dabf7;--shadow-island: 0 1px 5px rgba(0, 0, 0, 0.3);--text-primary-color: #ced4da}:root{--zIndex-canvas: 1;--zIndex-wysiwyg: 2;--zIndex-layerUI: 3}.excalidraw{color:var(--text-primary-color);display:flex;top:0;bottom:0;left:0;right:0}.excalidraw a{font-weight:500;text-decoration:none;color:var(--link-color)}.excalidraw a:hover{text-decoration:underline}.excalidraw canvas{touch-action:none;user-select:none;image-rendering:pixelated;image-rendering:-moz-crisp-edges;z-index:var(--zIndex-canvas)}.excalidraw.Appearance_dark canvas{filter:var(--appearance-filter)}.excalidraw .FixedSideContainer{padding-top:var(--sat, 0);padding-right:var(--sar, 0);padding-bottom:var(--sab, 0);padding-left:var(--sal, 0)}.excalidraw .panelRow{display:flex;justify-content:space-between}.excalidraw .panelColumn{display:flex;flex-direction:column}.excalidraw .panelColumn h3,.excalidraw .panelColumn legend,.excalidraw .panelColumn .control-label{margin-top:.333rem;margin-bottom:.333rem;font-size:.75rem;color:var(--text-primary-color);font-weight:bold;display:block}.excalidraw .panelColumn .control-label input{display:block;width:100%}.excalidraw .panelColumn h3:first-child,.excalidraw .panelColumn legend:first-child,.excalidraw .panelColumn .control-label:first-child{margin-top:0}.excalidraw .panelColumn legend{padding:0}.excalidraw .panelColumn .iconSelectList{flex-wrap:wrap;position:relative}.excalidraw .panelColumn .buttonList{flex-wrap:wrap}.excalidraw .panelColumn .buttonList label{margin-right:.25rem;font-size:.75rem;display:inline-block}.excalidraw .panelColumn .buttonList input[type=radio],.excalidraw .panelColumn .buttonList input[type=button]{opacity:0;position:absolute;pointer-events:none}.excalidraw .panelColumn .buttonList .iconRow{margin-top:8px}.excalidraw .panelColumn .buttonList .ToolIcon{margin:0;margin-inline-end:8px}.excalidraw .panelColumn .buttonList .ToolIcon:focus{outline:transparent;box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .panelColumn .buttonList .ToolIcon:hover{background-color:var(--button-gray-2)}.excalidraw .panelColumn .buttonList .ToolIcon:active{background-color:var(--button-gray-3)}.excalidraw .panelColumn .buttonList .ToolIcon:disabled{cursor:not-allowed}.excalidraw .panelColumn .buttonList .ToolIcon__icon{width:28px;height:28px}.excalidraw .panelColumn fieldset{margin:0;margin-top:.333rem;padding:0;border:none}.excalidraw .divider{width:1px;background-color:#e9ecef;margin:1px}.excalidraw .buttonList label:focus-within,.excalidraw input:focus{outline:transparent;box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw button,.excalidraw .buttonList label{user-select:none;background-color:var(--button-gray-1);border:0;border-radius:4px;margin:.125rem 0;padding:.25rem;white-space:nowrap;cursor:pointer}.excalidraw button:focus,.excalidraw .buttonList label:focus{outline:transparent;box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw button:hover,.excalidraw .buttonList label:hover{background-color:var(--button-gray-2)}.excalidraw button:active,.excalidraw .buttonList label:active{background-color:var(--button-gray-3)}.excalidraw button:disabled,.excalidraw .buttonList label:disabled{cursor:not-allowed}.excalidraw .active,.excalidraw .buttonList label.active{background-color:var(--button-gray-2)}.excalidraw .active:hover,.excalidraw .buttonList label.active:hover{background-color:var(--button-gray-2)}.excalidraw .active:active,.excalidraw .buttonList label.active:active{background-color:var(--button-gray-3)}.excalidraw .buttonList.buttonListIcon label{display:inline-flex;justify-content:center;align-items:center}.excalidraw .buttonList.buttonListIcon label svg{width:36px;height:18px;opacity:.6}.excalidraw .buttonList.buttonListIcon label.active svg{opacity:1}.excalidraw .App-top-bar{z-index:var(--zIndex-layerUI);display:flex;flex-direction:column;align-items:center}.excalidraw .App-bottom-bar{position:absolute;top:0;bottom:0;left:0;right:0;--bar-padding: calc(4 * var(--space-factor));padding-top:max(var(--bar-padding), var(--sat,0));padding-right:var(--sar, 0);padding-bottom:var(--sab, 0);padding-left:var(--sal, 0);z-index:4;display:flex;align-items:flex-end;pointer-events:none}.excalidraw .App-bottom-bar>.Island{width:100%;max-width:100%;min-width:100%;box-sizing:border-box;max-height:100%;display:flex;flex-direction:column;pointer-events:initial}.excalidraw .App-bottom-bar>.Island .panelColumn{padding:8px 8px 0 8px}.excalidraw .App-toolbar{width:100%;box-sizing:border-box}.excalidraw .App-toolbar-content{display:flex;align-items:center;justify-content:space-between;padding:8px}.excalidraw .App-mobile-menu{width:100%;overflow-x:visible;overflow-y:auto;box-sizing:border-box;margin-bottom:var(--bar-padding)}.excalidraw .App-menu{display:grid;color:var(--icon-fill-color)}.excalidraw .App-menu_top{grid-template-columns:1fr auto 1fr;grid-gap:4px;align-items:flex-start;cursor:default;pointer-events:none !important}.excalidraw .layer-ui__wrapper:not(.disable-pointerEvents) .App-menu_top>*{pointer-events:all}.excalidraw .App-menu_top>*:first-child{justify-self:flex-start}.excalidraw .App-menu_top>*:last-child{justify-self:flex-end}.excalidraw .App-menu_bottom{position:absolute;bottom:0;grid-template-columns:1fr auto 1fr;grid-gap:4px;align-items:flex-start;cursor:default;pointer-events:none !important;z-index:100}:root[dir=ltr] .excalidraw .App-menu_bottom{left:.25rem}:root[dir=rtl] .excalidraw .App-menu_bottom{right:.25rem}.excalidraw .App-menu_bottom--transition-left section{width:185px}.excalidraw .App-menu_bottom section{display:flex}.excalidraw .layer-ui__wrapper:not(.disable-pointerEvents) .App-menu_bottom>*{pointer-events:all}.excalidraw .App-menu_bottom>*:first-child{justify-self:flex-start}.excalidraw .App-menu_bottom>*:last-child{justify-self:flex-end}.excalidraw .App-menu_left{grid-template-rows:1fr auto 1fr;height:100%}.excalidraw .App-menu_right{grid-template-rows:1fr;height:100%}.excalidraw .App-menu__left{overflow-y:auto}.excalidraw .dropdown-select{height:1.5rem;padding:0;padding-inline-start:.5rem;padding-inline-end:1.5rem;color:var(--icon-fill-color);background-color:var(--button-gray-1);border-radius:var(--space-factor);border:1px solid var(--button-gray-2);font-size:.8rem;outline:none;appearance:none;background-image:var(--dropdown-icon);background-repeat:no-repeat;background-position:right .7rem top 50%,0 0;background-size:.65em auto,100%}:root[dir=rtl] .excalidraw .dropdown-select{background-position:left .7rem top 50%,0 0}.excalidraw .dropdown-select:focus{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .dropdown-select:hover{background-color:var(--button-gray-2)}.excalidraw .dropdown-select:active{background-color:var(--button-gray-2)}.excalidraw .dropdown-select.dropdown-select--floating{position:absolute;margin:.5em}.excalidraw .dropdown-select__language.dropdown-select--floating{position:absolute;bottom:10px}:root[dir=ltr] .excalidraw .dropdown-select__language.dropdown-select--floating{right:44px}:root[dir=rtl] .excalidraw .dropdown-select__language.dropdown-select--floating{left:44px}.excalidraw .zIndexButton{margin:0;margin-inline-end:8px;padding:5px;display:inline-flex;align-items:center;justify-content:center}.excalidraw .zIndexButton svg{width:18px;height:18px}.excalidraw .scroll-back-to-content{color:var(--popup-text-color);position:absolute;left:50%;bottom:30px;transform:translateX(-50%);padding:10px 20px}.excalidraw .help-icon{position:absolute;cursor:pointer;fill:#868e96;bottom:14px;width:1.5rem}:root[dir=ltr] .excalidraw .help-icon{right:14px}:root[dir=rtl] .excalidraw .help-icon{left:14px}@media(max-width: 600px),(max-height: 500px)and (max-width: 1000px){.excalidraw aside{display:none}.excalidraw .scroll-back-to-content{bottom:calc(80px + var(--sab, 0));z-index:-1}}:root[dir=rtl] .excalidraw .rtl-mirror{transform:scaleX(-1)}.excalidraw .github-corner{position:absolute;top:0;z-index:2}:root[dir=ltr] .excalidraw .github-corner{right:0}:root[dir=rtl] .excalidraw .github-corner{left:0}.excalidraw .zen-mode-visibility{visibility:visible;opacity:1;height:auto;width:auto;transition:opacity .5s}.excalidraw .zen-mode-visibility.zen-mode-visibility--hidden{visibility:hidden;opacity:0;height:0;width:0;transition:opacity .5s}.excalidraw .disable-pointerEvents{pointer-events:none !important}.excalidraw.excalidraw--view-mode .App-menu{display:flex;justify-content:space-between}@media print{.excalidraw .App-bottom-bar,.excalidraw .FixedSideContainer,.excalidraw .layer-ui__wrapper{display:none}}.excalidraw .HomeButton{display:inline-block;position:absolute;top:60px;left:0;margin-left:calc(-2 * var(--margin));border-radius:0 20px 20px 0;background-color:var(--button-gray-1)}.excalidraw .HomeButton:hover{background-color:var(--button-gray-1)}.excalidraw .HomeButton:active{background-color:var(--button-gray-2)}.excalidraw .HomeButton .ToolIcon__icon{border-radius:inherit}.excalidraw .HomeButton svg{position:static}.ErrorSplash.excalidraw{min-height:100vh;padding:20px 0;overflow:auto;display:flex;align-items:center;justify-content:center;user-select:text}.ErrorSplash.excalidraw .ErrorSplash-messageContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background-color:#ffe3e3;border:3px solid #c92a2a}.ErrorSplash.excalidraw .ErrorSplash-paragraph{margin:15px 0;max-width:600px}.ErrorSplash.excalidraw .ErrorSplash-paragraph.align-center{text-align:center}.ErrorSplash.excalidraw .bigger,.ErrorSplash.excalidraw .bigger button{font-size:1.1em}.ErrorSplash.excalidraw .smaller,.ErrorSplash.excalidraw .smaller button{font-size:.9em}.ErrorSplash.excalidraw .ErrorSplash-details{display:flex;flex-direction:column;align-items:flex-start}.ErrorSplash.excalidraw .ErrorSplash-details textarea{width:100%;margin:10px 0;font-family:"Cascadia";font-size:.8em}',""]),t.default=o},3245:function(e,t,n){"use strict";n.r(t);var r=n(3645),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,"",""]),o.locals={isMobileQuery:"(max-width: 600px), (max-height: 500px) and (max-width: 1000px)",appearanceFilter:"invert(93%) hue-rotate(180deg)"},t.default=o},3645:function(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(r)for(var a=0;a<this.length;a++){var i=this[a][0];null!=i&&(o[i]=!0)}for(var l=0;l<e.length;l++){var c=[].concat(e[l]);r&&o[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),t.push(c))}},t}},1667:function(e){"use strict";e.exports=function(e,t){return t||(t={}),"string"!=typeof(e=e&&e.__esModule?e.default:e)?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e)}},9638:function(e,t,n){"use strict";t.Z=n.p+"excalidraw-assets/Cascadia.woff2"},7628:function(e,t,n){"use strict";t.Z=n.p+"excalidraw-assets/FG_Virgil.woff2"},8288:function(e,t,n){"use strict";n.d(t,{iC:function(){return i},f:function(){return l},qx:function(){return c},Iw:function(){return s},$e:function(){return u},wZ:function(){return d},ay:function(){return p},oc:function(){return f},Oh:function(){return h},Ks:function(){return r},Vi:function(){return m},$C:function(){return g},ut:function(){return v},_D:function(){return b},n5:function(){return y},rk:function(){return w},Hg:function(){return x},hs:function(){return E},eQ:function(){return k},k:function(){return S},LO:function(){return C},I:function(){return O},Gj:function(){return M},nM:function(){return I},Lg:function(){return T},HM:function(){return P},V4:function(){return A},EH:function(){return L},Gi:function(){return _}});var r,o=n(2189),a=n.n(o),i="Excalidraw",l=10,c=8,s=5,u=1,d=30,p=Math.PI/12,f={TEXT:"text",CROSSHAIR:"crosshair",GRABBING:"grabbing",POINTER:"pointer",MOVE:"move",AUTO:""},h={MAIN:0,WHEEL:1,SECONDARY:2,TOUCH:-1};!function(e){e.COPY="copy",e.PASTE="paste",e.CUT="cut",e.KEYDOWN="keydown",e.KEYUP="keyup",e.MOUSE_MOVE="mousemove",e.RESIZE="resize",e.UNLOAD="unload",e.BLUR="blur",e.DRAG_OVER="dragover",e.DROP="drop",e.GESTURE_END="gestureend",e.BEFORE_UNLOAD="beforeunload",e.GESTURE_START="gesturestart",e.GESTURE_CHANGE="gesturechange",e.POINTER_MOVE="pointermove",e.POINTER_UP="pointerup",e.STATE_CHANGE="statechange",e.WHEEL="wheel",e.TOUCH_START="touchstart",e.TOUCH_END="touchend",e.HASHCHANGE="hashchange",e.VISIBILITY_CHANGE="visibilitychange",e.SCROLL="scroll"}(r||(r={}));var m={TEST:"test",DEVELOPMENT:"development"},g={SHAPE_ACTIONS_MENU:"App-menu__left"},v={1:"Virgil",2:"Helvetica",3:"Cascadia"},b="Segoe UI Emoji",y=20,w=1,x="left",E="top",k="{version}",S=20,C={excalidraw:"application/vnd.excalidraw+json",excalidrawlib:"application/vnd.excalidrawlib+json"},O={LOCAL_STORAGE_LIBRARY:"excalidraw-library"},M=300,I=500,T=5e3,P=500,A=.1,L={VIEW:"viewMode",ZEN:"zenMode",GRID:"gridMode"},_=a().appearanceFilter},5992:function(e,t,n){"use strict";n.r(t),n.d(t,{cleanAppStateForExport:function(){return nr},clearAppStateForLocalStorage:function(){return tr},default:function(){return Mf},defaultLang:function(){return C},exportToBlob:function(){return wf},exportToCanvas:function(){return yf},exportToClipboard:function(){return Ef},exportToSvg:function(){return xf},getDefaultAppState:function(){return Qn},getElementMap:function(){return fi},getSceneVersion:function(){return hi},getSyncableElements:function(){return pi},languages:function(){return O},restore:function(){return Zs},restoreAppState:function(){return Ys},restoreElements:function(){return Us}});var r=n(7154),o=n.n(r),a=n(6479),i=n.n(a),l=n(4698),c=n.n(l),s=n(8288),u=JSON.parse('{"u2":"@excalidraw/excalidraw","i8":"0.4.0"}');"production"!==s.Vi.TEST&&(n.p=window.EXCALIDRAW_ASSET_PATH||"https://unpkg.com/".concat(u.u2,"@").concat(u.i8,"/dist/"));var d=n(7945),p=n.n(d),f=n(2608);function h(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function m(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function g(e,t,n){return t&&m(e.prototype,t),n&&m(e,n),e}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function b(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&v(e,t)}function y(e){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function w(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function x(e,t){return!t||"object"!==y(t)&&"function"!=typeof t?w(e):t}function E(e){return(E=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var k=n(2829),S=n(2051),C={code:"en",label:"English"},O=[{code:"ar-SA",label:"العربية",rtl:!0},{code:"bg-BG",label:"Български"},{code:"ca-ES",label:"Català"},{code:"de-DE",label:"Deutsch"},{code:"el-GR",label:"Ελληνικά"},{code:"es-ES",label:"Español"},{code:"fa-IR",label:"فارسی",rtl:!0},{code:"fi-FI",label:"Suomi"},{code:"fr-FR",label:"Français"},{code:"he-IL",label:"עברית",rtl:!0},{code:"hi-IN",label:"हिन्दी"},{code:"hu-HU",label:"Magyar"},{code:"id-ID",label:"Bahasa Indonesia"},{code:"it-IT",label:"Italiano"},{code:"ja-JP",label:"日本語"},{code:"kab-KAB",label:"Taqbaylit"},{code:"ko-KR",label:"한국어"},{code:"my-MM",label:"Burmese"},{code:"nb-NO",label:"Norsk bokmål"},{code:"nl-NL",label:"Nederlands"},{code:"nn-NO",label:"Norsk nynorsk"},{code:"pa-IN",label:"ਪੰਜਾਬੀ"},{code:"pl-PL",label:"Polski"},{code:"pt-BR",label:"Português Brasileiro"},{code:"pt-PT",label:"Português"},{code:"ro-RO",label:"Română"},{code:"ru-RU",label:"Русский"},{code:"sk-SK",label:"Slovenčina"},{code:"sv-SE",label:"Svenska"},{code:"tr-TR",label:"Türkçe"},{code:"uk-UA",label:"Українська"},{code:"zh-CN",label:"简体中文"},{code:"zh-TW",label:"繁體中文"}].concat([C]).sort((function(e,t){return e.label>t.label?1:-1})).filter((function(e){return S[e.code]>=85})),M="__test__";"production"===s.Vi.DEVELOPMENT&&O.unshift({code:M,label:"test language"},{code:"".concat(M,".rtl"),label:"test language (rtl)",rtl:!0});var I=C,T={},P=function(){var e=(0,f.Z)(p().mark((function e(t){return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(I=t,document.documentElement.dir=I.rtl?"rtl":"ltr",document.documentElement.lang=I.code,!t.code.startsWith(M)){e.next=7;break}T={},e.next=10;break;case 7:return e.next=9,n(788)("./".concat(I.code,".json"));case 9:T=e.sent;case 10:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),A=function(){return I},L=function(e,t){for(var n=0;n<t.length;++n){var r=t[n];if(void 0===e[r])return;e=e[r]}if("string"==typeof e)return e},_=function(e,t){if(I.code.startsWith(M)){var n=t?"".concat(e,"(").concat(JSON.stringify(t).slice(1,-1),")"):e;return"[[".concat(n,"]]")}var r=e.split("."),o=L(T,r)||L(k,r);if(void 0===o)throw new Error("Can't find translation for ".concat(e));if(t)for(var a in t)o=o.replace("{{".concat(a,"}}"),t[a]);return o},D=function(){return c().createElement("div",{className:"LoadingMessage"},c().createElement("span",null,_("labels.loadingScene")))};function j(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=E(e);if(t){var o=E(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return x(this,n)}}var z=function(e){b(r,e);var t,n=j(r);function r(){var e,t;h(this,r);for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return x(t,(e=t=n.call.apply(n,[this].concat(a)),t.state={isLoading:!0},e))}return g(r,[{key:"componentDidMount",value:(t=(0,f.Z)(p().mark((function e(){var t,n=this;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=O.find((function(e){return e.code===n.props.langCode}))||C,e.next=3,P(t);case 3:this.setState({isLoading:!1});case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"render",value:function(){return this.state.isLoading?c().createElement(D,null):this.props.children}}]),r}(c().Component);function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function H(e,t){if(e){if("string"==typeof e)return B(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?B(e,t):void 0}}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,a=void 0;try{for(var i,l=e[Symbol.iterator]();!(r=(i=l.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw a}}return n}}(e,t)||H(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e){return function(e){if(Array.isArray(e))return B(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||H(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function W(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)}function G(e,t,n){const r=W(t,n);if(0===r)return W(e,t);let o=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return o=Math.max(0,Math.min(1,o)),W(e,V(t,n,o))}function V(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function K(e,t,n,r){const o=r||[];if(function(e,t){const n=e[t+0],r=e[t+1],o=e[t+2],a=e[t+3];let i=3*r[0]-2*n[0]-a[0];i*=i;let l=3*r[1]-2*n[1]-a[1];l*=l;let c=3*o[0]-2*a[0]-n[0];c*=c;let s=3*o[1]-2*a[1]-n[1];return s*=s,i<c&&(i=c),l<s&&(l=s),i+l}(e,t)<n){const n=e[t+0];if(o.length){(a=o[o.length-1],i=n,Math.sqrt(W(a,i)))>1&&o.push(n)}else o.push(n);o.push(e[t+3])}else{const r=.5,a=e[t+0],i=e[t+1],l=e[t+2],c=e[t+3],s=V(a,i,r),u=V(i,l,r),d=V(l,c,r),p=V(s,u,r),f=V(u,d,r),h=V(p,f,r);K([a,s,p,h],0,n,o),K([h,f,d,c],0,n,o)}var a,i;return o}function U(e,t){return Y(e,0,e.length,t)}function Y(e,t,n,r,o){const a=o||[],i=e[t],l=e[n-1];let c=0,s=1;for(let r=t+1;r<n-1;++r){const t=G(e[r],i,l);t>c&&(c=t,s=r)}return Math.sqrt(c)>r?(Y(e,t,s+1,r,a),Y(e,s,n,r,a)):(a.length||a.push(i),a.push(l)),a}function Z(e,t=.15,n){const r=[],o=(e.length-1)/3;for(let n=0;n<o;n++){K(e,3*n,t,r)}return n&&n>0?Y(r,0,r.length,n):r}function X(e,t,n){if(e&&e.length){const[r,o]=t,a=Math.PI/180*n,i=Math.cos(a),l=Math.sin(a);e.forEach((e=>{const[t,n]=e;e[0]=(t-r)*i-(n-o)*l+r,e[1]=(t-r)*l+(n-o)*i+o}))}}function q(e){const t=e[0],n=e[1];return Math.sqrt(Math.pow(t[0]-n[0],2)+Math.pow(t[1]-n[1],2))}function $(e,t,n,r){const o=t[1]-e[1],a=e[0]-t[0],i=o*e[0]+a*e[1],l=r[1]-n[1],c=n[0]-r[0],s=l*n[0]+c*n[1],u=o*c-l*a;return u?[(c*i-a*s)/u,(o*s-l*i)/u]:null}function Q(e,t,n){const r=e.length;if(r<3)return!1;const o=[Number.MAX_SAFE_INTEGER,n],a=[t,n];let i=0;for(let t=0;t<r;t++){const n=e[t],l=e[(t+1)%r];if(te(n,l,a,o)){if(0===ee(n,a,l))return J(n,a,l);i++}}return i%2==1}function J(e,t,n){return t[0]<=Math.max(e[0],n[0])&&t[0]>=Math.min(e[0],n[0])&&t[1]<=Math.max(e[1],n[1])&&t[1]>=Math.min(e[1],n[1])}function ee(e,t,n){const r=(t[1]-e[1])*(n[0]-t[0])-(t[0]-e[0])*(n[1]-t[1]);return 0===r?0:r>0?1:2}function te(e,t,n,r){const o=ee(e,t,n),a=ee(e,t,r),i=ee(n,r,e),l=ee(n,r,t);return o!==a&&i!==l||(!(0!==o||!J(e,n,t))||(!(0!==a||!J(e,r,t))||(!(0!==i||!J(n,e,r))||!(0!==l||!J(n,t,r)))))}function ne(e,t){const n=[0,0],r=Math.round(t.hachureAngle+90);r&&X(e,n,r);const o=function(e,t){const n=[...e];n[0].join(",")!==n[n.length-1].join(",")&&n.push([n[0][0],n[0][1]]);const r=[];if(n&&n.length>2){let e=t.hachureGap;e<0&&(e=4*t.strokeWidth),e=Math.max(e,.1);const o=[];for(let e=0;e<n.length-1;e++){const t=n[e],r=n[e+1];if(t[1]!==r[1]){const e=Math.min(t[1],r[1]);o.push({ymin:e,ymax:Math.max(t[1],r[1]),x:e===t[1]?t[0]:r[0],islope:(r[0]-t[0])/(r[1]-t[1])})}}if(o.sort(((e,t)=>e.ymin<t.ymin?-1:e.ymin>t.ymin?1:e.x<t.x?-1:e.x>t.x?1:e.ymax===t.ymax?0:(e.ymax-t.ymax)/Math.abs(e.ymax-t.ymax))),!o.length)return r;let a=[],i=o[0].ymin;for(;a.length||o.length;){if(o.length){let e=-1;for(let t=0;t<o.length&&!(o[t].ymin>i);t++)e=t;o.splice(0,e+1).forEach((e=>{a.push({s:i,edge:e})}))}if(a=a.filter((e=>!(e.edge.ymax<=i))),a.sort(((e,t)=>e.edge.x===t.edge.x?0:(e.edge.x-t.edge.x)/Math.abs(e.edge.x-t.edge.x))),a.length>1)for(let e=0;e<a.length;e+=2){const t=e+1;if(t>=a.length)break;const n=a[e].edge,o=a[t].edge;r.push([[Math.round(n.x),i],[Math.round(o.x),i]])}i+=e,a.forEach((t=>{t.edge.x=t.edge.x+e*t.edge.islope}))}}return r}(e,t);return r&&(X(e,n,-r),function(e,t,n){const r=[];e.forEach((e=>r.push(...e))),X(r,t,n)}(o,n,-r)),o}class re{constructor(e){this.helper=e}fillPolygon(e,t){return this._fillPolygon(e,t)}_fillPolygon(e,t,n=!1){let r=ne(e,t);if(n){const t=this.connectingLines(e,r);r=r.concat(t)}return{type:"fillSketch",ops:this.renderLines(r,t)}}renderLines(e,t){const n=[];for(const r of e)n.push(...this.helper.doubleLineOps(r[0][0],r[0][1],r[1][0],r[1][1],t));return n}connectingLines(e,t){const n=[];if(t.length>1)for(let r=1;r<t.length;r++){const o=t[r-1];if(q(o)<3)continue;const a=[t[r][0],o[1]];if(q(a)>3){const t=this.splitOnIntersections(e,a);n.push(...t)}}return n}midPointInPolygon(e,t){return Q(e,(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2)}splitOnIntersections(e,t){const n=Math.max(5,.1*q(t)),r=[];for(let o=0;o<e.length;o++){const a=e[o],i=e[(o+1)%e.length];if(te(a,i,...t)){const e=$(a,i,t[0],t[1]);if(e){const o=q([e,t[0]]),a=q([e,t[1]]);o>n&&a>n&&r.push({point:e,distance:o})}}}if(r.length>1){const n=r.sort(((e,t)=>e.distance-t.distance)).map((e=>e.point));if(Q(e,...t[0])||n.shift(),Q(e,...t[1])||n.pop(),n.length<=1)return this.midPointInPolygon(e,t)?[t]:[];const o=[t[0],...n,t[1]],a=[];for(let t=0;t<o.length-1;t+=2){const n=[o[t],o[t+1]];this.midPointInPolygon(e,n)&&a.push(n)}return a}return this.midPointInPolygon(e,t)?[t]:[]}}class oe extends re{fillPolygon(e,t){return this._fillPolygon(e,t,!0)}}class ae extends re{fillPolygon(e,t){const n=this._fillPolygon(e,t),r=Object.assign({},t,{hachureAngle:t.hachureAngle+90}),o=this._fillPolygon(e,r);return n.ops=n.ops.concat(o.ops),n}}class ie{constructor(e){this.helper=e}fillPolygon(e,t){const n=ne(e,t=Object.assign({},t,{curveStepCount:4,hachureAngle:0,roughness:1}));return this.dotsOnLines(n,t)}dotsOnLines(e,t){const n=[];let r=t.hachureGap;r<0&&(r=4*t.strokeWidth),r=Math.max(r,.1);let o=t.fillWeight;o<0&&(o=t.strokeWidth/2);const a=r/4;for(const i of e){const e=q(i),l=e/r,c=Math.ceil(l)-1,s=e-c*r,u=(i[0][0]+i[1][0])/2-r/4,d=Math.min(i[0][1],i[1][1]);for(let e=0;e<c;e++){const i=d+s+e*r,l=this.helper.randOffsetWithRange(u-a,u+a,t),c=this.helper.randOffsetWithRange(i-a,i+a,t),p=this.helper.ellipse(l,c,o,o,t);n.push(...p.ops)}}return{type:"fillSketch",ops:n}}}class le{constructor(e){this.helper=e}fillPolygon(e,t){const n=ne(e,t);return{type:"fillSketch",ops:this.dashedLine(n,t)}}dashedLine(e,t){const n=t.dashOffset<0?t.hachureGap<0?4*t.strokeWidth:t.hachureGap:t.dashOffset,r=t.dashGap<0?t.hachureGap<0?4*t.strokeWidth:t.hachureGap:t.dashGap,o=[];return e.forEach((e=>{const a=q(e),i=Math.floor(a/(n+r)),l=(a+r-i*(n+r))/2;let c=e[0],s=e[1];c[0]>s[0]&&(c=e[1],s=e[0]);const u=Math.atan((s[1]-c[1])/(s[0]-c[0]));for(let e=0;e<i;e++){const a=e*(n+r),i=a+n,s=[c[0]+a*Math.cos(u)+l*Math.cos(u),c[1]+a*Math.sin(u)+l*Math.sin(u)],d=[c[0]+i*Math.cos(u)+l*Math.cos(u),c[1]+i*Math.sin(u)+l*Math.sin(u)];o.push(...this.helper.doubleLineOps(s[0],s[1],d[0],d[1],t))}})),o}}class ce{constructor(e){this.helper=e}fillPolygon(e,t){const n=t.hachureGap<0?4*t.strokeWidth:t.hachureGap,r=t.zigzagOffset<0?n:t.zigzagOffset,o=ne(e,t=Object.assign({},t,{hachureGap:n+r}));return{type:"fillSketch",ops:this.zigzagLines(o,r,t)}}zigzagLines(e,t,n){const r=[];return e.forEach((e=>{const o=q(e),a=Math.round(o/(2*t));let i=e[0],l=e[1];i[0]>l[0]&&(i=e[1],l=e[0]);const c=Math.atan((l[1]-i[1])/(l[0]-i[0]));for(let e=0;e<a;e++){const o=2*e*t,a=2*(e+1)*t,l=Math.sqrt(2*Math.pow(t,2)),s=[i[0]+o*Math.cos(c),i[1]+o*Math.sin(c)],u=[i[0]+a*Math.cos(c),i[1]+a*Math.sin(c)],d=[s[0]+l*Math.cos(c+Math.PI/4),s[1]+l*Math.sin(c+Math.PI/4)];r.push(...this.helper.doubleLineOps(s[0],s[1],d[0],d[1],n),...this.helper.doubleLineOps(d[0],d[1],u[0],u[1],n))}})),r}}const se={};class ue{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}const de={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function pe(e,t){return e.type===t}function fe(e){const t=[],n=function(e){const t=new Array;for(;""!==e;)if(e.match(/^([ \t\r\n,]+)/))e=e.substr(RegExp.$1.length);else if(e.match(/^([aAcChHlLmMqQsStTvVzZ])/))t[t.length]={type:0,text:RegExp.$1},e=e.substr(RegExp.$1.length);else{if(!e.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];t[t.length]={type:1,text:`${parseFloat(RegExp.$1)}`},e=e.substr(RegExp.$1.length)}return t[t.length]={type:2,text:""},t}(e);let r="BOD",o=0,a=n[o];for(;!pe(a,2);){let i=0;const l=[];if("BOD"===r){if("M"!==a.text&&"m"!==a.text)return fe("M0,0"+e);o++,i=de[a.text],r=a.text}else pe(a,1)?i=de[r]:(o++,i=de[a.text],r=a.text);if(!(o+i<n.length))throw new Error("Path data ended short");for(let e=o;e<o+i;e++){const t=n[e];if(!pe(t,1))throw new Error("Param not a number: "+r+","+t.text);l[l.length]=+t.text}if("number"!=typeof de[r])throw new Error("Bad segment: "+r);{const e={key:r,data:l};t.push(e),o+=i,a=n[o],"M"===r&&(r="L"),"m"===r&&(r="l")}}return t}function he(e){let t=0,n=0,r=0,o=0;const a=[];for(const{key:i,data:l}of e)switch(i){case"M":a.push({key:"M",data:[...l]}),[t,n]=l,[r,o]=l;break;case"m":t+=l[0],n+=l[1],a.push({key:"M",data:[t,n]}),r=t,o=n;break;case"L":a.push({key:"L",data:[...l]}),[t,n]=l;break;case"l":t+=l[0],n+=l[1],a.push({key:"L",data:[t,n]});break;case"C":a.push({key:"C",data:[...l]}),t=l[4],n=l[5];break;case"c":{const e=l.map(((e,r)=>r%2?e+n:e+t));a.push({key:"C",data:e}),t=e[4],n=e[5];break}case"Q":a.push({key:"Q",data:[...l]}),t=l[2],n=l[3];break;case"q":{const e=l.map(((e,r)=>r%2?e+n:e+t));a.push({key:"Q",data:e}),t=e[2],n=e[3];break}case"A":a.push({key:"A",data:[...l]}),t=l[5],n=l[6];break;case"a":t+=l[5],n+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],t,n]});break;case"H":a.push({key:"H",data:[...l]}),t=l[0];break;case"h":t+=l[0],a.push({key:"H",data:[t]});break;case"V":a.push({key:"V",data:[...l]}),n=l[0];break;case"v":n+=l[0],a.push({key:"V",data:[n]});break;case"S":a.push({key:"S",data:[...l]}),t=l[2],n=l[3];break;case"s":{const e=l.map(((e,r)=>r%2?e+n:e+t));a.push({key:"S",data:e}),t=e[2],n=e[3];break}case"T":a.push({key:"T",data:[...l]}),t=l[0],n=l[1];break;case"t":t+=l[0],n+=l[1],a.push({key:"T",data:[t,n]});break;case"Z":case"z":a.push({key:"Z",data:[]}),t=r,n=o}return a}function me(e){const t=[];let n="",r=0,o=0,a=0,i=0,l=0,c=0;for(const{key:s,data:u}of e){switch(s){case"M":t.push({key:"M",data:[...u]}),[r,o]=u,[a,i]=u;break;case"C":t.push({key:"C",data:[...u]}),r=u[4],o=u[5],l=u[2],c=u[3];break;case"L":t.push({key:"L",data:[...u]}),[r,o]=u;break;case"H":r=u[0],t.push({key:"L",data:[r,o]});break;case"V":o=u[0],t.push({key:"L",data:[r,o]});break;case"S":{let e=0,a=0;"C"===n||"S"===n?(e=r+(r-l),a=o+(o-c)):(e=r,a=o),t.push({key:"C",data:[e,a,...u]}),l=u[0],c=u[1],r=u[2],o=u[3];break}case"T":{const[e,a]=u;let i=0,s=0;"Q"===n||"T"===n?(i=r+(r-l),s=o+(o-c)):(i=r,s=o);const d=r+2*(i-r)/3,p=o+2*(s-o)/3,f=e+2*(i-e)/3,h=a+2*(s-a)/3;t.push({key:"C",data:[d,p,f,h,e,a]}),l=i,c=s,r=e,o=a;break}case"Q":{const[e,n,a,i]=u,s=r+2*(e-r)/3,d=o+2*(n-o)/3,p=a+2*(e-a)/3,f=i+2*(n-i)/3;t.push({key:"C",data:[s,d,p,f,a,i]}),l=e,c=n,r=a,o=i;break}case"A":{const e=Math.abs(u[0]),n=Math.abs(u[1]),a=u[2],i=u[3],l=u[4],c=u[5],s=u[6];if(0===e||0===n)t.push({key:"C",data:[r,o,c,s,c,s]}),r=c,o=s;else if(r!==c||o!==s){ve(r,o,c,s,e,n,a,i,l).forEach((function(e){t.push({key:"C",data:e})})),r=c,o=s}break}case"Z":t.push({key:"Z",data:[]}),r=a,o=i}n=s}return t}function ge(e,t,n){return[e*Math.cos(n)-t*Math.sin(n),e*Math.sin(n)+t*Math.cos(n)]}function ve(e,t,n,r,o,a,i,l,c,s){const u=(d=i,Math.PI*d/180);var d;let p=[],f=0,h=0,m=0,g=0;if(s)[f,h,m,g]=s;else{[e,t]=ge(e,t,-u),[n,r]=ge(n,r,-u);const i=(e-n)/2,s=(t-r)/2;let d=i*i/(o*o)+s*s/(a*a);d>1&&(d=Math.sqrt(d),o*=d,a*=d);const p=o*o,v=a*a,b=p*v-p*s*s-v*i*i,y=p*s*s+v*i*i,w=(l===c?-1:1)*Math.sqrt(Math.abs(b/y));m=w*o*s/a+(e+n)/2,g=w*-a*i/o+(t+r)/2,f=Math.asin(parseFloat(((t-g)/a).toFixed(9))),h=Math.asin(parseFloat(((r-g)/a).toFixed(9))),e<m&&(f=Math.PI-f),n<m&&(h=Math.PI-h),f<0&&(f=2*Math.PI+f),h<0&&(h=2*Math.PI+h),c&&f>h&&(f-=2*Math.PI),!c&&h>f&&(h-=2*Math.PI)}let v=h-f;if(Math.abs(v)>120*Math.PI/180){const e=h,t=n,l=r;h=c&&h>f?f+120*Math.PI/180*1:f+120*Math.PI/180*-1,p=ve(n=m+o*Math.cos(h),r=g+a*Math.sin(h),t,l,o,a,i,0,c,[h,e,m,g])}v=h-f;const b=Math.cos(f),y=Math.sin(f),w=Math.cos(h),x=Math.sin(h),E=Math.tan(v/4),k=4/3*o*E,S=4/3*a*E,C=[e,t],O=[e+k*y,t-S*b],M=[n+k*x,r-S*w],I=[n,r];if(O[0]=2*C[0]-O[0],O[1]=2*C[1]-O[1],s)return[O,M,I].concat(p);{p=[O,M,I].concat(p);const e=[];for(let t=0;t<p.length;t+=3){const n=ge(p[t][0],p[t][1],u),r=ge(p[t+1][0],p[t+1][1],u),o=ge(p[t+2][0],p[t+2][1],u);e.push([n[0],n[1],r[0],r[1],o[0],o[1]])}return e}}const be={randOffset:function(e,t){return Pe(e,t)},randOffsetWithRange:function(e,t,n){return Te(e,t,n)},ellipse:function(e,t,n,r,o){const a=ke(n,r,o);return Se(e,t,o,a).opset},doubleLineOps:function(e,t,n,r,o){return Ae(e,t,n,r,o,!0)}};function ye(e,t,n,r,o){return{type:"path",ops:Ae(e,t,n,r,o)}}function we(e,t,n){const r=(e||[]).length;if(r>2){const o=[];for(let t=0;t<r-1;t++)o.push(...Ae(e[t][0],e[t][1],e[t+1][0],e[t+1][1],n));return t&&o.push(...Ae(e[r-1][0],e[r-1][1],e[0][0],e[0][1],n)),{type:"path",ops:o}}return 2===r?ye(e[0][0],e[0][1],e[1][0],e[1][1],n):{type:"path",ops:[]}}function xe(e,t,n,r,o){return function(e,t){return we(e,!0,t)}([[e,t],[e+n,t],[e+n,t+r],[e,t+r]],o)}function Ee(e,t){let n=_e(e,1*(1+.2*t.roughness),t);if(!t.disableMultiStroke){const r=_e(e,1.5*(1+.22*t.roughness),function(e){const t=Object.assign({},e);t.randomizer=void 0,e.seed&&(t.seed=e.seed+1);return t}(t));n=n.concat(r)}return{type:"path",ops:n}}function ke(e,t,n){const r=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(e/2,2)+Math.pow(t/2,2))/2)),o=Math.max(n.curveStepCount,n.curveStepCount/Math.sqrt(200)*r),a=2*Math.PI/o;let i=Math.abs(e/2),l=Math.abs(t/2);const c=1-n.curveFitting;return i+=Pe(i*c,n),l+=Pe(l*c,n),{increment:a,rx:i,ry:l}}function Se(e,t,n,r){const[o,a]=je(r.increment,e,t,r.rx,r.ry,1,r.increment*Te(.1,Te(.4,1,n),n),n);let i=De(o,null,n);if(!n.disableMultiStroke){const[o]=je(r.increment,e,t,r.rx,r.ry,1.5,0,n),a=De(o,null,n);i=i.concat(a)}return{estimatedPoints:a,opset:{type:"path",ops:i}}}function Ce(e,t,n,r,o,a,i,l,c){const s=e,u=t;let d=Math.abs(n/2),p=Math.abs(r/2);d+=Pe(.01*d,c),p+=Pe(.01*p,c);let f=o,h=a;for(;f<0;)f+=2*Math.PI,h+=2*Math.PI;h-f>2*Math.PI&&(f=0,h=2*Math.PI);const m=2*Math.PI/c.curveStepCount,g=Math.min(m/2,(h-f)/2),v=ze(g,s,u,d,p,f,h,1,c);if(!c.disableMultiStroke){const e=ze(g,s,u,d,p,f,h,1.5,c);v.push(...e)}return i&&(l?v.push(...Ae(s,u,s+d*Math.cos(f),u+p*Math.sin(f),c),...Ae(s,u,s+d*Math.cos(h),u+p*Math.sin(h),c)):v.push({op:"lineTo",data:[s,u]},{op:"lineTo",data:[s+d*Math.cos(f),u+p*Math.sin(f)]})),{type:"path",ops:v}}function Oe(e,t){const n=[];if(e.length){const r=t.maxRandomnessOffset||0,o=e.length;if(o>2){n.push({op:"move",data:[e[0][0]+Pe(r,t),e[0][1]+Pe(r,t)]});for(let a=1;a<o;a++)n.push({op:"lineTo",data:[e[a][0]+Pe(r,t),e[a][1]+Pe(r,t)]})}}return{type:"fillPath",ops:n}}function Me(e,t){return function(e,t){let n=e.fillStyle||"hachure";if(!se[n])switch(n){case"zigzag":se[n]||(se[n]=new oe(t));break;case"cross-hatch":se[n]||(se[n]=new ae(t));break;case"dots":se[n]||(se[n]=new ie(t));break;case"dashed":se[n]||(se[n]=new le(t));break;case"zigzag-line":se[n]||(se[n]=new ce(t));break;case"hachure":default:n="hachure",se[n]||(se[n]=new re(t))}return se[n]}(t,be).fillPolygon(e,t)}function Ie(e){return e.randomizer||(e.randomizer=new ue(e.seed||0)),e.randomizer.next()}function Te(e,t,n,r=1){return n.roughness*r*(Ie(n)*(t-e)+e)}function Pe(e,t,n=1){return Te(-e,e,t,n)}function Ae(e,t,n,r,o,a=!1){const i=a?o.disableMultiStrokeFill:o.disableMultiStroke,l=Le(e,t,n,r,o,!0,!1);if(i)return l;const c=Le(e,t,n,r,o,!0,!0);return l.concat(c)}function Le(e,t,n,r,o,a,i){const l=Math.pow(e-n,2)+Math.pow(t-r,2),c=Math.sqrt(l);let s=1;s=c<200?1:c>500?.4:-.0016668*c+1.233334;let u=o.maxRandomnessOffset||0;u*u*100>l&&(u=c/10);const d=u/2,p=.2+.2*Ie(o);let f=o.bowing*o.maxRandomnessOffset*(r-t)/200,h=o.bowing*o.maxRandomnessOffset*(e-n)/200;f=Pe(f,o,s),h=Pe(h,o,s);const m=[],g=()=>Pe(d,o,s),v=()=>Pe(u,o,s);return a&&(i?m.push({op:"move",data:[e+g(),t+g()]}):m.push({op:"move",data:[e+Pe(u,o,s),t+Pe(u,o,s)]})),i?m.push({op:"bcurveTo",data:[f+e+(n-e)*p+g(),h+t+(r-t)*p+g(),f+e+2*(n-e)*p+g(),h+t+2*(r-t)*p+g(),n+g(),r+g()]}):m.push({op:"bcurveTo",data:[f+e+(n-e)*p+v(),h+t+(r-t)*p+v(),f+e+2*(n-e)*p+v(),h+t+2*(r-t)*p+v(),n+v(),r+v()]}),m}function _e(e,t,n){const r=[];r.push([e[0][0]+Pe(t,n),e[0][1]+Pe(t,n)]),r.push([e[0][0]+Pe(t,n),e[0][1]+Pe(t,n)]);for(let o=1;o<e.length;o++)r.push([e[o][0]+Pe(t,n),e[o][1]+Pe(t,n)]),o===e.length-1&&r.push([e[o][0]+Pe(t,n),e[o][1]+Pe(t,n)]);return De(r,null,n)}function De(e,t,n){const r=e.length,o=[];if(r>3){const a=[],i=1-n.curveTightness;o.push({op:"move",data:[e[1][0],e[1][1]]});for(let t=1;t+2<r;t++){const n=e[t];a[0]=[n[0],n[1]],a[1]=[n[0]+(i*e[t+1][0]-i*e[t-1][0])/6,n[1]+(i*e[t+1][1]-i*e[t-1][1])/6],a[2]=[e[t+1][0]+(i*e[t][0]-i*e[t+2][0])/6,e[t+1][1]+(i*e[t][1]-i*e[t+2][1])/6],a[3]=[e[t+1][0],e[t+1][1]],o.push({op:"bcurveTo",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(t&&2===t.length){const e=n.maxRandomnessOffset;o.push({op:"lineTo",data:[t[0]+Pe(e,n),t[1]+Pe(e,n)]})}}else 3===r?(o.push({op:"move",data:[e[1][0],e[1][1]]}),o.push({op:"bcurveTo",data:[e[1][0],e[1][1],e[2][0],e[2][1],e[2][0],e[2][1]]})):2===r&&o.push(...Ae(e[0][0],e[0][1],e[1][0],e[1][1],n));return o}function je(e,t,n,r,o,a,i,l){const c=[],s=[],u=Pe(.5,l)-Math.PI/2;s.push([Pe(a,l)+t+.9*r*Math.cos(u-e),Pe(a,l)+n+.9*o*Math.sin(u-e)]);for(let i=u;i<2*Math.PI+u-.01;i+=e){const e=[Pe(a,l)+t+r*Math.cos(i),Pe(a,l)+n+o*Math.sin(i)];c.push(e),s.push(e)}return s.push([Pe(a,l)+t+r*Math.cos(u+2*Math.PI+.5*i),Pe(a,l)+n+o*Math.sin(u+2*Math.PI+.5*i)]),s.push([Pe(a,l)+t+.98*r*Math.cos(u+i),Pe(a,l)+n+.98*o*Math.sin(u+i)]),s.push([Pe(a,l)+t+.9*r*Math.cos(u+.5*i),Pe(a,l)+n+.9*o*Math.sin(u+.5*i)]),[s,c]}function ze(e,t,n,r,o,a,i,l,c){const s=a+Pe(.1,c),u=[];u.push([Pe(l,c)+t+.9*r*Math.cos(s-e),Pe(l,c)+n+.9*o*Math.sin(s-e)]);for(let a=s;a<=i;a+=e)u.push([Pe(l,c)+t+r*Math.cos(a),Pe(l,c)+n+o*Math.sin(a)]);return u.push([t+r*Math.cos(i),n+o*Math.sin(i)]),u.push([t+r*Math.cos(i),n+o*Math.sin(i)]),De(u,null,c)}function Be(e,t,n,r,o,a,i,l){const c=[],s=[l.maxRandomnessOffset||1,(l.maxRandomnessOffset||1)+.3];let u=[0,0];const d=l.disableMultiStroke?1:2;for(let p=0;p<d;p++)0===p?c.push({op:"move",data:[i[0],i[1]]}):c.push({op:"move",data:[i[0]+Pe(s[0],l),i[1]+Pe(s[0],l)]}),u=[o+Pe(s[p],l),a+Pe(s[p],l)],c.push({op:"bcurveTo",data:[e+Pe(s[p],l),t+Pe(s[p],l),n+Pe(s[p],l),r+Pe(s[p],l),u[0],u[1]]});return c}function He(e){return[...e]}const Ne="none";class Re{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,combineNestedSvgPaths:!1,disableMultiStroke:!1,disableMultiStrokeFill:!1},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,t,n){return{shape:e,sets:t||[],options:n||this.defaultOptions}}line(e,t,n,r,o){const a=this._o(o);return this._d("line",[ye(e,t,n,r,a)],a)}rectangle(e,t,n,r,o){const a=this._o(o),i=[],l=xe(e,t,n,r,a);if(a.fill){const o=[[e,t],[e+n,t],[e+n,t+r],[e,t+r]];"solid"===a.fillStyle?i.push(Oe(o,a)):i.push(Me(o,a))}return a.stroke!==Ne&&i.push(l),this._d("rectangle",i,a)}ellipse(e,t,n,r,o){const a=this._o(o),i=[],l=ke(n,r,a),c=Se(e,t,a,l);if(a.fill)if("solid"===a.fillStyle){const n=Se(e,t,a,l).opset;n.type="fillPath",i.push(n)}else i.push(Me(c.estimatedPoints,a));return a.stroke!==Ne&&i.push(c.opset),this._d("ellipse",i,a)}circle(e,t,n,r){const o=this.ellipse(e,t,n,n,r);return o.shape="circle",o}linearPath(e,t){const n=this._o(t);return this._d("linearPath",[we(e,!1,n)],n)}arc(e,t,n,r,o,a,i=!1,l){const c=this._o(l),s=[],u=Ce(e,t,n,r,o,a,i,!0,c);if(i&&c.fill)if("solid"===c.fillStyle){const i=Ce(e,t,n,r,o,a,!0,!1,c);i.type="fillPath",s.push(i)}else s.push(function(e,t,n,r,o,a,i){const l=e,c=t;let s=Math.abs(n/2),u=Math.abs(r/2);s+=Pe(.01*s,i),u+=Pe(.01*u,i);let d=o,p=a;for(;d<0;)d+=2*Math.PI,p+=2*Math.PI;p-d>2*Math.PI&&(d=0,p=2*Math.PI);const f=(p-d)/i.curveStepCount,h=[];for(let e=d;e<=p;e+=f)h.push([l+s*Math.cos(e),c+u*Math.sin(e)]);return h.push([l+s*Math.cos(p),c+u*Math.sin(p)]),h.push([l,c]),Me(h,i)}(e,t,n,r,o,a,c));return c.stroke!==Ne&&s.push(u),this._d("arc",s,c)}curve(e,t){const n=this._o(t),r=[],o=Ee(e,n);if(n.fill&&n.fill!==Ne&&e.length>=3){const t=Z(function(e,t=0){const n=e.length;if(n<3)throw new Error("A curve must have at least three points.");const r=[];if(3===n)r.push(He(e[0]),He(e[1]),He(e[2]),He(e[2]));else{const n=[];n.push(e[0],e[0]);for(let t=1;t<e.length;t++)n.push(e[t]),t===e.length-1&&n.push(e[t]);const o=[],a=1-t;r.push(He(n[0]));for(let e=1;e+2<n.length;e++){const t=n[e];o[0]=[t[0],t[1]],o[1]=[t[0]+(a*n[e+1][0]-a*n[e-1][0])/6,t[1]+(a*n[e+1][1]-a*n[e-1][1])/6],o[2]=[n[e+1][0]+(a*n[e][0]-a*n[e+2][0])/6,n[e+1][1]+(a*n[e][1]-a*n[e+2][1])/6],o[3]=[n[e+1][0],n[e+1][1]],r.push(o[1],o[2],o[3])}}return r}(e),10,(1+n.roughness)/2);"solid"===n.fillStyle?r.push(Oe(t,n)):r.push(Me(t,n))}return n.stroke!==Ne&&r.push(o),this._d("curve",r,n)}polygon(e,t){const n=this._o(t),r=[],o=we(e,!0,n);return n.fill&&("solid"===n.fillStyle?r.push(Oe(e,n)):r.push(Me(e,n))),n.stroke!==Ne&&r.push(o),this._d("polygon",r,n)}path(e,t){const n=this._o(t),r=[];if(!e)return this._d("path",r,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const o=n.fill&&"transparent"!==n.fill&&n.fill!==Ne,a=n.stroke!==Ne,i=!!(n.simplification&&n.simplification<1),l=function(e,t,n){const r=me(he(fe(e))),o=[];let a=[],i=[0,0],l=[];const c=()=>{l.length>=4&&a.push(...Z(l,t)),l=[]},s=()=>{c(),a.length&&(o.push(a),a=[])};for(const{key:e,data:t}of r)switch(e){case"M":s(),i=[t[0],t[1]],a.push(i);break;case"L":c(),a.push([t[0],t[1]]);break;case"C":if(!l.length){const e=a.length?a[a.length-1]:i;l.push([e[0],e[1]])}l.push([t[0],t[1]]),l.push([t[2],t[3]]),l.push([t[4],t[5]]);break;case"Z":c(),a.push([i[0],i[1]])}if(s(),!n)return o;const u=[];for(const e of o){const t=U(e,n);t.length&&u.push(t)}return u}(e,1,i?4-4*n.simplification:(1+n.roughness)/2);if(o)if(n.combineNestedSvgPaths){const e=[];l.forEach((t=>e.push(...t))),"solid"===n.fillStyle?r.push(Oe(e,n)):r.push(Me(e,n))}else l.forEach((e=>{"solid"===n.fillStyle?r.push(Oe(e,n)):r.push(Me(e,n))}));return a&&(i?l.forEach((e=>{r.push(we(e,!1,n))})):r.push(function(e,t){const n=me(he(fe(e))),r=[];let o=[0,0],a=[0,0];for(const{key:e,data:i}of n)switch(e){case"M":{const e=1*(t.maxRandomnessOffset||0);r.push({op:"move",data:i.map((n=>n+Pe(e,t)))}),a=[i[0],i[1]],o=[i[0],i[1]];break}case"L":r.push(...Ae(a[0],a[1],i[0],i[1],t)),a=[i[0],i[1]];break;case"C":{const[e,n,o,l,c,s]=i;r.push(...Be(e,n,o,l,c,s,a,t)),a=[c,s];break}case"Z":r.push(...Ae(a[0],a[1],o[0],o[1],t)),a=[o[0],o[1]]}return{type:"path",ops:r}}(e,n))),this._d("path",r,n)}opsToPath(e){let t="";for(const n of e.ops){const e=n.data;switch(n.op){case"move":t+=`M${e[0]} ${e[1]} `;break;case"bcurveTo":t+=`C${e[0]} ${e[1]}, ${e[2]} ${e[3]}, ${e[4]} ${e[5]} `;break;case"lineTo":t+=`L${e[0]} ${e[1]} `}}return t.trim()}toPaths(e){const t=e.sets||[],n=e.options||this.defaultOptions,r=[];for(const e of t){let t=null;switch(e.type){case"path":t={d:this.opsToPath(e),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:Ne};break;case"fillPath":t={d:this.opsToPath(e),stroke:Ne,strokeWidth:0,fill:n.fill||Ne};break;case"fillSketch":t=this.fillSketch(e,n)}t&&r.push(t)}return r}fillSketch(e,t){let n=t.fillWeight;return n<0&&(n=t.strokeWidth/2),{d:this.opsToPath(e),stroke:t.fill||Ne,strokeWidth:n,fill:Ne}}}class Fe{constructor(e,t){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new Re(t)}draw(e){const t=e.sets||[],n=e.options||this.getDefaultOptions(),r=this.ctx;for(const o of t)switch(o.type){case"path":r.save(),r.strokeStyle="none"===n.stroke?"transparent":n.stroke,r.lineWidth=n.strokeWidth,n.strokeLineDash&&r.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(r.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(r,o),r.restore();break;case"fillPath":r.save(),r.fillStyle=n.fill||"";const t="curve"===e.shape||"polygon"===e.shape?"evenodd":"nonzero";this._drawToContext(r,o,t),r.restore();break;case"fillSketch":this.fillSketch(r,o,n)}}fillSketch(e,t,n){let r=n.fillWeight;r<0&&(r=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=r,this._drawToContext(e,t),e.restore()}_drawToContext(e,t,n="nonzero"){e.beginPath();for(const n of t.ops){const t=n.data;switch(n.op){case"move":e.moveTo(t[0],t[1]);break;case"bcurveTo":e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]);break;case"lineTo":e.lineTo(t[0],t[1])}}"fillPath"===t.type?e.fill(n):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,t,n,r,o){const a=this.gen.line(e,t,n,r,o);return this.draw(a),a}rectangle(e,t,n,r,o){const a=this.gen.rectangle(e,t,n,r,o);return this.draw(a),a}ellipse(e,t,n,r,o){const a=this.gen.ellipse(e,t,n,r,o);return this.draw(a),a}circle(e,t,n,r){const o=this.gen.circle(e,t,n,r);return this.draw(o),o}linearPath(e,t){const n=this.gen.linearPath(e,t);return this.draw(n),n}polygon(e,t){const n=this.gen.polygon(e,t);return this.draw(n),n}arc(e,t,n,r,o,a,i=!1,l){const c=this.gen.arc(e,t,n,r,o,a,i,l);return this.draw(c),c}curve(e,t){const n=this.gen.curve(e,t);return this.draw(n),n}path(e,t){const n=this.gen.path(e,t);return this.draw(n),n}}const We="http://www.w3.org/2000/svg";class Ge{constructor(e,t){this.svg=e,this.gen=new Re(t)}draw(e){const t=e.sets||[],n=e.options||this.getDefaultOptions(),r=this.svg.ownerDocument||window.document,o=r.createElementNS(We,"g");for(const a of t){let t=null;switch(a.type){case"path":t=r.createElementNS(We,"path"),t.setAttribute("d",this.opsToPath(a)),t.setAttribute("stroke",n.stroke),t.setAttribute("stroke-width",n.strokeWidth+""),t.setAttribute("fill","none"),n.strokeLineDash&&t.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&t.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":t=r.createElementNS(We,"path"),t.setAttribute("d",this.opsToPath(a)),t.setAttribute("stroke","none"),t.setAttribute("stroke-width","0"),t.setAttribute("fill",n.fill||""),"curve"!==e.shape&&"polygon"!==e.shape||t.setAttribute("fill-rule","evenodd");break;case"fillSketch":t=this.fillSketch(r,a,n)}t&&o.appendChild(t)}return o}fillSketch(e,t,n){let r=n.fillWeight;r<0&&(r=n.strokeWidth/2);const o=e.createElementNS(We,"path");return o.setAttribute("d",this.opsToPath(t)),o.setAttribute("stroke",n.fill||""),o.setAttribute("stroke-width",r+""),o.setAttribute("fill","none"),n.fillLineDash&&o.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&o.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),o}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e){return this.gen.opsToPath(e)}line(e,t,n,r,o){const a=this.gen.line(e,t,n,r,o);return this.draw(a)}rectangle(e,t,n,r,o){const a=this.gen.rectangle(e,t,n,r,o);return this.draw(a)}ellipse(e,t,n,r,o){const a=this.gen.ellipse(e,t,n,r,o);return this.draw(a)}circle(e,t,n,r){const o=this.gen.circle(e,t,n,r);return this.draw(o)}linearPath(e,t){const n=this.gen.linearPath(e,t);return this.draw(n)}polygon(e,t){const n=this.gen.polygon(e,t);return this.draw(n)}arc(e,t,n,r,o,a,i=!1,l){const c=this.gen.arc(e,t,n,r,o,a,i,l);return this.draw(c)}curve(e,t){const n=this.gen.curve(e,t);return this.draw(n)}path(e,t){const n=this.gen.path(e,t);return this.draw(n)}}var Ve={canvas:(e,t)=>new Fe(e,t),svg:(e,t)=>new Ge(e,t),generator:e=>new Re(e),newSeed:()=>Re.newSeed()};function Ke(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=Ke(e[t]))&&(r&&(r+=" "),r+=n);else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}function Ue(){for(var e,t,n=0,r="";n<arguments.length;)(e=arguments[n++])&&(t=Ke(e))&&(r&&(r+=" "),r+=t);return r}var Ye=function(e){return null!=e&&"text"===e.type},Ze=function(e){return null!=e&&Xe(e.type)},Xe=function(e){return"arrow"===e||"line"===e||"draw"===e},qe=function(e){return null!=e&&$e(e.type)},$e=function(e){return"arrow"===e},Qe=function(e){return null!=e&&("rectangle"===e.type||"diamond"===e.type||"ellipse"===e.type||"text"===e.type)},Je=function(e,t,n,r,o){return[(e-n)*Math.cos(o)-(t-r)*Math.sin(o)+n,(e-n)*Math.sin(o)+(t-r)*Math.cos(o)+r]},et=function(e,t,n){return Je(e[0],e[1],t[0],t[1],n)},tt=function(e,t,n,r,o,a,i,l){var c=Math.cos(r),s=Math.sin(r);return e.e&&e.w?t+=o+i:e.e?(t+=o*(1+c),n+=o*s,t+=i*(1-c),n+=i*-s):e.w&&(t+=o*(1-c),n+=o*-s,t+=i*(1+c),n+=i*s),e.n&&e.s?n+=a+l:e.n?(t+=a*s,n+=a*(1-c),t+=l*-s,n+=l*(1+c)):e.s&&(t+=a*-s,n+=a*(1+c),t+=l*s,n+=l*(1-c)),[t,n]},nt=function(e,t,n,r){var o=n-e,a=r-t;return Math.hypot(o,a)},rt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(e.length>=3){var n=[e[0],e[e.length-1]],r=n[0],o=n[1],a=nt(r[0],r[1],o[0],o[1]);return a<=s.qx/t}return!1},ot=function(e,t,n){var r=e.length;if(r<3)return!1;for(var o=[Number.MAX_SAFE_INTEGER,n],a=[t,n],i=0,l=0;l<r;l++){var c=e[l],s=e[(l+1)%r];if(lt(c,s,a,o)){if(0===it(c,a,s))return at(c,a,s);i++}}return i%2==1},at=function(e,t,n){return t[0]<=Math.max(e[0],n[0])&&t[0]>=Math.min(e[0],n[0])&&t[1]<=Math.max(e[1],n[1])&&t[1]>=Math.min(e[1],n[1])},it=function(e,t,n){var r=(t[1]-e[1])*(n[0]-t[0])-(t[0]-e[0])*(n[1]-t[1]);return 0===r?0:r>0?1:2},lt=function(e,t,n,r){var o=it(e,t,n),a=it(e,t,r),i=it(n,r,e),l=it(n,r,t);return o!==a&&i!==l||(!(0!==o||!at(e,n,t))||(!(0!==a||!at(e,r,t))||(!(0!==i||!at(n,e,r))||!(0!==l||!at(n,t,r)))))},ct=function(e,t,n){return n?[Math.round(e/n)*n,Math.round(t/n)*n]:[e,t]},st=function(e,t,n){var r=n.map((function(t){return t[e]})),o=Math.max.apply(Math,R(r)),a=Math.min.apply(Math,R(r)),i=o-a,l=0===i?1:t/i,c=1/0,s=n.map((function(t){return t.map((function(t,n){if(n!==e)return t;var r=t*l;return c=Math.min(r,c),r}))}));if(2===s.length)return s;var u=a-c;return s.map((function(t){return t.map((function(t,n){return n===e?t+u:t}))}))};function ut(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return dt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return dt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var pt=function(e){return Ze(e)?mt(e):[e.x,e.y,e.x+e.width,e.y+e.height]},ft=function(e){var t,n=ut(e.sets);try{for(n.s();!(t=n.n()).done;){var r=t.value;if("path"===r.type)return r.ops}}catch(e){n.e(e)}finally{n.f()}return e.sets[0].ops},ht=function(e,t){var n=[0,0],r=e.reduce((function(e,r){var o=r.op,a=r.data;if("move"===o)n=a;else if("bcurveTo"===o){var i=[a[0],a[1]],l=[a[2],a[3]],c=[a[4],a[5]],s=n;n=c;for(var u=function(e,t){return Math.pow(1-e,3)*c[t]+3*e*Math.pow(1-e,2)*l[t]+3*Math.pow(e,2)*(1-e)*i[t]+s[t]*Math.pow(e,3)},d=0;d<=1;){var p=u(d,0),f=u(d,1);if(t){var h=N(t(p,f),2);p=h[0],f=h[1]}e.minY=Math.min(e.minY,f),e.minX=Math.min(e.minX,p),e.maxX=Math.max(e.maxX,p),e.maxY=Math.max(e.maxY,f),d+=.1}}return e}),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return[r.minX,r.minY,r.maxX,r.maxY]},mt=function(e){if(e.points.length<2||!pr(e)){var t=e.points.reduce((function(e,t){var n=N(t,2),r=n[0],o=n[1];return e.minY=Math.min(e.minY,o),e.minX=Math.min(e.minX,r),e.maxX=Math.max(e.maxX,r),e.maxY=Math.max(e.maxY,o),e}),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}),n=t.minX,r=t.minY,o=t.maxX,a=t.maxY;return[n+e.x,r+e.y,o+e.x,a+e.y]}var i=pr(e),l=ft(i[0]),c=N(ht(l),4),s=c[0],u=c[1],d=c[2],p=c[3];return[s+e.x,u+e.y,d+e.x,p+e.y]},gt=function(e){var t=N(pt(e),4),n=t[0],r=t[1],o=t[2],a=t[3],i=(n+o)/2,l=(r+a)/2;if(Ze(e))return function(e,t,n){if(e.points.length<2||!pr(e)){var r=e.points.reduce((function(r,o){var a=N(o,2),i=a[0],l=a[1],c=N(Je(e.x+i,e.y+l,t,n,e.angle),2);return i=c[0],l=c[1],r.minY=Math.min(r.minY,l),r.minX=Math.min(r.minX,i),r.maxX=Math.max(r.maxX,i),r.maxY=Math.max(r.maxY,l),r}),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return[r.minX,r.minY,r.maxX,r.maxY]}var o=pr(e),a=ft(o[0]);return ht(a,(function(r,o){return Je(e.x+r,e.y+o,t,n,e.angle)}))}(e,i,l);if("diamond"===e.type){var c=N(Je(i,r,i,l,e.angle),2),s=c[0],u=c[1],d=N(Je(i,a,i,l,e.angle),2),p=d[0],f=d[1],h=N(Je(n,l,i,l,e.angle),2),m=h[0],g=h[1],v=N(Je(o,l,i,l,e.angle),2),b=v[0],y=v[1];return[Math.min(s,p,m,b),Math.min(u,f,g,y),Math.max(s,p,m,b),Math.max(u,f,g,y)]}if("ellipse"===e.type){var w=(o-n)/2,x=(a-r)/2,E=Math.cos(e.angle),k=Math.sin(e.angle),S=Math.hypot(w*E,x*k),C=Math.hypot(x*E,w*k);return[i-S,l-C,i+S,l+C]}var O=N(Je(n,r,i,l,e.angle),2),M=O[0],I=O[1],T=N(Je(n,a,i,l,e.angle),2),P=T[0],A=T[1],L=N(Je(o,a,i,l,e.angle),2),_=L[0],D=L[1],j=N(Je(o,r,i,l,e.angle),2),z=j[0],B=j[1];return[Math.min(M,P,_,z),Math.min(I,A,D,B),Math.max(M,P,_,z),Math.max(I,A,D,B)]},vt=function(e){if(!e.length)return[0,0,0,0];var t=1/0,n=-1/0,r=1/0,o=-1/0;return e.forEach((function(e){var a=N(gt(e),4),i=a[0],l=a[1],c=a[2],s=a[3];t=Math.min(t,i),r=Math.min(r,l),n=Math.max(n,c),o=Math.max(o,s)})),[t,r,n,o]},bt=function(e,t,n){if(!Ze(e))return[e.x,e.y,e.x+t,e.y+n];var r=st(0,t,st(1,n,e.points)),o=Ve.generator(),a="sharp"===e.strokeSharpness?o.linearPath(r,hr(e)):o.curve(r,hr(e)),i=ft(a),l=N(ht(i),4),c=l[0],s=l[1],u=l[2],d=l[3];return[c+e.x,s+e.y,u+e.x,d+e.y]},yt=function(e,t,n){var r=Ve.generator(),o="sharp"===n?r.linearPath(t,hr(e)):r.curve(t,hr(e)),a=ft(o),i=N(ht(a),4),l=i[0],c=i[1],s=i[2],u=i[3];return[l+e.x,c+e.y,s+e.x,u+e.y]},wt=JSON.parse('{"ix":"#ffffff","Sn":"#000000","MA":["#f8f9fa","#f1f3f5",0,0,"#ced4da","#adb5bd","#868e96","#495057","#343a40"],"Q6":["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],"iQ":["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],"pl":["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],"ht":["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],"QN":["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],"iN":["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],"sl":["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],"$C":["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],"ek":["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],"LR":["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],"er":["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],"$y":["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]}'),xt=function(e){return[wt.Q6[e],wt.iQ[e],wt.pl[e],wt.ht[e],wt.QN[e],wt.iN[e],wt.sl[e],wt.$C[e],wt.ek[e],wt.LR[e],wt.er[e],wt.$y[e]]},Et={canvasBackground:[wt.ix,wt.MA[0],wt.MA[1]].concat(R(xt(0))),elementBackground:["transparent",wt.MA[4],wt.MA[6]].concat(R(xt(6))),elementStroke:[wt.Sn,wt.MA[8],wt.MA[7]].concat(R(xt(9)))},kt=n(6207),St=/Mac|iPod|iPhone|iPad/.test(window.navigator.platform),Ct=/^Win/.test(window.navigator.platform),Ot="Equal",Mt="Minus",It="NumpadAdd",Tt="NumpadSubtract",Pt="Numpad0",At="BracketRight",Lt="BracketLeft",_t="Digit1",Dt="Digit2",jt="Digit9",zt="Quote",Bt="Digit0",Ht="KeyC",Nt="KeyG",Rt="KeyF",Ft="KeyH",Wt="KeyV",Gt="KeyX",Vt="KeyZ",Kt="KeyR",Ut="ArrowDown",Yt="ArrowLeft",Zt="ArrowRight",Xt="ArrowUp",qt="Backspace",$t="Alt",Qt=St?"metaKey":"ctrlKey",Jt="Delete",en="Enter",tn="Escape",nn="?",rn=" ",on="Tab",an="a",ln="d",cn="e",sn="l",un="o",dn="p",pn="q",fn="r",hn="s",mn="t",gn="v",vn="x",bn="y",yn="z",wn=function(e){return e===Yt||e===Zt||e===Ut||e===Xt},xn=function(e){return e.altKey},En=function(e){return e.shiftKey},kn=function(e){return e.shiftKey},Sn="http://www.w3.org/2000/svg",Cn=null,On=function(){if(Cn)return Cn;var e=new Date,t=e.getFullYear(),n="".concat(e.getMonth()+1).padStart(2,"0"),r="".concat(e.getDate()).padStart(2,"0"),o="".concat(e.getHours()).padStart(2,"0"),a="".concat(e.getMinutes()).padStart(2,"0");return"".concat(t,"-").concat(n,"-").concat(r,"-").concat(o).concat(a)},Mn=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},In=function(e){return e instanceof HTMLElement&&"wysiwyg"===e.dataset.type||e instanceof HTMLBRElement||e instanceof HTMLTextAreaElement||e instanceof HTMLInputElement&&("text"===e.type||"number"===e.type)},Tn=function(e){var t=e.fontFamily;return"".concat(s.ut[t],", ").concat(s._D)},Pn=function(e){var t=e.fontSize,n=e.fontFamily;return"".concat(t,"px ").concat(Tn({fontFamily:n}))},An=function(e,t){var n=document.createElement("div"),r=document.body;n.style.position="absolute",n.style.whiteSpace="pre",n.style.font=t,r.appendChild(n),n.innerText=e.split("\n").map((function(e){return e||" "})).join("\n");var o=n.offsetWidth,a=n.offsetHeight,i=document.createElement("span");i.style.display="inline-block",i.style.overflow="hidden",i.style.width="1px",i.style.height="1px",n.appendChild(i);var l=i.offsetTop+i.offsetHeight;return document.body.removeChild(n),{width:o,height:a,baseline:l}},Ln=function(e,t){var n,r=0,o=function(){for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];n=a,clearTimeout(r),r=window.setTimeout((function(){return e.apply(void 0,a)}),t)};return o.flush=function(){clearTimeout(r),n&&e.apply(void 0,R(n||[]))},o.cancel=function(){clearTimeout(r)},o},_n=function(e){var t=window.getSelection();if(t){var n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)}},Dn=function(){var e=window.getSelection();e&&e.removeAllRanges()},jn=function(e,t){return Math.abs(e-t)},zn=function(){document.documentElement.style.cursor=""},Bn=function(e){"selection"===e?zn():document.documentElement.style.cursor=s.oc.CROSSHAIR},Hn=function(){var e;return"HTML"===(null===(e=document.fullscreenElement)||void 0===e?void 0:e.nodeName)},Nn=function(e){return e=e.replace(/\bAlt\b/i,"Alt").replace(/\bShift\b/i,"Shift").replace(/\b(Enter|Return)\b/i,"Enter").replace(/\bDel\b/i,"Delete"),St?e.replace(/\bCtrlOrCmd\b/i,"Cmd").replace(/\bAlt\b/i,"Option"):e.replace(/\bCtrlOrCmd\b/i,"Ctrl")},Rn=function(e,t){var n=e.clientX,r=e.clientY,o=t.zoom,a=t.offsetLeft,i=t.offsetTop,l=t.scrollX,c=t.scrollY,s=1/o.value;return{x:(n-o.translation.x-a)*s-l,y:(r-o.translation.y-i)*s-c}},Fn=function(e,t){var n=e.sceneX,r=e.sceneY,o=t.zoom,a=t.offsetLeft,i=t.offsetTop,l=t.scrollX,c=t.scrollY;return{x:(n+l+a)*o.value+o.translation.x,y:(r+c+i)*o.value+o.translation.y}},Wn=function(e){return getComputedStyle(document.documentElement).getPropertyValue("--".concat(e))},Gn=new RegExp("^[^".concat("A-Za-zÀ-ÖØ-öø-ʸ̀-ࠀ-Ⰰ-﷾--","]*[").concat("֑-߿יִ-﷽ﹰ-ﻼ","]")),Vn=function(e){return Gn.test(e)},Kn=function(e){var t=N(e,2);return{x:t[0],y:t[1]}},Un=function(e){if("AbortError"!==(null==e?void 0:e.name))throw e},Yn=function(e){return function(t){(0,kt.unstable_batchedUpdates)(e,t)}},Zn=function(e,t){var n,r=[{value:1,symbol:"b"},{value:1e3,symbol:"k"},{value:1e6,symbol:"M"},{value:1e9,symbol:"G"}];for(n=r.length-1;n>0&&!(e>=r[n].value);n--);return(e/r[n].value).toFixed(t).replace(/\.0+$|(\.[0-9]*[1-9])0+$/,"$1")+r[n].symbol},Xn=function(){var e;return(null===(e=document.querySelector('meta[name="version"]'))||void 0===e?void 0:e.content)||s.eQ};function qn(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return $n(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $n(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function $n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Qn=function(){return{appearance:"light",collaborators:new Map,currentChartType:"bar",currentItemBackgroundColor:"transparent",currentItemEndArrowhead:"arrow",currentItemFillStyle:"hachure",currentItemFontFamily:s.rk,currentItemFontSize:s.n5,currentItemLinearStrokeSharpness:"round",currentItemOpacity:100,currentItemRoughness:1,currentItemStartArrowhead:null,currentItemStrokeColor:wt.Sn,currentItemStrokeSharpness:"sharp",currentItemStrokeStyle:"solid",currentItemStrokeWidth:1,currentItemTextAlign:s.Hg,cursorButton:"up",draggingElement:null,editingElement:null,editingGroupId:null,editingLinearElement:null,elementLocked:!1,elementType:"selection",errorMessage:null,exportBackground:!0,exportEmbedScene:!1,exportWithDarkMode:!1,fileHandle:null,gridSize:null,height:window.innerHeight,isBindingEnabled:!0,isLibraryOpen:!1,isLoading:!1,isResizing:!1,isRotating:!1,lastPointerDownWith:"mouse",multiElement:null,name:"".concat(_("labels.untitled"),"-").concat(On()),openMenu:null,pasteDialog:{shown:!1,data:null},previousSelectedElementIds:{},resizingElement:null,scrolledOutside:!1,scrollX:0,scrollY:0,selectedElementIds:{},selectedGroupIds:{},selectionElement:null,shouldAddWatermark:!1,shouldCacheIgnoreZoom:!1,showHelpDialog:!1,showStats:!1,startBoundElement:null,suggestedBindings:[],toastMessage:null,viewBackgroundColor:wt.ix,width:window.innerWidth,zenModeEnabled:!1,zoom:{value:1,translation:{x:0,y:0}},viewModeEnabled:!1}},Jn={appearance:{browser:!0,export:!1},collaborators:{browser:!1,export:!1},currentChartType:{browser:!0,export:!1},currentItemBackgroundColor:{browser:!0,export:!1},currentItemEndArrowhead:{browser:!0,export:!1},currentItemFillStyle:{browser:!0,export:!1},currentItemFontFamily:{browser:!0,export:!1},currentItemFontSize:{browser:!0,export:!1},currentItemLinearStrokeSharpness:{browser:!0,export:!1},currentItemOpacity:{browser:!0,export:!1},currentItemRoughness:{browser:!0,export:!1},currentItemStartArrowhead:{browser:!0,export:!1},currentItemStrokeColor:{browser:!0,export:!1},currentItemStrokeSharpness:{browser:!0,export:!1},currentItemStrokeStyle:{browser:!0,export:!1},currentItemStrokeWidth:{browser:!0,export:!1},currentItemTextAlign:{browser:!0,export:!1},cursorButton:{browser:!0,export:!1},draggingElement:{browser:!1,export:!1},editingElement:{browser:!1,export:!1},editingGroupId:{browser:!0,export:!1},editingLinearElement:{browser:!1,export:!1},elementLocked:{browser:!0,export:!1},elementType:{browser:!0,export:!1},errorMessage:{browser:!1,export:!1},exportBackground:{browser:!0,export:!1},exportEmbedScene:{browser:!0,export:!1},exportWithDarkMode:{browser:!0,export:!1},fileHandle:{browser:!1,export:!1},gridSize:{browser:!0,export:!0},height:{browser:!1,export:!1},isBindingEnabled:{browser:!1,export:!1},isLibraryOpen:{browser:!1,export:!1},isLoading:{browser:!1,export:!1},isResizing:{browser:!1,export:!1},isRotating:{browser:!1,export:!1},lastPointerDownWith:{browser:!0,export:!1},multiElement:{browser:!1,export:!1},name:{browser:!0,export:!1},offsetLeft:{browser:!1,export:!1},offsetTop:{browser:!1,export:!1},openMenu:{browser:!0,export:!1},pasteDialog:{browser:!1,export:!1},previousSelectedElementIds:{browser:!0,export:!1},resizingElement:{browser:!1,export:!1},scrolledOutside:{browser:!0,export:!1},scrollX:{browser:!0,export:!1},scrollY:{browser:!0,export:!1},selectedElementIds:{browser:!0,export:!1},selectedGroupIds:{browser:!0,export:!1},selectionElement:{browser:!1,export:!1},shouldAddWatermark:{browser:!0,export:!1},shouldCacheIgnoreZoom:{browser:!0,export:!1},showHelpDialog:{browser:!1,export:!1},showStats:{browser:!0,export:!1},startBoundElement:{browser:!1,export:!1},suggestedBindings:{browser:!1,export:!1},toastMessage:{browser:!1,export:!1},viewBackgroundColor:{browser:!0,export:!0},width:{browser:!1,export:!1},zenModeEnabled:{browser:!0,export:!1},zoom:{browser:!0,export:!1},viewModeEnabled:{browser:!1,export:!1}},er=function(e,t){var n,r={},o=qn(Object.keys(e));try{for(o.s();!(n=o.n()).done;){var a=n.value,i=Jn[a];null!=i&&i[t]&&(r[a]=e[a])}}catch(e){o.e(e)}finally{o.f()}return r},tr=function(e){return er(e,"browser")},nr=function(e){return er(e,"export")};function rr(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 or(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rr(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ar=Qn(),ir=20,lr=[12,8],cr=[3,6],sr=function(e,t,n){switch(n.globalAlpha=e.opacity/100,e.type){case"rectangle":case"diamond":case"ellipse":t.draw(pr(e));break;case"arrow":case"draw":case"line":pr(e).forEach((function(e){t.draw(e)}));break;default:if(!Ye(e))throw new Error("Unimplemented type ".concat(e.type));var r=Vn(e.text),o=r&&!n.canvas.isConnected;o&&document.body.appendChild(n.canvas),n.canvas.setAttribute("dir",r?"rtl":"ltr");var a=n.font;n.font=Pn(e);var i=n.fillStyle;n.fillStyle=e.strokeColor;var l=n.textAlign;n.textAlign=e.textAlign;for(var c=e.text.replace(/\r\n?/g,"\n").split("\n"),s=e.height/c.length,u=e.height-e.baseline,d="center"===e.textAlign?e.width/2:"right"===e.textAlign?e.width:0,p=0;p<c.length;p++)n.fillText(c[p],d,(p+1)*s-u);n.fillStyle=i,n.font=a,n.textAlign=l,o&&n.canvas.remove()}n.globalAlpha=1},ur=new WeakMap,dr=new WeakMap,pr=function(e){return dr.get(e)},fr=function(e){return dr.delete(e)},hr=function(e){var t={seed:e.seed,strokeLineDash:"dashed"===e.strokeStyle?lr:"dotted"===e.strokeStyle?cr:void 0,disableMultiStroke:"solid"!==e.strokeStyle,strokeWidth:"solid"!==e.strokeStyle?e.strokeWidth+.5:e.strokeWidth,fillWeight:e.strokeWidth/2,hachureGap:4*e.strokeWidth,roughness:e.roughness,stroke:e.strokeColor};switch(e.type){case"rectangle":case"diamond":case"ellipse":return t.fillStyle=e.fillStyle,t.fill="transparent"===e.backgroundColor?void 0:e.backgroundColor,"ellipse"===e.type&&(t.curveFitting=1),t;case"line":case"draw":return rt(e.points)&&(t.fillStyle=e.fillStyle,t.fill="transparent"===e.backgroundColor?void 0:e.backgroundColor),t;case"arrow":return t;default:throw new Error("Unimplemented type ".concat(e.type))}},mr=function(e,t){var n=dr.get(e)||null;if(!n){switch(ur.delete(e),e.type){case"rectangle":if("round"===e.strokeSharpness){var r=e.width,o=e.height,a=.25*Math.min(r,o);n=t.path("M ".concat(a," 0 L ").concat(r-a," 0 Q ").concat(r," 0, ").concat(r," ").concat(a," L ").concat(r," ").concat(o-a," Q ").concat(r," ").concat(o,", ").concat(r-a," ").concat(o," L ").concat(a," ").concat(o," Q 0 ").concat(o,", 0 ").concat(o-a," L 0 ").concat(a," Q 0 0, ").concat(a," 0"),hr(e))}else n=t.rectangle(0,0,e.width,e.height,hr(e));break;case"diamond":var i=N(function(e){var t=Math.floor(e.width/2)+1,n=e.width,r=Math.floor(e.height/2)+1;return[t,0,n,r,t,e.height,0,r]}(e),8),l=i[0],c=i[1],s=i[2],u=i[3],d=i[4],p=i[5],f=i[6],h=i[7];n=t.polygon([[l,c],[s,u],[d,p],[f,h]],hr(e));break;case"ellipse":n=t.ellipse(e.width/2,e.height/2,e.width,e.height,hr(e));break;case"line":case"draw":case"arrow":var m=hr(e),g=e.points.length?e.points:[[0,0]];if(n="sharp"===e.strokeSharpness?m.fill?[t.polygon(g,m)]:[t.linearPath(g,m)]:[t.curve(g,m)],"arrow"===e.type){var v=function(e,n,r,o){var a=function(e,t,n,r){var o=ft(t[0]);if(o.length<1)return null;var a="start"===n?1:o.length-1,i=o[a].data,l=[i[4],i[5]],c=[i[2],i[3]],s=[i[0],i[1]],u=o[a-1],d=[0,0];"move"===u.op?d=u.data:"bcurveTo"===u.op&&(d=[u.data[4],u.data[5]]);var p=function(e,t){return Math.pow(1-e,3)*l[t]+3*e*Math.pow(1-e,2)*c[t]+3*Math.pow(e,2)*(1-e)*s[t]+d[t]*Math.pow(e,3)},f=N("start"===n?d:l,2),h=f[0],m=f[1],g=[p(.3,0),p(.3,1)],v=g[0],b=g[1],y=Math.hypot(h-v,m-b),w=(h-v)/y,x=(m-b)/y,E={arrow:30,bar:15,dot:15}[r],k=e.points.reduce((function(e,t,n,r){var o=N(t,2),a=o[0],i=o[1],l=N(n>0?r[n-1]:[0,0],2),c=l[0],s=l[1];return e+Math.hypot(a-c,i-s)}),0),S=Math.min(E,k/2),C=h-w*S,O=m-x*S;if("dot"===r)return[h,m,Math.hypot(O-m,C-h)];var M={arrow:20,bar:90}[r],I=N(Je(C,O,h,m,-M*Math.PI/180),2),T=I[0],P=I[1],A=N(Je(C,O,h,m,M*Math.PI/180),2);return[h,m,T,P,A[0],A[1]]}(e,n,r,o);if(null===a)return[];if("dot"===o){var i=N(a,3),l=i[0],c=i[1],s=i[2];return[t.circle(l,c,s,or(or({},m),{},{fill:e.strokeColor,fillStyle:"solid"}))]}var u=N(a,6),d=u[0],p=u[1],f=u[2],h=u[3],g=u[4],v=u[5];return"dotted"===e.strokeStyle?m.strokeLineDash=[3,4]:delete m.strokeLineDash,[t.line(f,h,d,p,m),t.line(g,v,d,p,m)]},b=e.startArrowhead,y=void 0===b?null:b,w=e.endArrowhead,x=void 0===w?"arrow":w;if(null!==y){var E,k=v(e,n,"start",y);(E=n).push.apply(E,R(k))}if(null!==x){var S,C=v(e,n,"end",x);(S=n).push.apply(S,R(C))}}break;case"text":n=[]}dr.set(e,n)}},gr=function(e,t){var n=t?t.zoom:ar.zoom,r=ur.get(e),o=r&&r.canvasZoom!==n.value&&!(null!=t&&t.shouldCacheIgnoreZoom);if(!r||o){var a=function(e,t){var n=document.createElement("canvas"),r=n.getContext("2d"),o=0,a=0;if(Ze(e)){var i=N(pt(e),4),l=i[0],c=i[1],s=i[2],u=i[3];n.width=jn(l,s)*window.devicePixelRatio*t.value+ir*t.value*2,n.height=jn(c,u)*window.devicePixelRatio*t.value+ir*t.value*2,o=e.x>l?Math.floor(jn(e.x,l))*window.devicePixelRatio*t.value:0,a=e.y>c?Math.floor(jn(e.y,c))*window.devicePixelRatio*t.value:0,r.translate(o,a)}else n.width=e.width*window.devicePixelRatio*t.value+ir*t.value*2,n.height=e.height*window.devicePixelRatio*t.value+ir*t.value*2;r.translate(ir*t.value,ir*t.value),r.scale(window.devicePixelRatio*t.value,window.devicePixelRatio*t.value);var d=Ve.canvas(n);return sr(e,d,r),r.translate(-20*t.value,-20*t.value),r.scale(1/(window.devicePixelRatio*t.value),1/(window.devicePixelRatio*t.value)),{element:e,canvas:n,canvasZoom:t.value,canvasOffsetX:o,canvasOffsetY:a}}(e,n);return ur.set(e,a),a}return r},vr=function(e,t,n,r,o){var a=t.generator;switch(e.type){case"selection":n.translate(e.x+o.scrollX,e.y+o.scrollY);var i=n.fillStyle;n.fillStyle="rgba(0, 0, 255, 0.10)",n.fillRect(0,0,e.width,e.height),n.fillStyle=i,n.translate(-e.x-o.scrollX,-e.y-o.scrollY);break;case"rectangle":case"diamond":case"ellipse":case"line":case"draw":case"arrow":case"text":if(mr(e,a),r){!function(e,t,n,r){var o=e.element,a=N(pt(o),4),i=a[0],l=a[1],c=a[2],s=a[3],u=((i+c)/2+r.scrollX)*window.devicePixelRatio,d=((l+s)/2+r.scrollY)*window.devicePixelRatio;n.scale(1/window.devicePixelRatio,1/window.devicePixelRatio),n.translate(u,d),n.rotate(o.angle),n.drawImage(e.canvas,-(c-i)/2*window.devicePixelRatio-ir*e.canvasZoom/e.canvasZoom,-(s-l)/2*window.devicePixelRatio-ir*e.canvasZoom/e.canvasZoom,e.canvas.width/e.canvasZoom,e.canvas.height/e.canvasZoom),n.rotate(-o.angle),n.translate(-u,-d),n.scale(window.devicePixelRatio,window.devicePixelRatio)}(gr(e,o),0,n,o)}else{var l=N(pt(e),4),c=l[0],s=l[1],u=l[2],d=l[3],p=(c+u)/2+o.scrollX,f=(s+d)/2+o.scrollY,h=(u-c)/2-(e.x-c),m=(d-s)/2-(e.y-s);n.translate(p,f),n.rotate(e.angle),n.translate(-h,-m),sr(e,t,n),n.translate(h,m),n.rotate(-e.angle),n.translate(-p,-f)}break;default:throw new Error("Unimplemented type ".concat(e.type))}},br=function(e,t,n,r,o){var a=N(pt(e),4),i=a[0],l=a[1],c=a[2],s=a[3],u=(c-i)/2-(e.x-i),d=(s-l)/2-(e.y-l),p=180*e.angle/Math.PI,f=t.generator;switch(e.type){case"selection":throw new Error("Selection rendering is not supported for SVG");case"rectangle":case"diamond":case"ellipse":mr(e,f);var h=t.draw(pr(e)),m=e.opacity/100;1!==m&&(h.setAttribute("stroke-opacity","".concat(m)),h.setAttribute("fill-opacity","".concat(m))),h.setAttribute("transform","translate(".concat(r||0," ").concat(o||0,") rotate(").concat(p," ").concat(u," ").concat(d,")")),n.appendChild(h);break;case"line":case"draw":case"arrow":mr(e,f);var g=n.ownerDocument.createElementNS(Sn,"g"),v=e.opacity/100;pr(e).forEach((function(n){var a=t.draw(n);1!==v&&(a.setAttribute("stroke-opacity","".concat(v)),a.setAttribute("fill-opacity","".concat(v))),a.setAttribute("transform","translate(".concat(r||0," ").concat(o||0,") rotate(").concat(p," ").concat(u," ").concat(d,")")),"line"!==e.type&&"draw"!==e.type||!rt(e.points)||"transparent"===e.backgroundColor||a.setAttribute("fill-rule","evenodd"),g.appendChild(a)})),n.appendChild(g);break;default:if(!Ye(e))throw new Error("Unimplemented type ".concat(e.type));var b=e.opacity/100,y=n.ownerDocument.createElementNS(Sn,"g");1!==b&&(y.setAttribute("stroke-opacity","".concat(b)),y.setAttribute("fill-opacity","".concat(b))),y.setAttribute("transform","translate(".concat(r||0," ").concat(o||0,") rotate(").concat(p," ").concat(u," ").concat(d,")"));for(var w=e.text.replace(/\r\n?/g,"\n").split("\n"),x=e.height/w.length,E=e.height-e.baseline,k="center"===e.textAlign?e.width/2:"right"===e.textAlign?e.width:0,S=Vn(e.text)?"rtl":"ltr",C="center"===e.textAlign?"middle":"right"===e.textAlign||"rtl"===S?"end":"start",O=0;O<w.length;O++){var M=n.ownerDocument.createElementNS(Sn,"text");M.textContent=w[O],M.setAttribute("x","".concat(k)),M.setAttribute("y","".concat((O+1)*x-E)),M.setAttribute("font-family",Tn(e)),M.setAttribute("font-size","".concat(e.fontSize,"px")),M.setAttribute("fill",e.strokeColor),M.setAttribute("text-anchor",C),M.setAttribute("style","white-space: pre;"),M.setAttribute("direction",S),y.appendChild(M)}n.appendChild(y)}},yr=function(e){return"string"==typeof e},wr=function(){function e(){h(this,e),this.callbacks=new Set,this.nonDeletedElements=[],this.elements=[],this.elementsMap=new Map}return g(e,[{key:"getElementsIncludingDeleted",value:function(){return this.elements}},{key:"getElements",value:function(){return this.nonDeletedElements}},{key:"getElement",value:function(e){return this.elementsMap.get(e)||null}},{key:"getNonDeletedElement",value:function(e){var t=this.getElement(e);return t&&gi(t)?t:null}},{key:"getNonDeletedElements",value:function(e){var t=this,n=[];return e.forEach((function(e){var r=t.getNonDeletedElement(e);null!=r&&n.push(r)})),n}},{key:"replaceAllElements",value:function(t){var n=this;this.elements=t,this.elementsMap.clear(),t.forEach((function(t){n.elementsMap.set(t.id,t),e.mapElementToScene(t,n)})),this.nonDeletedElements=mi(this.elements),this.informMutation()}},{key:"informMutation",value:function(){for(var e=0,t=Array.from(this.callbacks);e<t.length;e++){(0,t[e])()}}},{key:"addCallback",value:function(e){var t=this;if(this.callbacks.has(e))throw new Error;return this.callbacks.add(e),function(){if(!t.callbacks.has(e))throw new Error;t.callbacks.delete(e)}}},{key:"destroy",value:function(){var t=this;e.sceneMapById.forEach((function(n,r){n===t&&e.sceneMapById.delete(r)})),this.callbacks.clear()}}],[{key:"mapElementToScene",value:function(e,t){yr(e)?this.sceneMapById.set(e,t):this.sceneMapByElement.set(e,t)}},{key:"getScene",value:function(e){return yr(e)?this.sceneMapById.get(e)||null:this.sceneMapByElement.get(e)||null}}]),e}();wr.sceneMapByElement=new WeakMap,wr.sceneMapById=new Map;var xr=wr;var Er=new ue(Date.now()),kr=function(){return Math.floor(Er.next()*Math.pow(2,31))},Sr=function(){return((e=21)=>{let t="",n=crypto.getRandomValues(new Uint8Array(e));for(;e--;){let r=63&n[e];t+=r<36?r.toString(36):r<62?(r-26).toString(36).toUpperCase():r<63?"_":"-"}return t})()};function Cr(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 Or(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cr(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Mr=function(e,t){var n,r=!1,o=t.points;for(var a in void 0!==o&&(t=Or(Or({},function(e){var t=e.map((function(e){return e[0]})),n=e.map((function(e){return e[1]}));return{width:Math.max.apply(Math,R(t))-Math.min.apply(Math,R(t)),height:Math.max.apply(Math,R(n))-Math.min.apply(Math,R(n))}}(o)),t)),t){var i=t[a];if(void 0!==i){if(e[a]===i&&("object"!=typeof i||null===i||"groupIds"===a))continue;if("points"===a){var l=e[a],c=i;if(l.length===c.length){for(var s=!1,u=l.length;--u;){var d=l[u],p=c[u];if(d[0]!==p[0]||d[1]!==p[1]){s=!0;break}}if(!s)continue}}e[a]=i,r=!0}}r&&(void 0===t.height&&void 0===t.width&&void 0===o||fr(e),e.version++,e.versionNonce=kr(),null===(n=xr.getScene(e))||void 0===n||n.informMutation())},Ir=function(e,t){var n=!1;for(var r in t){var o=t[r];if(void 0!==o){if(e[r]===o&&("object"!=typeof o||null===o||"groupIds"===r))continue;n=!0}}return n?Or(Or(Or({},e),t),{},{version:e.version+1,versionNonce:kr()}):e},Tr=function(e){return Ze(e)?e.points.length<2:0===e.width&&0===e.height},Pr=function(e,t,n){var r=Math.abs(t),o=Math.abs(n);if("line"===e||"arrow"===e||"draw"===e){var a=Math.round(Math.atan(o/r)/s.ay)*s.ay;0===a?n=0:a===Math.PI/2?t=0:n=Math.round(r*Math.tan(a))*Math.sign(n)||n}else"selection"!==e&&(n=r*Math.sign(n));return{width:t,height:n}},Ar=function(e){var t={width:e.width,height:e.height,x:e.x,y:e.y};if(e.width<0){var n=Math.abs(e.width);t.width=n,t.x=e.x-n}if(e.height<0){var r=Math.abs(e.height);t.height=r,t.y=e.y-r}return t};function Lr(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function _r(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Dr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dr(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function Dr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function jr(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 zr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jr(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Br=function(e,t,n){var r,o,a=n.filter((function(t){return t.groupIds.includes(e)}));return a.length<2?t.selectedGroupIds[e]||t.editingGroupId===e?zr(zr({},t),{},{selectedGroupIds:zr(zr({},t.selectedGroupIds),{},(r={},r[e]=!1,r)),editingGroupId:null}):t:zr(zr({},t),{},{selectedGroupIds:zr(zr({},t.selectedGroupIds),{},(o={},o[e]=!0,o)),selectedElementIds:zr(zr({},t.selectedElementIds),Object.fromEntries(a.map((function(e){return[e.id,!0]}))))})},Hr=function(e,t){return null!=Nr(e,t)},Nr=function(e,t){return t.groupIds.filter((function(t){return t!==e.editingGroupId})).find((function(t){return e.selectedGroupIds[t]}))},Rr=function(e){return Object.entries(e.selectedGroupIds).filter((function(e){var t=N(e,2);t[0];return t[1]})).map((function(e){var t=N(e,2),n=t[0];t[1];return n}))},Fr=function(e,t){var n,r=zr({},e),o=_r(ki(t,e));try{for(o.s();!(n=o.n()).done;){var a=n.value.groupIds;if(e.editingGroupId){var i=a.indexOf(e.editingGroupId);i>-1&&(a=a.slice(0,i))}if(a.length>0){var l=a[a.length-1];r=Br(l,r,t)}}}catch(e){o.e(e)}finally{o.f()}return r},Wr=function(e,t){return e.groupIds.includes(t)},Gr=function(e,t){return e.filter((function(e){return Wr(e,t)}))},Vr=function(e,t,n){var r=R(e),o=n?r.indexOf(n):-1,a=o>-1?o:r.length;return r.splice(a,0,t),r};function Kr(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 Ur(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Kr(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Kr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Yr=function(e,t){var n,r,o=t.x,a=t.y,i=t.strokeColor,l=t.backgroundColor,c=t.fillStyle,s=t.strokeWidth,u=t.strokeStyle,d=t.roughness,p=t.opacity,f=t.width,h=void 0===f?0:f,m=t.height,g=void 0===m?0:m,v=t.angle,b=void 0===v?0:v,y=t.groupIds,w=void 0===y?[]:y,x=t.strokeSharpness,E=t.boundElementIds,k=void 0===E?null:E,S=Lr(t,["x","y","strokeColor","backgroundColor","fillStyle","strokeWidth","strokeStyle","roughness","opacity","width","height","angle","groupIds","strokeSharpness","boundElementIds"]);return{id:S.id||Sr(),type:e,x:o,y:a,width:h,height:g,angle:b,strokeColor:i,backgroundColor:l,fillStyle:c,strokeWidth:s,strokeStyle:u,roughness:d,opacity:p,groupIds:w,strokeSharpness:x,seed:null!==(n=S.seed)&&void 0!==n?n:kr(),version:S.version||1,versionNonce:null!==(r=S.versionNonce)&&void 0!==r?r:0,isDeleted:!1,boundElementIds:k}},Zr=function(e){return Yr(e.type,e)},Xr=function(e,t){return{x:"center"===e.textAlign?t.width/2:"right"===e.textAlign?t.width:0,y:"middle"===e.verticalAlign?t.height/2:0}},qr=function(e){var t=An(e.text,Pn(e)),n=Xr(e,t);return Ir(Ur(Ur({},Yr("text",e)),{},{text:e.text,fontSize:e.fontSize,fontFamily:e.fontFamily,textAlign:e.textAlign,verticalAlign:e.verticalAlign,x:e.x-n.x,y:e.y-n.y,width:t.width,height:t.height,baseline:t.baseline}),{})},$r=function(e,t){var n=t.text,r=t.isDeleted;return Ir(e,Ur({text:n,isDeleted:null!=r?r:e.isDeleted},function(e,t){var n,r,o=An(t,Pn(e)),a=o.width,i=o.height,l=o.baseline,c=e.textAlign,s=e.verticalAlign;if("center"===c&&"middle"===s){var u=An(e.text,Pn(e)),d=Xr(e,{width:a-u.width,height:i-u.height});n=e.x-d.x,r=e.y-d.y}else{var p=N(pt(e),4),f=p[0],h=p[1],m=p[2],g=p[3],v=N(bt(e,a,i),4),b=(f-v[0])/2,y=(h-v[1])/2,w=(m-v[2])/2,x=(g-v[3])/2,E=N(tt({s:!0,e:"center"===c||"left"===c,w:"center"===c||"right"===c},e.x,e.y,e.angle,b,y,w,x),2);n=E[0],r=E[1]}return{width:a,height:i,x:Number.isFinite(n)?n:e.x,y:Number.isFinite(r)?r:e.y,baseline:l}}(e,n)))},Qr=function(e){return Ur(Ur({},Yr(e.type,e)),{},{points:e.points||[],lastCommittedPoint:null,startBinding:null,endBinding:null,startArrowhead:e.startArrowhead,endArrowhead:e.endArrowhead})},Jr=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(null==t||"object"!=typeof t)return t;if("[object Object]"===Object.prototype.toString.call(t)){var r="function"==typeof t.constructor?Object.create(Object.getPrototypeOf(t)):{};for(var o in t)if(t.hasOwnProperty(o)){if(0===n&&("shape"===o||"canvas"===o))continue;r[o]=e(t[o],n+1)}return r}if(Array.isArray(t)){for(var a=t.length,i=new Array(a);a--;)i[a]=e(t[a],n+1);return i}return t},eo=function(e,t,n,r){var o=Jr(n);return o.id=Sr(),o.seed=kr(),o.groupIds=function(e,t,n){for(var r=R(e),o=t?e.indexOf(t):-1,a=o>-1?o:e.length,i=0;i<a;i++)r[i]=n(r[i]);return r}(o.groupIds,e,(function(e){return t.has(e)||t.set(e,Sr()),t.get(e)})),r&&(o=Object.assign(o,r)),o},to={mouse:8,pen:16,touch:28},no={e:!0,s:!0,n:!0,w:!0},ro={e:!0,s:!0,n:!0,w:!0},oo={e:!0,s:!0,n:!0,w:!0,nw:!0,se:!0},ao={e:!0,s:!0,n:!0,w:!0,ne:!0,sw:!0},io=function(e,t,n,r,o,a,i){var l=N(Je(e+n/2,t+r/2,o,a,i),2);return[l[0]-n/2,l[1]-r/2,n,r]},lo=function(e,t,n,r){var o=N(e,4),a=o[0],i=o[1],l=o[2],c=o[3],s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},u=to[r],d=u/n.value,p=u/n.value,f=u/n.value,h=u/n.value,m=l-a,g=c-i,v=(a+l)/2,b=(i+c)/2,y=4/n.value,w=(u-8)/(2*n.value),x={nw:s.nw?void 0:io(a-y-f+w,i-y-h+w,d,p,v,b,t),ne:s.ne?void 0:io(l+y-w,i-y-h+w,d,p,v,b,t),sw:s.sw?void 0:io(a-y-f+w,c+y-w,d,p,v,b,t),se:s.se?void 0:io(l+y-w,c+y-w,d,p,v,b,t),rotation:s.rotation?void 0:io(a+m/2-d/2,i-y-h+w-16/n.value,d,p,v,b,t)},E=5*to.mouse/n.value;return Math.abs(m)>E&&(s.n||(x.n=io(a+m/2-d/2,i-y-h+w,d,p,v,b,t)),s.s||(x.s=io(a+m/2-d/2,c+y-w,d,p,v,b,t))),Math.abs(g)>E&&(s.w||(x.w=io(a-y-f+w,i+g/2-p/2,d,p,v,b,t)),s.e||(x.e=io(l+y-w,i+g/2-p/2,d,p,v,b,t))),x},co=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mouse",r={};if("arrow"===e.type||"line"===e.type||"draw"===e.type){if(2===e.points.length){var o=N(e.points,2),a=o[1];0===a[0]||0===a[1]?r=ao:a[0]>0&&a[1]<0?r=oo:a[0]>0&&a[1]>0?r=ao:a[0]<0&&a[1]>0?r=oo:a[0]<0&&a[1]<0&&(r=ao)}}else"text"===e.type&&(r=ro);return lo(pt(e),e.angle,t,n,r)},so=function(e,t){return[0,0,0,0,t,e,1,0]},uo=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=[0,0,0,0,0,0,0,0];if(t<0||t>7)throw new Error("Expected `index` betwen 0 and 7, got `".concat(t,"`"));return 0!==e&&(n[t]=e),n},po=function(e){return[e[0],e[1],e[2],e[3],-e[4],-e[5],-e[6],-e[7]]},fo=function(e,t){return xo(t)?[e[0]-t,e[1],e[2],e[3],e[4],e[5],e[6],e[7]]:[e[0]-t[0],e[1]-t[1],e[2]-t[2],e[3]-t[3],e[4]-t[4],e[5]-t[5],e[6]-t[6],e[7]-t[7]]},ho=function(e,t){return xo(t)?[e[0]*t,e[1]*t,e[2]*t,e[3]*t,e[4]*t,e[5]*t,e[6]*t,e[7]*t]:[mo(e,t),t[1]*e[0]+t[0]*e[1]-t[4]*e[2]+t[5]*e[3]+t[2]*e[4]-t[3]*e[5]-t[7]*e[6]-t[6]*e[7],t[2]*e[0]+t[0]*e[2]-t[6]*e[3]+t[3]*e[6],t[3]*e[0]+t[6]*e[2]+t[0]*e[3]-t[2]*e[6],t[4]*e[0]+t[2]*e[1]-t[1]*e[2]+t[7]*e[3]+t[0]*e[4]+t[6]*e[5]-t[5]*e[6]+t[3]*e[7],t[5]*e[0]-t[3]*e[1]+t[7]*e[2]+t[1]*e[3]-t[6]*e[4]+t[0]*e[5]+t[4]*e[6]+t[2]*e[7],t[6]*e[0]+t[3]*e[2]-t[2]*e[3]+t[0]*e[6],t[7]*e[0]+t[6]*e[1]+t[5]*e[2]+t[4]*e[3]+t[3]*e[4]+t[2]*e[5]+t[1]*e[6]+t[0]*e[7]]},mo=function(e,t){return t[0]*e[0]+t[2]*e[2]+t[3]*e[3]-t[6]*e[6]},go=function(e,t){return[vo(e,t),e[1]*t[7]+e[4]*t[5]-e[5]*t[4]+e[7]*t[1],e[2]*t[7]-e[4]*t[6]+e[6]*t[4]+e[7]*t[2],e[3]*t[7]+e[5]*t[6]-e[6]*t[5]+e[7]*t[3],e[4]*t[7]+e[7]*t[4],e[5]*t[7]+e[7]*t[5],e[6]*t[7]+e[7]*t[6],e[7]*t[7]]},vo=function(e,t){return e[0]*t[7]+e[1]*t[6]+e[2]*t[5]+e[3]*t[4]+e[4]*t[3]+e[5]*t[2]+e[6]*t[1]+e[7]*t[0]},bo=function(e){return Math.sqrt(Math.abs(e[0]*e[0]-e[2]*e[2]-e[3]*e[3]+e[6]*e[6]))},yo=function(e){var t=bo(e);if(0===t||1===t)return e;var n=e[6]<0?-1:1;return ho(e,n/t)},wo=function(e){var t=function(e){return Math.sqrt(Math.abs(e[7]*e[7]-e[5]*e[5]-e[4]*e[4]+e[1]*e[1]))}(e);return 0===t||1===t?e:ho(e,1/t)},xo=function(e){return"number"==typeof e},Eo=(uo(1,1),uo(1,2),uo(1,3),uo(1,4),uo(1,5),uo(1,6),uo(1,7),function(e,t,n){return yo([0,n,e,t,0,0,0,0])}),ko=function(e,t){return yo(go(t,e))},So=function(e,t){return n=e,[(r=t)[0]*n[0]+r[2]*n[2]+r[3]*n[3]-r[6]*n[6],r[1]*n[0]+r[0]*n[1]-r[4]*n[2]+r[5]*n[3]+r[2]*n[4]-r[3]*n[5]-r[7]*n[6]-r[6]*n[7],r[2]*n[0]+r[0]*n[2]-r[6]*n[3]+r[3]*n[6],r[3]*n[0]+r[6]*n[2]+r[0]*n[3]-r[2]*n[6],r[4]*n[0]+r[7]*n[3]+r[0]*n[4]+r[3]*n[7],r[5]*n[0]+r[7]*n[2]+r[0]*n[5]+r[2]*n[7],r[6]*n[0]+r[0]*n[6],r[7]*n[0]+r[0]*n[7]];var n,r},Co=function(e){var t=N(e,2),n=t[0];return[0,0,0,0,t[1],n,1,0]},Oo=function(e){return[e[5],e[4]]},Mo=function(e,t){return yo((n=e,[(r=t)[0]*n[0],r[1]*n[0]+r[0]*n[1],r[2]*n[0]+r[0]*n[2],r[3]*n[0]+r[0]*n[3],r[4]*n[0]+r[2]*n[1]-r[1]*n[2]+r[0]*n[4],r[5]*n[0]-r[3]*n[1]+r[1]*n[3]+r[0]*n[5],r[6]*n[0]+r[3]*n[2]-r[2]*n[3]+r[0]*n[6],r[7]*n[0]+r[6]*n[1]+r[5]*n[2]+r[4]*n[3]+r[3]*n[4]+r[2]*n[5]+r[1]*n[6]]));var n,r},Io=function(e,t){return bo(go(e,t))},To=function(e,t){return vo(e,t)},Po=function(e){return[0,0,0,0,e[4],e[5],0,0]},Ao=function(e,t){return n=ho(e,Math.sin(t/2)),r=Math.cos(t/2),xo(r)?[n[0]+r,n[1],n[2],n[3],n[4],n[5],n[6],n[7]]:[n[0]+r[0],n[1]+r[1],n[2]+r[2],n[3]+r[3],n[4]+r[4],n[5]+r[5],n[6]+r[6],n[7]+r[7]];var n,r},Lo=function(e,t){return yo(ho(ho(e,t),po(e)))};function _o(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Do(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Do(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function Do(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var jo=function(e,t,n,r){var o=10/t.zoom.value;return!zo(e,t,[n,r])&&Ho(e,[n,r],o)},zo=function(e,t,n){var r=10/t.zoom.value,o="text"===e.type?Go:function(e){if("arrow"===e.type)return!1;var t="transparent"!==e.backgroundColor;return"line"===e.type||"draw"===e.type?t&&rt(e.points):t}(e)?Vo:Ko;return Fo({element:e,point:n,threshold:r,check:o})},Bo=function(e,t){return e.selectedElementIds[t.id]},Ho=function(e,t,n){var r=N(t,2),o=r[0],a=r[1],i=N(pt(e),4),l=i[0],c=i[1],s=i[2],u=i[3],d=N(Je(o,a,(l+s)/2,(c+u)/2,-e.angle),2),p=d[0],f=d[1];return p>l-n&&p<s+n&&f>c-n&&f<u+n},No=function(e,t){var n=t.x,r=t.y,o=Ro(e,e.width,e.height);return Fo({element:e,point:[n,r],threshold:o,check:Uo})},Ro=function(e,t,n){var r=("diamond"===e.type?1/Math.sqrt(2):1)*Math.min(t,n);return Math.max(16,Math.min(.25*r,32))},Fo=function(e){switch(e.element.type){case"rectangle":case"text":case"diamond":case"ellipse":var t=Wo(e.element,e.point);return e.check(t,e.threshold);case"arrow":case"line":case"draw":return $o(e);case"selection":return console.warn("This should not happen, we need to investigate why it does."),!1}},Wo=function(e,t){switch(e.type){case"rectangle":case"text":return Yo(e,t);case"diamond":return Zo(e,t);case"ellipse":return Xo(e,t)}},Go=function(e,t){return e<0},Vo=function(e,t){return e<t},Ko=function(e,t){return Math.abs(e)<t},Uo=function(e,t){return 0<=e&&e<t},Yo=function(e,t){var n=N(Qo(e,t),4),r=n[1],o=n[2],a=n[3];return Math.max(To(r,Eo(0,1,-a)),To(r,Eo(1,0,-o)))},Zo=function(e,t){var n=N(Qo(e,t),4),r=n[1],o=n[2],a=n[3],i=Eo(a,o,-a*o);return To(r,i)},Xo=function(e,t){var n=N(qo(e,t),2),r=n[0],o=n[1];return-function(e){return Math.sign(e[1])}(o)*To(r,o)},qo=function(e,t){var n=N(Qo(e,t),4),r=n[1],o=n[2],a=n[3],i=N(Oo(r),2),l=i[0],c=i[1],s=.707,u=.707,d=o,p=a;[0,1,2,3].forEach((function(e){var t=d*s,n=p*u,r=(d*d-p*p)*Math.pow(s,3)/d,o=(p*p-d*d)*Math.pow(u,3)/p,a=t-r,i=n-o,f=l-r,h=c-o,m=Math.hypot(i,a),g=Math.hypot(h,f);s=Math.min(1,Math.max(0,(f*m/g+r)/d)),u=Math.min(1,Math.max(0,(h*m/g+o)/p));var v=Math.hypot(u,s);s/=v,u/=v}));var f,h=so(d*s,p*u);return[r,So(ko(r,f=h),f)]},$o=function(e){var t=e.element,n=e.threshold;if(!pr(t))return!1;var r=N(Qo(e.element,e.point),4),o=r[0],a=r[1],i=r[2],l=r[3],c=Eo(0,1,-l),s=Eo(1,0,-i);if(!Vo(To(a,c),n)||!Vo(To(a,s),n))return!1;var u=N(Oo(o),2),d=u[0],p=u[1],f=pr(t);if(e.check===Vo&&f.some((function(e){return ua(e,d,p,t.strokeSharpness)})))return!0;return f.some((function(e){return da(e,d,p,n)}))},Qo=function(e,t){var n,r=Co(t),o=pt(e),a=ea(o),i=Ao(a,e.angle),l=Lo(i,r),c=function(e){return[0,0,0,0,Math.abs(e[4]),Math.abs(e[5]),1,0]}(fo(l,Po(a))),s=(n=e.x,[0,0,0,0,e.y,n,0,0]),u=fo(l,s),d=N(o,4),p=d[0],f=d[1];return[u,c,(d[2]-p)/2,(d[3]-f)/2]},Jo=function(e){var t=pt(e),n=ea(t),r=Ao(n,e.angle),o=po(function(e){return[1,0,0,0,-.5*e[5],.5*e[4],0,0]}(Po(n)));return ho(o,r)},ea=function(e){var t=N(e,4),n=t[0],r=t[1],o=t[2],a=t[3];return so((n+o)/2,(r+a)/2)},ta=function(e,t,n){var r=Jo(e),o=Lo(r,Co(t)),a=Lo(r,Co(n)),i=ko(o,a),l=e.height/e.width,c=e.width/2,s=e.height/2,u=i[2],d=i[3],p=i[1],f=Math.abs(d),h=Math.abs(u);switch(e.type){case"rectangle":case"text":return p/(c*(h+l*f));case"diamond":return f<h?p/(h*c):p/(f*s);case"ellipse":return p/(c*Math.sqrt(Math.pow(u,2)+Math.pow(l,2)*Math.pow(d,2)))}},na=function(e,t,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;switch(e.type){case"rectangle":case"text":case"diamond":var a=ra(e);r=a.flatMap((function(e,n){var r=[e,a[(n+1)%4]];return oa(t,aa(r,o))})).concat(a.flatMap((function(e){return la(e,o,t)})));break;case"ellipse":r=ia(e,o,t)}if(r.length<2)return[];var i=r.sort((function(e,t){return Io(e,n)-Io(t,n)}));return[i[0],i[i.length-1]]},ra=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=t*e.width/2,r=t*e.height/2;switch(e.type){case"rectangle":case"text":return[so(n,r),so(n,-r),so(-n,-r),so(-n,r)];case"diamond":return[so(0,r),so(n,0),so(0,-r),so(-n,0)]}},oa=function(e,t){var n=N(t,2),r=n[0],o=n[1];return To(r,e)*To(o,e)>=0?[]:[Mo(e,ko(r,o))]},aa=function(e,t){var n=N(e,2),r=n[0],o=n[1],a=function(e,t){var n=.5*t;return[1,0,0,0,n*e[4],n*e[5],0,0]}(function(e,t){return wo([0,0,0,0,t[4]-e[4],t[5]-e[5],0,0])}(r,o),t);return[Lo(a,r),Lo(a,o)]},ia=function(e,t,n){var r=e.width/2+t,o=e.height/2+t,a=n[2],i=n[3],l=n[1],c=r*r*a*a+o*o*i*i,s=c-l*l;if(0===c||s<=0)return[];var u=Math.sqrt(s),d=-r*r*a*l,p=-o*o*i*l;return[so((d+r*o*i*u)/c,(p-r*o*a*u)/c),so((d-r*o*i*u)/c,(p+r*o*a*u)/c)]},la=function(e,t,n){if(0===t)return 0===To(n,e)?[e]:[];var r=n[2],o=n[3],a=n[1],i=N(Oo(e),2),l=i[0],c=i[1],s=r*r+o*o,u=t*t*s-Math.pow(r*l+o*c+a,2);if(0===s||u<=0)return[];var d=Math.sqrt(u),p=l*o*o-c*r*o-r*a,f=c*r*r-l*r*o-o*a;return[so((p+o*d)/s,(f-r*d)/s),so((p-o*d)/s,(f+r*d)/s)]},ca=function(e,t,n){var r=Math.abs(t),o=e.width*r/2,a=e.height*r/2,i=Math.sign(t),l=N(Oo(n),2),c=l[0],s=l[1],u=0===s?1e-4:s,d=Math.pow(c,2)*Math.pow(a,2)+Math.pow(u,2)*Math.pow(o,2),p=(-c*Math.pow(a,2)+i*u*Math.sqrt(Math.max(0,d-Math.pow(o,2)*Math.pow(a,2))))/d,f=(-p*c-1)/u,h=-Math.pow(o,2)*p/(Math.pow(f,2)*Math.pow(a,2)+Math.pow(p,2)*Math.pow(o,2));return so(h,(-p*h-1)/f)},sa=function(e,t,n){var r=Math.abs(t),o=Math.sign(t),a=ra(e,r),i=0,l=null;return a.forEach((function(e){var t=o*ko(n,e)[1];t>i&&(i=t,l=e)})),l},ua=function(e,t,n,r){var o,a=[],i=!1,l=_o(ft(e));try{for(l.s();!(o=l.n()).done;){var c=o.value;"move"===c.op?(i=!i)&&a.push([c.data[0],c.data[1]]):"bcurveTo"===c.op&&i&&(a.push([c.data[0],c.data[1]]),a.push([c.data[2],c.data[3]]),a.push([c.data[4],c.data[5]]))}}catch(e){l.e(e)}finally{l.f()}if(a.length>=4){if("sharp"===r)return ot(a,t,n);var s=Z(a,10,5);return ot(s,t,n)}return!1},da=function(e,t,n,r){var o=ft(e),a=[0,0];return o.some((function(e,o){var i=e.op,l=e.data;if("move"===i)a=l;else if("bcurveTo"===i){var c=[l[0],l[1]],s=[l[2],l[3]],u=[l[4],l[5]],d=a;return a=u,function(e,t,n,r,o,a){for(var i=N(o,2),l=i[0],c=i[1],s=function(o,a){return Math.pow(1-o,3)*r[a]+3*o*Math.pow(1-o,2)*n[a]+3*Math.pow(o,2)*(1-o)*t[a]+e[a]*Math.pow(o,3)},u=0;u<=1;){var d=s(u,0),p=s(u,1);if(Math.sqrt(Math.pow(d-l,2)+Math.pow(p-c,2))<a)return!0;u+=.01}return!1}(d,c,s,u,[t,n],r)}return!1}))},pa=function(e,t,n){return t>=e[0]&&t<=e[0]+e[2]&&n>=e[1]&&n<=e[1]+e[3]},fa=function(e,t,n,r,o,a){return e.reduce((function(e,i){if(e)return e;var l=function(e,t,n,r,o,a){if(!t.selectedElementIds[e.id])return!1;var i=co(e,o,a),l=i.rotation,c=Lr(i,["rotation"]);if(l&&pa(l,n,r))return"rotation";var s=Object.keys(c).filter((function(e){var t=c[e];return!!t&&pa(t,n,r)}));return s.length>0&&s[0]}(i,t,n,r,o,a);return l?{element:i,transformHandleType:l}:null}),null)},ha=function(e,t,n,r,o){var a=N(e,4),i=a[0],l=a[1],c=a[2],s=a[3],u=lo([i,l,c,s],0,r,o,no);return Object.keys(u).find((function(e){var r=u[e];return r&&pa(r,t,n)}))||!1},ma=["ns","nesw","ew","nwse"],ga=function(e){var t=e.element,n=e.transformHandleType,r=t&&Math.sign(t.height)*Math.sign(t.width)==-1,o=null;switch(n){case"n":case"s":o="ns";break;case"w":case"e":o="ew";break;case"nw":case"se":o=r?"nesw":"nwse";break;case"ne":case"sw":o=r?"nwse":"nesw";break;case"rotation":return"grab"}return o&&t&&(o=function(e,t){var n=ma.indexOf(e);if(n>=0){var r=Math.round(t/(Math.PI/4));e=ma[(n+r)%ma.length]}return e}(o,t.angle)),o?"".concat(o,"-resize"):""};function va(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 ba(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?va(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):va(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ya=function(){function e(t,n){h(this,e),this.elementId=t.id,xr.mapElementToScene(this.elementId,n),e.normalizePoints(t),this.activePointIndex=null,this.lastUncommittedPoint=null,this.isDragging=!1,this.pointerOffset={x:0,y:0},this.startBindingElement="keep",this.endBindingElement="keep"}return g(e,null,[{key:"getElement",value:function(e){var t,n=null===(t=xr.getScene(e))||void 0===t?void 0:t.getNonDeletedElement(e);return n||null}},{key:"handlePointDragging",value:function(t,n,r,o,a){if(!t.editingLinearElement)return!1;var i=t.editingLinearElement,l=i.activePointIndex,c=i.elementId,s=i.isDragging,u=e.getElement(c);if(!u)return!1;if(null!=l&&l>-1){!1===s&&n({editingLinearElement:ba(ba({},i),{},{isDragging:!0})});var d=e.createPointAt(u,r-i.pointerOffset.x,o-i.pointerOffset.y,t.gridSize);return e.movePoint(u,l,d),qe(u)&&a(u,0===l?"start":"end"),!0}return!1}},{key:"handlePointerUp",value:function(t,n,r){var o,a=n.elementId,i=n.activePointIndex,l=n.isDragging,c=e.getElement(a);if(!c)return n;var s={};if(l&&(0===i||i===c.points.length-1)){rt(c.points,r.zoom.value)&&e.movePoint(c,i,0===i?c.points[c.points.length-1]:c.points[0]);var u=xa(r)?La(Kn(e.getPointAtIndexGlobalCoordinates(c,i)),xr.getScene(c)):null;(o={})[0===i?"startBindingElement":"endBindingElement"]=u,s=o}return ba(ba(ba({},n),s),{},{isDragging:!1,pointerOffset:{x:0,y:0}})}},{key:"handlePointerDown",value:function(t,n,r,o,a){var i={didAddPoint:!1,hitElement:null};if(!n.editingLinearElement)return i;var l=n.editingLinearElement.elementId,c=e.getElement(l);if(!c)return i;if(t.altKey)return null==n.editingLinearElement.lastUncommittedPoint&&Mr(c,{points:[].concat(R(c.points),[e.createPointAt(c,a.x,a.y,n.gridSize)])}),o.resumeRecording(),r({editingLinearElement:ba(ba({},n.editingLinearElement),{},{activePointIndex:c.points.length-1,lastUncommittedPoint:null,endBindingElement:La(a,xr.getScene(c))})}),i.didAddPoint=!0,i;var s=e.getPointIndexUnderCursor(c,n.zoom,a.x,a.y);if(s>-1)i.hitElement=c;else{var u=n.editingLinearElement,d=u.startBindingElement,p=u.endBindingElement;xa(n)&&qe(c)&&Ea(c,d,p)}var f=N(pt(c),4),h=f[0],m=f[1],g=(h+f[2])/2,v=(m+f[3])/2,b=s>-1&&Je(c.x+c.points[s][0],c.y+c.points[s][1],g,v,c.angle);return r({editingLinearElement:ba(ba({},n.editingLinearElement),{},{activePointIndex:s>-1?s:null,pointerOffset:b?{x:a.x-b[0],y:a.y-b[1]}:{x:0,y:0}})}),i}},{key:"handlePointerMove",value:function(t,n,r,o,a){var i=o.elementId,l=o.lastUncommittedPoint,c=e.getElement(i);if(!c)return o;var s=c.points,u=s[s.length-1];if(!t.altKey)return u===l&&e.movePoint(c,s.length-1,"delete"),ba(ba({},o),{},{lastUncommittedPoint:null});var d=e.createPointAt(c,n-o.pointerOffset.x,r-o.pointerOffset.y,a);return u===l?e.movePoint(c,c.points.length-1,d):e.movePoint(c,"new",d),ba(ba({},o),{},{lastUncommittedPoint:c.points[c.points.length-1]})}},{key:"getPointsGlobalCoordinates",value:function(e){var t=N(pt(e),4),n=t[0],r=t[1],o=t[2],a=t[3],i=(n+o)/2,l=(r+a)/2;return e.points.map((function(t){var n=e.x,r=e.y,o=N(Je(n+t[0],r+t[1],i,l,e.angle),2);return[n=o[0],r=o[1]]}))}},{key:"getPointAtIndexGlobalCoordinates",value:function(e,t){var n=t<0?e.points.length+t:t,r=N(pt(e),4),o=r[0],a=r[1],i=(o+r[2])/2,l=(a+r[3])/2,c=e.points[n],s=e.x,u=e.y;return Je(s+c[0],u+c[1],i,l,e.angle)}},{key:"pointFromAbsoluteCoords",value:function(e,t){var n=N(pt(e),4),r=n[0],o=n[1],a=(r+n[2])/2,i=(o+n[3])/2,l=N(Je(t[0],t[1],a,i,-e.angle),2),c=l[0],s=l[1];return[c-e.x,s-e.y]}},{key:"getPointIndexUnderCursor",value:function(e,t,n,r){for(var o=this.getPointsGlobalCoordinates(e),a=o.length;--a>-1;){var i=o[a];if(nt(n,r,i[0],i[1])*t.value<this.POINT_HANDLE_SIZE/2+1)return a}return-1}},{key:"createPointAt",value:function(e,t,n,r){var o=ct(t,n,r),a=N(pt(e),4),i=a[0],l=a[1],c=(i+a[2])/2,s=(l+a[3])/2,u=N(Je(o[0],o[1],c,s,-e.angle),2),d=u[0],p=u[1];return[d-e.x,p-e.y]}},{key:"normalizePoints",value:function(e){var t=e.points,n=t[0][0],r=t[0][1];Mr(e,{points:t.map((function(e,t){return[e[0]-n,e[1]-r]})),x:e.x+n,y:e.y+r})}},{key:"movePointByOffset",value:function(t,n,r){var o=N(t.points[n],2),a=o[0],i=o[1];e.movePoint(t,n,[a+r.x,i+r.y])}},{key:"movePoint",value:function(e,t,n,r){var o,a=e.points,i=0,l=0;if("delete"===n){if("new"===t)throw new Error("invalid args in movePoint");(o=a.slice()).splice(t,1),0===t&&(i=o[0][0],l=o[0][1],o=o.map((function(e,t){return 0===t?[0,0]:[e[0]-i,e[1]-l]})))}else if("new"===t)o=[].concat(R(a),[n]);else{var c=n[0]-a[t][0],s=n[1]-a[t][1];o=a.map((function(e,n){return n===t?0===n?(i=c,l=s,e):(i=0,l=0,[e[0]+c,e[1]+s]):i||l?[e[0]-i,e[1]-l]:e}))}var u=yt(e,o,e.strokeSharpness||"round"),d=yt(e,a,e.strokeSharpness||"round"),p=(u[0]+u[2])/2,f=(u[1]+u[3])/2,h=(d[0]+d[2])/2,m=(d[1]+d[3])/2,g=Je(i,l,h-p,m-f,e.angle);Mr(e,ba(ba({},r),{},{points:o,x:e.x+g[0],y:e.y+g[1]}))}}]),e}();function wa(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}ya.POINT_HANDLE_SIZE=20;var xa=function(e){return e.isBindingEnabled},Ea=function(e,t,n){var r=new Set,o=new Set;ka(e,t,n,"start",r,o),ka(e,n,t,"end",r,o);var a=Array.from(o).filter((function(e){return!r.has(e)}));xr.getScene(e).getNonDeletedElements(a).forEach((function(t){var n;Mr(t,{boundElementIds:null===(n=t.boundElementIds)||void 0===n?void 0:n.filter((function(t){return t!==e.id}))})}))},ka=function(e,t,n,r,o,a){if("keep"!==t)if(null!=t)null!=n&&("keep"===n?Ia(e,t,r):"start"!==r&&n.id===t.id)||(Ma(e,t,r),o.add(t.id));else{var i=Aa(e,r);null!=i&&a.add(i)}},Sa=function(e){e.forEach((function(e){qe(e)?Ea(e,Ra(e,"start"),Ra(e,"end")):Qe(e)&&Ca(e)}))},Ca=function(e){Wa(e).forEach((function(t){var n=N(t,2),r=n[0],o=n[1];return Ea(r,"end"===o?"keep":e,"start"===o?"keep":e)}))},Oa=function(e,t,n,r){null!=t.startBoundElement&&Ma(e,t.startBoundElement,"start");var o=La(r,n);null==o||Ia(e,o,"end")||Ma(e,o,"end")},Ma=function(e,t,n){var r,o;Mr(e,((r={})["start"===n?"startBinding":"endBinding"]=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?wa(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wa(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({elementId:t.id},_a(e,t,n)),r)),Mr(t,{boundElementIds:R(new Set([].concat(R(null!==(o=t.boundElementIds)&&void 0!==o?o:[]),[e.id])))})},Ia=function(e,t,n){var r=e["start"===n?"endBinding":"startBinding"];return Ta(e,null==r?void 0:r.elementId,t)},Ta=function(e,t,n){return t===n.id&&e.points.length<3},Pa=function(e){e.forEach((function(e){qe(e)&&Ea(e,null,null)}))},Aa=function(e,t){var n,r="start"===t?"startBinding":"endBinding",o=e[r];return null==o?null:(Mr(e,((n={})[r]=null,n)),o.elementId)},La=function(e,t){return Li(t.getElements(),(function(t){return Qe(t)&&No(t,e)}))},_a=function(e,t,n){var r="start"===n?-1:1,o=-1===r?0:e.points.length-1,a=o-r,i=ya.getPointAtIndexGlobalCoordinates(e,o),l=ya.getPointAtIndexGlobalCoordinates(e,a);return{focus:ta(t,l,i),gap:Math.max(1,Wo(t,i))}},Da=function(e,t){var n,r=null!==(n=e.boundElementIds)&&void 0!==n?n:[];if(0!==r.length){var o=null!=t?t:{},a=o.newSize,i=o.simultaneouslyUpdated,l=za(i);xr.getScene(e).getNonDeletedElements(r).forEach((function(t){var n=e;if(ja(t,n)){var r=Ha(n,t.startBinding,a),o=Ha(n,t.endBinding,a);l.has(t.id)?Mr(t,{startBinding:r,endBinding:o}):(Ba(t,"start",r,e),Ba(t,"end",o,e))}}))}},ja=function(e,t){var n,r;return(null===(n=e.startBinding)||void 0===n?void 0:n.elementId)===t.id||(null===(r=e.endBinding)||void 0===r?void 0:r.elementId)===t.id},za=function(e){return new Set((e||[]).map((function(e){return e.id})))},Ba=function(e,t,n,r){var o;if(!(null==n||n.elementId!==r.id&&e.points.length>2)){var a=xr.getScene(e).getElement(n.elementId);if(null!=a){var i,l="start"===t?-1:1,c=-1===l?0:e.points.length-1,s=c-l,u=ya.getPointAtIndexGlobalCoordinates(e,s),d=function(e,t,n){if(0===t){var r=pt(e),o=ea(r);return Oo(o)}var a,i=Jo(e),l=Lo(i,Co(n)),c=po(i);switch(e.type){case"rectangle":case"text":case"diamond":a=sa(e,t,l);break;case"ellipse":a=ca(e,t,l)}return Oo(Lo(c,a))}(a,n.focus,u);if(0===n.gap)i=d;else{var p=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=Jo(e),a=Lo(o,Co(t)),i=Lo(o,Co(n)),l=ko(a,i),c=po(o);return na(e,l,a,r).map((function(e){return Oo(Lo(c,e))}))}(a,u,d,n.gap);i=0===p.length?d:p[0]}ya.movePoint(e,c,ya.pointFromAbsoluteCoords(e,i),((o={})["start"===t?"startBinding":"endBinding"]=n,o))}}},Ha=function(e,t,n){if(null==t||null==n)return t;var r=t.gap,o=t.focus,a=t.elementId,i=n.width,l=n.height,c=e.width,s=e.height;return{elementId:a,gap:Math.max(1,Math.min(Ro(e,i,l),r*(i<l?i/c:l/s))),focus:o}},Na=function(e){return[Ra(e,"start"),Ra(e,"end")].filter((function(e){return null!=e}))},Ra=function(e,t){return La(Fa(e,t),xr.getScene(e))},Fa=function(e,t){var n="start"===t?0:-1;return Kn(ya.getPointAtIndexGlobalCoordinates(e,n))},Wa=function(e){return xr.getScene(e).getElements().map((function(t){if(!qe(t))return null;var n=Ga(t,"start",e),r=Ga(t,"end",e);return n||r?[t,n&&r?"both":n?"start":"end",e]:null})).filter((function(e){return null!=e}))},Ga=function(e,t,n){return null==e["start"===t?"startBinding":"endBinding"]&&!Ia(e,n,t)&&No(n,Fa(e,t))},Va=function(e,t,n,r){var o=new Set,a=new Set,i="duplicatesServeAsOld"===r;t.forEach((function(e){var t=e.boundElementIds;if(null!=t&&t.length>0&&(t.forEach((function(e){i&&!n.has(e)&&o.add(e)})),a.add(n.get(e.id))),qe(e)){if(null!=e.startBinding){var r=e.startBinding.elementId;i&&!n.has(r)&&a.add(r)}if(null!=e.endBinding){var l=e.endBinding.elementId;i&&!n.has(l)&&a.add(l)}null==e.startBinding&&null==e.endBinding||o.add(n.get(e.id))}})),e.filter((function(e){var t=e.id;return o.has(t)})).forEach((function(e){var t=e.startBinding,r=e.endBinding;Mr(e,{startBinding:Ka(t,n),endBinding:Ka(r,n)})})),e.filter((function(e){var t=e.id;return a.has(t)})).forEach((function(e){var t=e.boundElementIds;null!=t&&t.length>0&&Mr(e,{boundElementIds:t.map((function(e){var t;return null!==(t=n.get(e))&&void 0!==t?t:e}))})}))},Ka=function(e,t){var n;if(null==e)return null;var r=e.elementId;return{focus:e.focus,gap:e.gap,elementId:null!==(n=t.get(r))&&void 0!==n?n:r}},Ua=function(e,t){var n=new Set(t.map((function(e){return e.id}))),r=new Set;t.forEach((function(e){var t;Qe(e)&&(null===(t=e.boundElementIds)||void 0===t||t.forEach((function(e){n.has(e)||r.add(e)})))})),e.filter((function(e){var t=e.id;return r.has(t)})).forEach((function(e){var t=e.startBinding,r=e.endBinding;Mr(e,{startBinding:Ya(t,n),endBinding:Ya(r,n)})}))},Ya=function(e,t){return null==e||t.has(e.elementId)?null:e};function Za(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 Xa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Za(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Za(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var qa=function(e){return e>=2*Math.PI?e-2*Math.PI:e},$a=function(e,t,n,r){var o=N(pt(e),4),a=o[0],i=o[1],l=(a+o[2])/2,c=(i+o[3])/2,u=5*Math.PI/2+Math.atan2(n-c,t-l);r&&(u+=s.ay/2,u-=u%s.ay),u=qa(u),Mr(e,{angle:u})},Qa=function(e,t,n,r,o){var a=N(pt(e),4),i=a[0],l=a[1],c=a[2],s=a[3],u=N(Je(r,o,(i+c)/2,(l+s)/2,-e.angle),2),d=u[0],p=u[1],f=N("end"===t?[d-e.x,p-e.y]:[e.x+e.points[1][0]-d,e.y+e.points[1][1]-p],2),h=f[0],m=f[1];if(n){var g=N(function(e,t,n,r){var o=Pr.apply(void 0,[e].concat(R(Je(t,n,0,0,r))));return Je(o.width,o.height,0,0,-r)}(e.type,h,m,e.angle),2);h=g[0],m=g[1]}var v=N(tt("end"===t?{s:!0,e:!0}:{n:!0,w:!0},e.x,e.y,e.angle,0,0,(e.points[1][0]-h)/2,(e.points[1][1]-m)/2),2),b=v[0],y=v[1];Mr(e,{x:b,y:y,points:[[0,0],[h,m]]})},Ja=function(e,t,n){return Ze(e)?{points:st(0,t,st(1,n,e.points))}:{}},ei=function(e,t,n){var r=e.fontSize*(t/e.width);if(r<1)return null;var o=An(e.text,Pn({fontSize:r,fontFamily:e.fontFamily}));return{size:r,baseline:o.baseline+(n-o.height)}},ti=function(e,t,n,r,o){var a,i=N(pt(e),4),l=i[0],c=i[1],s=i[2],u=i[3],d=N(Je(r,o,(l+s)/2,(c+u)/2,-e.angle),2),p=d[0],f=d[1];switch(t){case"se":a=Math.max((p-l)/(s-l),(f-c)/(u-c));break;case"nw":a=Math.max((s-p)/(s-l),(u-f)/(u-c));break;case"ne":a=Math.max((p-l)/(s-l),(u-f)/(u-c));break;case"sw":a=Math.max((s-p)/(s-l),(f-c)/(u-c))}if(a>0){var h=e.width*a,m=e.height*a,g=ei(e,h,m);if(null===g)return;var v=N(bt(e,h,m),4),b=(l-v[0])/2,y=(c-v[1])/2,w=(s-v[2])/2,x=(u-v[3])/2,E=N(tt(function(e,t){return{n:/^(n|ne|nw)$/.test(e)||t&&/^(s|se|sw)$/.test(e),s:/^(s|se|sw)$/.test(e)||t&&/^(n|ne|nw)$/.test(e),w:/^(w|nw|sw)$/.test(e)||t&&/^(e|ne|se)$/.test(e),e:/^(e|ne|se)$/.test(e)||t&&/^(w|nw|sw)$/.test(e)}}(t,n),e.x,e.y,e.angle,b,y,w,x),2),k=E[0],S=E[1];Mr(e,{fontSize:g.size,width:h,height:m,baseline:g.baseline,x:k,y:S})}},ni=function(e,t,n,r,o,a,i){var l,c,s=N(bt(e,e.width,e.height),4),u=[s[0],s[1]],d=[s[2],s[3]],p=[((l=u)[0]+(c=d)[0])/2,(l[1]+c[1])/2],f=et([a,i],p,-e.angle),h=N(bt(n,n.width,n.height),4),m=h[0],g=h[1],v=h[2]-m,b=h[3]-g,y=(d[0]-u[0])/v,w=(d[1]-u[1])/b;r.includes("e")&&(y=(f[0]-u[0])/v),r.includes("s")&&(w=(f[1]-u[1])/b),r.includes("w")&&(y=(d[0]-f[0])/v),r.includes("n")&&(w=(d[1]-f[1])/b);var x=e.width,E=e.height,k=n.width*y,S=n.height*w;if(o&&(k=2*k-x,S=2*S-E),t){var C=Math.abs(k)/x,O=Math.abs(S)/E;if(1===r.length&&(S*=C,k*=O),2===r.length){var M=Math.max(C,O);k=x*M*Math.sign(k),S=E*M*Math.sign(S)}}var I=N(bt(e,k,S),4),T=I[0],P=I[1],A=I[2]-T,L=I[3]-P,_=[].concat(u);if(["n","w","nw"].includes(r)&&(_=[d[0]-Math.abs(A),d[1]-Math.abs(L)]),"ne"===r){var D=[u[0],d[1]];_=[D[0],D[1]-Math.abs(L)]}if("sw"===r){var j=[d[0],u[1]];_=[j[0]-Math.abs(A),j[1]]}t&&(["s","n"].includes(r)&&(_[0]=p[0]-A/2),["e","w"].includes(r)&&(_[1]=p[1]-L/2)),k<0&&(r.includes("e")&&(_[0]-=Math.abs(A)),r.includes("w")&&(_[0]+=Math.abs(A))),S<0&&(r.includes("s")&&(_[1]-=Math.abs(L)),r.includes("n")&&(_[1]+=Math.abs(L))),o&&(_[0]=p[0]-Math.abs(A)/2,_[1]=p[1]-Math.abs(L)/2);var z=e.angle,B=et(_,p,z),H=[_[0]+Math.abs(A)/2,_[1]+Math.abs(L)/2],F=et(H,p,z);_=et(B,F,-z);var W=Ja(e,k,S),G=R(_);G[0]+=e.x-T,G[1]+=e.y-P;var V=Xa({width:Math.abs(k),height:Math.abs(S),x:G[0],y:G[1]},W);0!==V.width&&0!==V.height&&Number.isFinite(V.x)&&Number.isFinite(V.y)&&(Da(n,{newSize:{width:V.width,height:V.height}}),Mr(n,V))},ri=function(e,t,n,r){var o,a,i=N(vt(e),4),l=i[0],c=i[1],s=i[2],u=i[3];switch(t){case"se":o=Math.max((n-l)/(s-l),(r-c)/(u-c)),a=function(e,t,n){var r=N(t,2),a=r[0],i=r[1],s=N(n,2),u=s[0],d=s[1];return{x:e.x+(a-l)*(o-1)+a-u,y:e.y+(i-c)*(o-1)+i-d}};break;case"nw":o=Math.max((s-n)/(s-l),(u-r)/(u-c)),a=function(e,t,n){var r=N(t,4),a=r[2],i=r[3],l=N(n,4),c=l[2],d=l[3];return{x:e.x-(s-a)*(o-1)+a-c,y:e.y-(u-i)*(o-1)+i-d}};break;case"ne":o=Math.max((n-l)/(s-l),(u-r)/(u-c)),a=function(e,t,n){var r=N(t,4),a=r[0],i=r[3],c=N(n,4),s=c[0],d=c[3];return{x:e.x+(a-l)*(o-1)+a-s,y:e.y-(u-i)*(o-1)+i-d}};break;case"sw":o=Math.max((s-n)/(s-l),(r-c)/(u-c)),a=function(e,t,n){var r=N(t,3),a=r[1],i=r[2],l=N(n,3),u=l[1],d=l[2];return{x:e.x-(s-i)*(o-1)+i-d,y:e.y+(a-c)*(o-1)+a-u}}}if(o>0){var d=e.reduce((function(t,n){if(!t)return t;var r=n.width*o,i=n.height*o,l={};if("text"===n.type){var c=ei(n,r,i);if(null===c)return null;l={fontSize:c.size,baseline:c.baseline}}var s=pt(n),u=Ja(n,r,i);Da(n,{newSize:{width:r,height:i},simultaneouslyUpdated:e});var d=bt(Xa(Xa({},n),u),r,i),p=a(n,s,d),f=p.x,h=p.y;return[].concat(R(t),[Xa(Xa({width:r,height:i,x:f,y:h},u),l)])}),[]);d&&e.forEach((function(e,t){Mr(e,d[t])}))}},oi=function(e,t,n,r,o,a,i){var l=5*Math.PI/2+Math.atan2(r-i,n-a);o&&(l+=s.ay/2,l-=l%s.ay),t.forEach((function(t,n){var r,o,c=N(pt(t),4),s=c[0],u=c[1],d=(s+c[2])/2,p=(u+c[3])/2,f=null!==(r=null===(o=e.originalElements.get(t.id))||void 0===o?void 0:o.angle)&&void 0!==r?r:t.angle,h=N(Je(d,p,a,i,l+f-t.angle),2),m=h[0],g=h[1];Mr(t,{x:t.x+(m-d),y:t.y+(g-p),angle:qa(l+f)})}))},ai=function(e,t,n,r,o,a,i,l,c,s){if(c){var u=Pr(t,i,a<r?-l:l);i=u.width,(l=u.height)<0&&(l=-l)}var d=o<n?n-i:n,p=a<r?r-l:r;s&&(d=n-(i+=i)/2,p=r-(l+=l)/2),0!==i&&0!==l&&Mr(e,{x:d,y:p,width:i,height:l})},ii=function(e){return e.replace(/\t/g," ").replace(/\r?\n|\r/g,"\n")},li=function(e,t,n,r){var o=r.zoom,a=r.offsetTop,i=r.offsetLeft,l=180*n/Math.PI;return"translate(".concat((e-2*i)*(o.value-1)/2,"px, ").concat((t-2*a)*(o.value-1)/2,"px) scale(").concat(o.value,") rotate(").concat(l,"deg)")},ci=function(e){var t=An(e.text,Pn(e));Mr(e,{width:t.width,height:t.height,baseline:t.baseline})},si=function(e,t){return Boolean(!e.viewModeEnabled&&(e.editingElement||ki(t,e).length||"selection"!==e.elementType))};function ui(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 di(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ui(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ui(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var pi=function(e){return e.filter((function(e){return e.isDeleted||!Tr(e)}))},fi=function(e){return e.reduce((function(e,t){return e[t.id]=t,e}),{})},hi=function(e){return e.reduce((function(e,t){return e+t.version}),0)},mi=function(e){return e.filter((function(e){return!e.isDeleted}))},gi=function(e){return!e.isDeleted},vi=function(e){return mi(e).map((function(e){return Xe(e.type)?di(di({},e),{},{lastCommittedPoint:null}):e}))},bi=function(e){return vi(e)},yi="rgba(0,0,0,0.3)",wi=function(e,t,n,r){var o=r.scrollX,a=r.scrollY,i=r.zoom;if(0===e.length)return{horizontal:null,vertical:null};var l=N(vt(e),4),c=l[0],s=l[1],u=l[2],d=l[3],p=t/i.value,f=n/i.value,h=t-p,m=n-f,g={top:parseInt(Wn("sat")),bottom:parseInt(Wn("sab")),left:parseInt(Wn("sal")),right:parseInt(Wn("sar"))},v=A().rtl,b=h/2-o+g.left,y=m/2-a+g.top,w=b+p-g.right,x=y+f-g.bottom,E=Math.min(c,b),k=Math.min(s,y),S=Math.max(u,w),C=Math.max(d,x);return{horizontal:b===E&&w===S?null:{x:Math.max(g.left,4)+(b-E)/(S-E)*t,y:n-6-Math.max(4,g.bottom),width:(w-b)/(S-E)*t-Math.max(8,g.left+g.right),height:6},vertical:y===k&&x===C?null:{x:v?Math.max(g.left,4):t-6-Math.max(g.right,4),y:(y-k)/(C-k)*n+Math.max(g.top,4),width:6,height:(x-y)/(C-k)*n-Math.max(8,g.top+g.bottom)}}},xi=function(e,t,n){var r=N([e.horizontal,e.vertical].map((function(e){return null!=e&&e.x<=t&&t<=e.x+e.width&&e.y<=n&&n<=e.y+e.height})),2),o=r[0],a=r[1];return{isOverEither:o||a,isOverHorizontal:o,isOverVertical:a}},Ei=function(e,t){return e.some((function(e){return t.selectedElementIds[e.id]}))},ki=function(e,t){return e.filter((function(e){return t.selectedElementIds[e.id]}))},Si=function(e,t){return t.editingElement?[t.editingElement]:ki(e,t)},Ci=function(e){var t=e.scenePoint,n=e.viewportDimensions,r=e.zoom;return{scrollX:n.width/2*(1/r.value)-t.x-r.translation.x*(1/r.value),scrollY:n.height/2*(1/r.value)-t.y-r.translation.y*(1/r.value)}},Oi=function(e,t,n){if(!e.length)return{scrollX:0,scrollY:0};var r=N(vt(e),4),o=r[0],a=r[1],i=r[2],l=r[3];if(function(e,t,n){var r=N(n,4),o=r[0],a=r[1],i=r[2],l=r[3],c=Fn({sceneX:o,sceneY:a},e),s=c.x,u=c.y,d=Fn({sceneX:i,sceneY:l},e),p=d.x,f=d.y;return p-s>e.width||f-u>e.height}(t,0,[o,a,i,l])){var c=function(e,t){if(!e.length)return[0,0,0,0];var n=1/0,r=e[0];return e.forEach((function(e){var o=N(gt(e),4),a=o[0],i=o[1],l=o[2],c=o[3],s=nt((a+l)/2,(i+c)/2,t.x,t.y);s<n&&(n=s,r=e)})),gt(r)}(e,Rn({clientX:t.scrollX,clientY:t.scrollY},t)),s=N(c,4);o=s[0],a=s[1],i=s[2],l=s[3]}return Ci({scenePoint:{x:(o+i)/2,y:(a+l)/2},viewportDimensions:{width:t.width,height:t.height},zoom:t.zoom})},Mi=function(e){return"rectangle"===e||"ellipse"===e||"diamond"===e||"draw"===e||"line"===e},Ii=function(e){return"rectangle"===e||"ellipse"===e||"diamond"===e||"arrow"===e||"draw"===e||"line"===e},Ti=function(e){return"rectangle"===e||"arrow"===e||"draw"===e||"line"===e},Pi=function(e){return"text"===e},Ai=function(e){return"arrow"===e},Li=function(e,t){for(var n=null,r=e.length-1;r>=0;--r){var o=e[r];if(!o.isDeleted&&t(o)){n=o;break}}return n},_i=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{x:0,y:0};return{value:e,translation:{x:r.x-n.left-(r.x-n.left-t.translation.x)*(e/t.value),y:r.y-n.top-(r.y-n.top-t.translation.y)*(e/t.value)}}},Di=function(e){var t=parseFloat(e.toFixed(2));return Math.max(.1,Math.min(t,10))},ji=(n(9478),c().forwardRef((function(e,t){var n=c().useRef(null);c().useImperativeHandle(t,(function(){return n.current}));var r="ToolIcon_size_".concat(e.size||"m");return"button"===e.type?c().createElement("button",{className:Ue("ToolIcon_type_button",r,e.className,e.visible&&!e.hidden?"ToolIcon_type_button--show":"ToolIcon_type_button--hide",{ToolIcon:!e.hidden,"ToolIcon--selected":e.selected}),hidden:e.hidden,title:e.title,"aria-label":e["aria-label"],type:"button",onClick:e.onClick,ref:n},c().createElement("div",{className:"ToolIcon__icon","aria-hidden":"true"},e.icon||e.label,e.keyBindingLabel&&c().createElement("span",{className:"ToolIcon__keybinding"},e.keyBindingLabel)),e.showAriaLabel&&c().createElement("div",{className:"ToolIcon__label"},e["aria-label"]),e.children):c().createElement("label",{className:Ue("ToolIcon",e.className),title:e.title},c().createElement("input",{className:"ToolIcon_type_radio ".concat(r),type:"radio",name:e.name,"aria-label":e["aria-label"],"aria-keyshortcuts":e["aria-keyshortcuts"],"data-testid":e["data-testid"],id:e.id,onChange:e.onChange,checked:e.checked,ref:n}),c().createElement("div",{className:"ToolIcon__icon"},e.icon,e.keyBindingLabel&&c().createElement("span",{className:"ToolIcon__keybinding"},e.keyBindingLabel)))})));ji.defaultProps={visible:!0,className:""};var zi=function(e){return"light"===e?wt.$y[4]:wt.$y[9]},Bi=function(e){return"light"===e?wt.Sn:wt.MA[4]},Hi=function(e){return"light"===e?wt.ix:"#1e1e1e"},Ni=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:512,n="number"==typeof t?{width:t}:t,r=n.width,o=void 0===r?512:r,a=n.height,i=void 0===a?o:a,l=n.mirror,s=n.style;return c().createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",viewBox:"0 0 ".concat(o," ").concat(i),className:Ue({"rtl-mirror":l}),style:s},"string"==typeof e?c().createElement("path",{fill:"currentColor",d:e}):e)},Ri=Ni("M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z",{mirror:!0}),Fi=Ni("M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z",{width:448,height:512}),Wi=Ni("M252 54L203 8a28 27 0 00-20-8H28C12 0 0 12 0 27v195c0 15 12 26 28 26h204c15 0 28-11 28-26V73a28 27 0 00-8-19zM130 213c-21 0-37-16-37-36 0-19 16-35 37-35 20 0 37 16 37 35 0 20-17 36-37 36zm56-169v56c0 4-4 6-7 6H44c-4 0-7-2-7-6V42c0-4 3-7 7-7h133l4 2 3 2a7 7 0 012 5z M296 201l87 95-188 205-78 9c-10 1-19-8-18-20l9-84zm141-14l-41-44a31 31 0 00-46 0l-38 41 87 95 38-42c13-14 13-36 0-50z",{width:448,height:512}),Gi=Ni("M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z",{width:576,height:512,mirror:!0}),Vi=Ni("M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z",{width:384,height:512}),Ki=Ni("M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z",{width:448,height:512}),Ui=Ni("M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"),Yi=Ni("M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z",{width:522,height:512,mirror:!0}),Zi=Ni("M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z",{width:448,height:512}),Xi=Ni("M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z",{width:448,height:512}),qi=Ni("M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"),$i=Ni("M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"),Qi=Ni("M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z",{mirror:!0}),Ji=Ni("M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z",{mirror:!0}),el=Ni("M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z",{mirror:!0}),tl=Ni(c().createElement("path",{stroke:"currentColor",strokeWidth:"40",fill:"currentColor",d:"M148 560a318 318 0 0 0 522 110 316 316 0 0 0 0-450 316 316 0 0 0-450 0c-11 11-21 22-30 34v4h47c25 0 46 21 46 46s-21 45-46 45H90c-13 0-25-6-33-14-9-9-14-20-14-33V156c0-25 20-45 45-45s45 20 45 45v32l1 1a401 401 0 0 1 623 509l212 212a42 42 0 0 1-59 59L698 757A401 401 0 0 1 65 570a42 42 0 0 1 83-10z"}),{width:1024}),nl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M22 9.556C22 8.696 21.303 8 20.444 8H16v8H8v4.444C8 21.304 8.697 22 9.556 22h10.888c.86 0 1.556-.697 1.556-1.556V9.556z",fill:Bi(t),stroke:Bi(t),strokeWidth:"2"}),c().createElement("path",{d:"M16 3.556C16 2.696 15.303 2 14.444 2H3.556C2.696 2 2 2.697 2 3.556v10.888C2 15.304 2.697 16 3.556 16h10.888c.86 0 1.556-.697 1.556-1.556V3.556z",fill:zi(t),stroke:zi(t),strokeWidth:"2"})),{width:24,mirror:!0})})),rl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M16 3.556C16 2.696 15.303 2 14.444 2H3.556C2.696 2 2 2.697 2 3.556v10.888C2 15.304 2.697 16 3.556 16h10.888c.86 0 1.556-.697 1.556-1.556V3.556z",fill:zi(t),stroke:zi(t),strokeWidth:"2"}),c().createElement("path",{d:"M22 9.556C22 8.696 21.303 8 20.444 8H9.556C8.696 8 8 8.697 8 9.556v10.888C8 21.304 8.697 22 9.556 22h10.888c.86 0 1.556-.697 1.556-1.556V9.556z",fill:Bi(t),stroke:Bi(t),strokeWidth:"2"})),{width:24,mirror:!0})})),ol=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M13 21a1 1 0 001 1h7a1 1 0 001-1v-7a1 1 0 00-1-1h-3v5h-5v3zM11 3a1 1 0 00-1-1H3a1 1 0 00-1 1v7a1 1 0 001 1h3V6h5V3z",fill:Bi(t),stroke:Bi(t),strokeWidth:"2"}),c().createElement("path",{d:"M18 7.333C18 6.597 17.403 6 16.667 6H7.333C6.597 6 6 6.597 6 7.333v9.334C6 17.403 6.597 18 7.333 18h9.334c.736 0 1.333-.597 1.333-1.333V7.333z",fill:zi(t),stroke:zi(t),strokeWidth:"2"})),{width:24,mirror:!0})})),al=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M18 7.333C18 6.597 17.403 6 16.667 6H7.333C6.597 6 6 6.597 6 7.333v9.334C6 17.403 6.597 18 7.333 18h9.334c.736 0 1.333-.597 1.333-1.333V7.333z",fill:zi(t),stroke:zi(t),strokeLinejoin:"round",strokeWidth:"2"}),c().createElement("path",{d:"M11 3a1 1 0 00-1-1H3a1 1 0 00-1 1v7a1 1 0 001 1h8V3zM22 14a1 1 0 00-1-1h-7a1 1 0 00-1 1v7a1 1 0 001 1h8v-8z",fill:Bi(t),stroke:Bi(t),strokeLinejoin:"round",strokeWidth:"2"})),{width:24,mirror:!0})})),il=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M 2,5 H 22",fill:Bi(t),stroke:Bi(t),strokeWidth:"2",strokeLinecap:"round"}),c().createElement("path",{d:"M 6,7 C 5.446,7 5,7.446 5,8 v 9.999992 c 0,0.554 0.446,1 1,1 h 3.0000001 c 0.554,0 0.9999999,-0.446 0.9999999,-1 V 8 C 10,7.446 9.5540001,7 9.0000001,7 Z m 9,0 c -0.554,0 -1,0.446 -1,1 v 5.999992 c 0,0.554 0.446,1 1,1 h 3 c 0.554,0 1,-0.446 1,-1 V 8 C 19,7.446 18.554,7 18,7 Z",fill:zi(t),stroke:zi(t),strokeWidth:"2"})),{width:24,mirror:!0})})),ll=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M 2,19 H 22",fill:Bi(t),stroke:Bi(t),strokeWidth:"2",strokeLinecap:"round"}),c().createElement("path",{d:"m 6,16.999992 c -0.554,0 -1,-0.446 -1,-1 V 6 C 5,5.446 5.446,5 6,5 H 9.0000001 C 9.5540001,5 10,5.446 10,6 v 9.999992 c 0,0.554 -0.4459999,1 -0.9999999,1 z m 9,0 c -0.554,0 -1,-0.446 -1,-1 V 10 c 0,-0.554 0.446,-1 1,-1 h 3 c 0.554,0 1,0.446 1,1 v 5.999992 c 0,0.554 -0.446,1 -1,1 z",fill:zi(t),stroke:zi(t),strokeWidth:"2"})),{width:24,mirror:!0})})),cl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M 5,2 V 22",fill:Bi(t),stroke:Bi(t),strokeWidth:"2",strokeLinecap:"round"}),c().createElement("path",{d:"m 7.000004,5.999996 c 0,-0.554 0.446,-1 1,-1 h 9.999992 c 0.554,0 1,0.446 1,1 v 3.0000001 c 0,0.554 -0.446,0.9999999 -1,0.9999999 H 8.000004 c -0.554,0 -1,-0.4459999 -1,-0.9999999 z m 0,9 c 0,-0.554 0.446,-1 1,-1 h 5.999992 c 0.554,0 1,0.446 1,1 v 3 c 0,0.554 -0.446,1 -1,1 H 8.000004 c -0.554,0 -1,-0.446 -1,-1 z",fill:zi(t),stroke:zi(t),strokeWidth:"2"})),{width:24})})),sl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M 19,2 V 22",fill:Bi(t),stroke:Bi(t),strokeWidth:"2",strokeLinecap:"round"}),c().createElement("path",{d:"m 16.999996,5.999996 c 0,-0.554 -0.446,-1 -1,-1 H 6.000004 c -0.554,0 -1,0.446 -1,1 v 3.0000001 c 0,0.554 0.446,0.9999999 1,0.9999999 h 9.999992 c 0.554,0 1,-0.4459999 1,-0.9999999 z m 0,9 c 0,-0.554 -0.446,-1 -1,-1 h -5.999992 c -0.554,0 -1,0.446 -1,1 v 3 c 0,0.554 0.446,1 1,1 h 5.999992 c 0.554,0 1,-0.446 1,-1 z",fill:zi(t),stroke:zi(t),strokeWidth:"2"})),{width:24})})),ul=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M5 5V19Z",fill:"black"}),c().createElement("path",{d:"M19 5V19M5 5V19",stroke:Bi(t),strokeWidth:"2",strokeLinecap:"round"}),c().createElement("path",{d:"M15 9C15.554 9 16 9.446 16 10V14C16 14.554 15.554 15 15 15H9C8.446 15 8 14.554 8 14V10C8 9.446 8.446 9 9 9H15Z",fill:zi(t),stroke:zi(t),strokeWidth:"2"})),{width:24})})),dl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M5 5L19 5M5 19H19",fill:Bi(t),stroke:Bi(t),strokeWidth:"2",strokeLinecap:"round"}),c().createElement("path",{d:"M15 9C15.554 9 16 9.446 16 10V14C16 14.554 15.554 15 15 15H9C8.446 15 8 14.554 8 14V10C8 9.446 8.446 9 9 9H15Z",fill:zi(t),stroke:zi(t),strokeWidth:"2"})),{width:24})})),pl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"m 5.000004,16.999996 c 0,0.554 0.446,1 1,1 h 3 c 0.554,0 1,-0.446 1,-1 v -10 c 0,-0.554 -0.446,-1 -1,-1 h -3 c -0.554,0 -1,0.446 -1,1 z m 9,-2 c 0,0.554 0.446,1 1,1 h 3 c 0.554,0 1,-0.446 1,-1 v -6 c 0,-0.554 -0.446,-1 -1,-1 h -3 c -0.554,0 -1,0.446 -1,1 z",fill:zi(t),stroke:zi(t),strokeWidth:"2"}),c().createElement("path",{d:"M 2,12 H 22",fill:Bi(t),stroke:Bi(t),strokeWidth:"2",strokeDasharray:"1, 2.8",strokeLinecap:"round"})),{width:24,mirror:!0})})),fl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M 7 5 C 6.446 5 6 5.446 6 6 L 6 9 C 6 9.554 6.446 10 7 10 L 17 10 C 17.554 10 18 9.554 18 9 L 18 6 C 18 5.446 17.554 5 17 5 L 7 5 z M 9 14 C 8.446 14 8 14.446 8 15 L 8 18 C 8 18.554 8.446 19 9 19 L 15 19 C 15.554 19 16 18.554 16 18 L 16 15 C 16 14.446 15.554 14 15 14 L 9 14 z ",fill:zi(t),stroke:zi(t),strokeWidth:"2"}),c().createElement("path",{d:"M 12,2 V 22",fill:Bi(t),stroke:Bi(t),strokeWidth:"2",strokeDasharray:"1, 2.8",strokeLinecap:"round"})),{width:24})})),hl=(Ni("M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z",{width:640,height:512,mirror:!0}),Ni("M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z"),Ni("M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z"),Ni("M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z",{width:352,height:512})),ml=Ni("M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z",{width:320,height:512,style:{marginLeft:"-0.2rem"},mirror:!0}),gl=Ni("M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z",{mirror:!0}),vl=(Ni("M11.553 22.894a.998.998 0 00.894 0s3.037-1.516 5.465-4.097C19.616 16.987 21 14.663 21 12V5a1 1 0 00-.649-.936l-8-3a.998.998 0 00-.702 0l-8 3A1 1 0 003 5v7c0 2.663 1.384 4.987 3.088 6.797 2.428 2.581 5.465 4.097 5.465 4.097zm-1.303-8.481l6.644-6.644a.856.856 0 111.212 1.212l-7.25 7.25a.856.856 0 01-1.212 0l-3.75-3.75a.856.856 0 111.212-1.212l3.144 3.144z",{width:24}),c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M25 26H111V111H25",fill:Bi(t)}),c().createElement("path",{d:"M25 111C25 80.2068 25 49.4135 25 26M25 26C48.6174 26 72.2348 26 111 26H25ZM25 26C53.3671 26 81.7343 26 111 26H25ZM111 26C111 52.303 111 78.606 111 111V26ZM111 26C111 51.2947 111 76.5893 111 111V26ZM111 111C87.0792 111 63.1585 111 25 111H111ZM111 111C87.4646 111 63.9293 111 25 111H111ZM25 111C25 81.1514 25 51.3028 25 26V111Z",stroke:Bi(t),strokeWidth:"2"}),c().createElement("path",{d:"M100 100H160V160H100",fill:Bi(t)}),c().createElement("path",{d:"M100 160C100 144.106 100 128.211 100 100M100 100C117.706 100 135.412 100 160 100H100ZM100 100C114.214 100 128.428 100 160 100H100ZM160 100C160 120.184 160 140.369 160 160V100ZM160 100C160 113.219 160 126.437 160 160V100ZM160 160C145.534 160 131.068 160 100 160H160ZM160 160C143.467 160 126.934 160 100 160H160ZM100 160C100 143.661 100 127.321 100 100V160Z",stroke:Bi(t),strokeWidth:"2"}),c().createElement("rect",{x:"2.5",y:"2.5",width:"30",height:"30",fill:Hi(t),stroke:Bi(t),strokeWidth:"6"}),c().createElement("rect",{x:"2.5",y:"149.5",width:"30",height:"30",fill:Hi(t),stroke:Bi(t),strokeWidth:"6"}),c().createElement("rect",{x:"147.5",y:"149.5",width:"30",height:"30",fill:Hi(t),stroke:Bi(t),strokeWidth:"6"}),c().createElement("rect",{x:"147.5",y:"2.5",width:"30",height:"30",fill:Hi(t),stroke:Bi(t),strokeWidth:"6"})),{width:182,height:182,mirror:!0})}))),bl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement(c().Fragment,null,c().createElement("path",{d:"M25 26H111V111H25",fill:Bi(t)}),c().createElement("path",{d:"M25 111C25 80.2068 25 49.4135 25 26M25 26C48.6174 26 72.2348 26 111 26H25ZM25 26C53.3671 26 81.7343 26 111 26H25ZM111 26C111 52.303 111 78.606 111 111V26ZM111 26C111 51.2947 111 76.5893 111 111V26ZM111 111C87.0792 111 63.1585 111 25 111H111ZM111 111C87.4646 111 63.9293 111 25 111H111ZM25 111C25 81.1514 25 51.3028 25 26V111Z",stroke:Bi(t),strokeWidth:"2"}),c().createElement("path",{d:"M100 100H160V160H100",fill:Bi(t)}),c().createElement("path",{d:"M100 160C100 144.106 100 128.211 100 100M100 100C117.706 100 135.412 100 160 100H100ZM100 100C114.214 100 128.428 100 160 100H100ZM160 100C160 120.184 160 140.369 160 160V100ZM160 100C160 113.219 160 126.437 160 160V100ZM160 160C145.534 160 131.068 160 100 160H160ZM160 160C143.467 160 126.934 160 100 160H160ZM100 160C100 143.661 100 127.321 100 100V160Z",stroke:Bi(t),strokeWidth:"2"}),c().createElement("rect",{x:"2.5",y:"2.5",width:"30",height:"30",fill:Hi(t),stroke:Bi(t),strokeWidth:"6"}),c().createElement("rect",{x:"78.5",y:"149.5",width:"30",height:"30",fill:Hi(t),stroke:Bi(t),strokeWidth:"6"}),c().createElement("rect",{x:"147.5",y:"149.5",width:"30",height:"30",fill:Hi(t),stroke:Bi(t),strokeWidth:"6"}),c().createElement("rect",{x:"147.5",y:"78.5",width:"30",height:"30",fill:Hi(t),stroke:Bi(t),strokeWidth:"6"}),c().createElement("rect",{x:"105.5",y:"2.5",width:"30",height:"30",fill:Hi(t),stroke:Bi(t),strokeWidth:"6"}),c().createElement("rect",{x:"2.5",y:"102.5",width:"30",height:"30",fill:Hi(t),stroke:Bi(t),strokeWidth:"6"})),{width:182,height:182,mirror:!0})})),yl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M20.101 16H28.0934L36 8.95989V4H33.5779L20.101 16ZM30.5704 4L17.0935 16H9.10101L22.5779 4H30.5704ZM19.5704 4L6.09349 16H4V10.7475L11.5779 4H19.5704ZM8.57036 4H4V8.06952L8.57036 4ZM36 11.6378L31.101 16H36V11.6378ZM2 2V18H38V2H2Z",fill:Bi(t)}),{width:40,height:20})})),wl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("g",{fill:Bi(t),fillRule:"evenodd",clipRule:"evenodd"},c().createElement("path",{d:"M20.101 16H28.0934L36 8.95989V4H33.5779L20.101 16ZM30.5704 4L17.0935 16H9.10101L22.5779 4H30.5704ZM19.5704 4L6.09349 16H4V10.7475L11.5779 4H19.5704ZM8.57036 4H4V8.06952L8.57036 4ZM36 11.6378L31.101 16H36V11.6378ZM2 2V18H38V2H2Z"}),c().createElement("path",{d:"M14.0001 18L3.00006 4.00002L4.5727 2.76438L15.5727 16.7644L14.0001 18ZM25.0001 18L14.0001 4.00002L15.5727 2.76438L26.5727 16.7644L25.0001 18ZM36.0001 18L25.0001 4.00002L26.5727 2.76438L37.5727 16.7644L36.0001 18Z"})),{width:40,height:20})})),xl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("path",{d:"M2 2H38V18H2V2Z",fill:Bi(t)}),{width:40,height:20})})),El=c().memo((function(e){var t=e.appearance,n=e.strokeWidth;return Ni(c().createElement("path",{d:"M6 10H34",stroke:Bi(t),strokeWidth:n,fill:"none"}),{width:40,height:20})})),kl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("path",{d:"M6 10H34",stroke:Bi(t),strokeWidth:2,fill:"none"}),{width:40,height:20})})),Sl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("path",{d:"M6 10H34",stroke:Bi(t),strokeWidth:2.5,strokeDasharray:"10, 8",fill:"none"}),{width:40,height:20})})),Cl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("path",{d:"M6 10H34",stroke:Bi(t),strokeWidth:2.5,strokeDasharray:"4, 4",fill:"none"}),{width:40,height:20})})),Ol=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("path",{d:"M3.00098 16.1691C6.28774 13.9744 19.6399 2.8905 22.7215 3.00082C25.8041 3.11113 19.1158 15.5488 21.4962 16.8309C23.8757 18.1131 34.4155 11.7148 37.0001 10.6919",stroke:Bi(t),strokeWidth:2,fill:"none"}),{width:40,height:20,mirror:!0})})),Ml=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("path",{d:"M3 17C6.68158 14.8752 16.1296 9.09849 22.0648 6.54922C28 3.99995 22.2896 13.3209 25 14C27.7104 14.6791 36.3757 9.6471 36.3757 9.6471M6.40706 15C13 11.1918 20.0468 1.51045 23.0234 3.0052C26 4.49995 20.457 12.8659 22.7285 16.4329C25 20 36.3757 13 36.3757 13",stroke:Bi(t),strokeWidth:2,fill:"none"}),{width:40,height:20,mirror:!0})})),Il=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("path",{d:"M3 15.6468C6.93692 13.5378 22.5544 2.81528 26.6206 3.00242C30.6877 3.18956 25.6708 15.3346 27.4009 16.7705C29.1309 18.2055 35.4001 12.4762 37 11.6177M3.97143 10.4917C6.61158 9.24563 16.3706 2.61886 19.8104 3.01724C23.2522 3.41472 22.0773 12.2013 24.6181 12.8783C27.1598 13.5536 33.3179 8.04068 35.0571 7.07244",stroke:Bi(t),strokeWidth:2,fill:"none"}),{width:40,height:20,mirror:!0})})),Tl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("path",{d:"M10 17L10 5L35 5",stroke:Bi(t),strokeWidth:2,fill:"none"}),{width:40,height:20,mirror:!0})})),Pl=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("path",{d:"M10 17V15C10 8 13 5 21 5L33.5 5",stroke:Bi(t),strokeWidth:2,fill:"none"}),{width:40,height:20,mirror:!0})})),Al=c().memo((function(e){var t=e.appearance;return Ni(c().createElement("path",{d:"M6 10H34",stroke:Bi(t),strokeWidth:2,fill:"none"}),{width:40,height:20})})),Ll=c().memo((function(e){var t=e.appearance,n=e.flip,r=void 0!==n&&n;return Ni(c().createElement("g",{transform:r?"translate(40, 0) scale(-1, 1)":"",stroke:Bi(t),strokeWidth:2,fill:"none"},c().createElement("path",{d:"M34 10H6M34 10L27 5M34 10L27 15"}),c().createElement("path",{d:"M27.5 5L34.5 10L27.5 15"})),{width:40,height:20})})),_l=c().memo((function(e){var t=e.appearance,n=e.flip,r=void 0!==n&&n;return Ni(c().createElement("g",{stroke:Bi(t),fill:Bi(t),transform:r?"translate(40, 0) scale(-1, 1)":""},c().createElement("path",{d:"M32 10L6 10",strokeWidth:2}),c().createElement("circle",{r:"4",transform:"matrix(-1 0 0 1 30 10)"})),{width:40,height:20})})),Dl=c().memo((function(e){var t=e.appearance,n=e.flip,r=void 0!==n&&n;return Ni(c().createElement("g",{transform:r?"translate(40, 0) scale(-1, 1)":""},c().createElement("path",{d:"M34 10H5.99996M34 10L34 5M34 10L34 15",stroke:Bi(t),strokeWidth:2,fill:"none"})),{width:40,height:20})})),jl=Ni("M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z"),zl=Ni("M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z"),Bl=[],Hl=function(e){return Bl=Bl.concat(e),e};function Nl(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 Rl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nl(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Fl=function(e,t){var n;if(e.editingGroupId){var r=Gr(mi(t),e.editingGroupId);if(r.length)return Rl(Rl({},e),{},{selectedElementIds:(n={},n[r[0].id]=!0,n)})}return e},Wl=Hl({name:"deleteSelectedElements",perform:function(e,t){if(t.editingLinearElement){var n=t.editingLinearElement,r=n.elementId,o=n.activePointIndex,a=n.startBindingElement,i=n.endBindingElement,l=ya.getElement(r);if(!l)return!1;if(null==o||-1===o||l.points.length<2){var c=e.filter((function(e){return e.id!==l.id}));return{elements:c,appState:Rl(Rl({},Fl(t,c)),{},{editingLinearElement:null}),commitToHistory:!1}}var s={startBindingElement:0===o?null:a,endBindingElement:o===l.points.length-1?null:i};return ya.movePoint(l,o,"delete"),{elements:e,appState:Rl(Rl({},t),{},{editingLinearElement:Rl(Rl(Rl({},t.editingLinearElement),s),{},{activePointIndex:o>0?o-1:0})}),commitToHistory:!0}}var u=function(e,t){return{elements:e.map((function(e){return t.selectedElementIds[e.id]?Ir(e,{isDeleted:!0}):e})),appState:Rl(Rl({},t),{},{selectedElementIds:{}})}}(e,t),d=u.elements,p=u.appState;return Ua(d,e.filter((function(e){var n=e.id;return t.selectedElementIds[n]}))),{elements:d,appState:Rl(Rl({},p=Fl(p,d)),{},{elementType:"selection",multiElement:null}),commitToHistory:Ei(mi(e),t)}},contextItemLabel:"labels.delete",keyTest:function(e){return e.key===qt||e.key===Jt},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{type:"button",icon:Ki,title:_("labels.delete"),"aria-label":_("labels.delete"),onClick:function(){return r(null)},visible:Ei(mi(t),n)})}}),Gl=function(e,t){for(var n=[],r=[],o=null,a=-1;++a<e.length;)t.selectedElementIds[e[a].id]?(r.length&&(n=n.concat(r),r=[]),n.push(a),o=a+1):e[a].isDeleted&&o===a?(o=a+1,r.push(a)):r=[];return n},Vl=function(e,t,n,r){var o=t[n],a=function(t){return!t.isDeleted&&(!e.editingGroupId||t.groupIds.includes(e.editingGroupId))},i="left"===r?function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length-1;n<0&&(n=e.length+n);for(var r=(n=Math.min(e.length-1,Math.max(n,0)))+1;--r>-1;)if(t(e[r],r,e))return r;return-1}(t,a,Math.max(0,n-1)):function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;n<0&&(n=e.length+n);for(var r=(n=Math.min(e.length,Math.max(n,0)))-1;++r<e.length;)if(t(e[r],r,e))return r;return-1}(t,a,n+1),l=t[i];if(!l)return-1;if(e.editingGroupId){if((null==o?void 0:o.groupIds.join(""))===(null==l?void 0:l.groupIds.join("")))return i;if(null==l||!l.groupIds.includes(e.editingGroupId))return-1}if(!l.groupIds.length)return i;var c=e.editingGroupId?l.groupIds[l.groupIds.indexOf(e.editingGroupId)-1]:l.groupIds[l.groupIds.length-1],s=Gr(t,c);return s.length?"left"===r?t.indexOf(s[0]):t.indexOf(s[s.length-1]):i},Kl=function(e,t,n){var r,o,a=Gl(t,e),i=(o=0,(r=a).reduce((function(e,t,n){return n>0&&r[n-1]!==t-1&&(o=++o),(e[o]||(e[o]=[])).push(t),e}),[]));return"right"===n&&(i=i.reverse()),i.forEach((function(r,o){var a=r[0],i=r[r.length-1],l="left"===n?a:i,c=Vl(e,t,l,n);if(-1!==c&&l!==c){var s="left"===n?t.slice(0,c):t.slice(0,a),u=t.slice(a,i+1),d="left"===n?t.slice(c,a):t.slice(i+1,c+1),p="left"===n?t.slice(i+1):t.slice(c+1);t="left"===n?[].concat(R(s),R(u),R(d),R(p)):[].concat(R(s),R(d),R(u),R(p))}})),t},Ul=function(e,t,n){var r,o,a=Gl(e,t),i=[],l=[];if("left"===n){if(t.editingGroupId){var c=Gr(e,t.editingGroupId);if(!c.length)return e;r=e.indexOf(c[0])}else r=0;o=a[a.length-1]}else{if(t.editingGroupId){var s=Gr(e,t.editingGroupId);if(!s.length)return e;o=e.indexOf(s[s.length-1])}else o=e.length-1;r=a[0]}for(var u=r;u<o+1;u++)a.includes(u)?i.push(e[u]):l.push(e[u]);var d=e.slice(0,r),p=e.slice(o+1);return"left"===n?[].concat(R(d),i,l,R(p)):[].concat(R(d),l,i,R(p))},Yl=function(e,t){return Kl(t,e.slice(),"left")},Zl=function(e,t){return Kl(t,e.slice(),"right")},Xl=function(e,t){return Ul(e,t,"left")},ql=function(e,t){return Ul(e,t,"right")},$l=Hl({name:"sendBackward",perform:function(e,t){return{elements:Yl(e,t),appState:t,commitToHistory:!0}},contextItemLabel:"labels.sendBackward",keyPriority:40,keyTest:function(e){return e[Qt]&&!e.shiftKey&&e.code===Lt},PanelComponent:function(e){var t=e.updateData,n=e.appState;return c().createElement("button",{type:"button",className:"zIndexButton",onClick:function(){return t(null)},title:"".concat(_("labels.sendBackward")," — ").concat(Nn("CtrlOrCmd+["))},c().createElement(rl,{appearance:n.appearance}))}}),Ql=Hl({name:"bringForward",perform:function(e,t){return{elements:Zl(e,t),appState:t,commitToHistory:!0}},contextItemLabel:"labels.bringForward",keyPriority:40,keyTest:function(e){return e[Qt]&&!e.shiftKey&&e.code===At},PanelComponent:function(e){var t=e.updateData,n=e.appState;return c().createElement("button",{type:"button",className:"zIndexButton",onClick:function(){return t(null)},title:"".concat(_("labels.bringForward")," — ").concat(Nn("CtrlOrCmd+]"))},c().createElement(nl,{appearance:n.appearance}))}}),Jl=Hl({name:"sendToBack",perform:function(e,t){return{elements:Xl(e,t),appState:t,commitToHistory:!0}},contextItemLabel:"labels.sendToBack",keyTest:function(e){return St?e[Qt]&&e.altKey&&e.code===Lt:e[Qt]&&e.shiftKey&&e.code===Lt},PanelComponent:function(e){var t=e.updateData,n=e.appState;return c().createElement("button",{type:"button",className:"zIndexButton",onClick:function(){return t(null)},title:"".concat(_("labels.sendToBack")," — ").concat(Nn(St?"CtrlOrCmd+Alt+[":"CtrlOrCmd+Shift+["))},c().createElement(al,{appearance:n.appearance}))}}),ec=Hl({name:"bringToFront",perform:function(e,t){return{elements:ql(e,t),appState:t,commitToHistory:!0}},contextItemLabel:"labels.bringToFront",keyTest:function(e){return St?e[Qt]&&e.altKey&&e.code===At:e[Qt]&&e.shiftKey&&e.code===At},PanelComponent:function(e){var t=e.updateData,n=e.appState;return c().createElement("button",{type:"button",className:"zIndexButton",onClick:function(e){return t(null)},title:"".concat(_("labels.bringToFront")," — ").concat(Nn(St?"CtrlOrCmd+Alt+]":"CtrlOrCmd+Shift+]"))},c().createElement(ol,{appearance:n.appearance}))}});function tc(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 nc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tc(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var rc=Hl({name:"selectAll",perform:function(e,t){return!t.editingLinearElement&&{appState:Fr(nc(nc({},t),{},{editingGroupId:null,selectedElementIds:e.reduce((function(e,t){return t.isDeleted||(e[t.id]=!0),e}),{})}),mi(e)),commitToHistory:!0}},contextItemLabel:"labels.selectAll",keyTest:function(e){return e[Qt]&&e.key===an}});function oc(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 ac(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oc(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ic=Hl({name:"duplicateSelection",perform:function(e,t){if(t.editingLinearElement){var n=t.editingLinearElement,r=n.activePointIndex,o=n.elementId,a=ya.getElement(o);if(!a||null===r)return!1;var i=a.points,l=i[r],c=i[r+1];return Mr(a,{points:[].concat(R(i.slice(0,r+1)),[c?[(l[0]+c[0])/2,(l[1]+c[1])/2]:[l[0]+30,l[1]+30]],R(i.slice(r+1)))}),{appState:ac(ac({},t),{},{editingLinearElement:ac(ac({},t.editingLinearElement),{},{activePointIndex:r+1})}),elements:e,commitToHistory:!0}}return ac(ac({},lc(e,t)),{},{commitToHistory:!0})},contextItemLabel:"labels.duplicateSelection",keyTest:function(e){return e[Qt]&&e.key===ln},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{type:"button",icon:gl,title:"".concat(_("labels.duplicateSelection")," — ").concat(Nn("CtrlOrCmd+D")),"aria-label":_("labels.duplicateSelection"),onClick:function(){return r(null)},visible:Ei(mi(t),n)})}}),lc=function(e,t){for(var n=new Map,r=[],o=[],a=new Map,i=function(e){var i=eo(t.editingGroupId,n,e,{x:e.x+s.k/2,y:e.y+s.k/2});return a.set(e.id,i.id),o.push(e),r.push(i),i},l=[],c=0;c<e.length;){var u=e[c];if(t.selectedElementIds[u.id]){if(u.groupIds.length){var d=Nr(t,u);if(d){var p=Gr(e,d);l.push.apply(l,R(p).concat(R(p.map((function(e){return i(e)}))))),c+=p.length;continue}}l.push(u,i(u))}else l.push(u);c++}return Va(l,o,a),{elements:l,appState:Fr(ac(ac({},t),{},{selectedGroupIds:{},selectedElementIds:r.reduce((function(e,t){return e[t.id]=!0,e}),{})}),mi(l))}},cc=function(e){var t=e.options,n=e.value,r=e.onChange,o=e.group;return c().createElement("div",{className:"buttonList buttonListIcon"},t.map((function(e){return c().createElement("label",{key:e.text,className:Ue({active:n===e.value}),title:e.text},c().createElement("input",{type:"radio",name:o,onChange:function(){return r(e.value)},checked:n===e.value}),e.icon)})))},sc=function(e){var t=e.options,n=e.value,r=e.onChange,o=e.group;return c().createElement("div",{className:"buttonList"},t.map((function(e){return c().createElement("label",{key:e.text,className:Ue({active:n===e.value})},c().createElement("input",{type:"radio",name:o,onChange:function(){return r(e.value)},checked:n===e.value}),e.text)})))},uc=(n(2816),function(e){var t=e.children,n=e.left,r=e.top,o=e.onCloseRequest,a=e.fitInViewport,i=void 0!==a&&a,s=(0,l.useRef)(null);return(0,l.useLayoutEffect)((function(){if(i&&s.current){var e=s.current,t=e.getBoundingClientRect(),n=t.x,r=t.y,o=t.width,a=t.height,l=window.innerWidth;n+o>l&&(e.style.left="".concat(l-o,"px"));var c=window.innerHeight;r+a>c&&(e.style.top="".concat(c-a,"px"))}}),[i]),(0,l.useEffect)((function(){if(o){var e=function(e){var t;null!==(t=s.current)&&void 0!==t&&t.contains(e.target)||(0,kt.unstable_batchedUpdates)((function(){return o(e)}))};return document.addEventListener("pointerdown",e,!1),function(){return document.removeEventListener("pointerdown",e,!1)}}}),[o]),c().createElement("div",{className:"popover",style:{top:r,left:n},ref:s},t)}),dc=(n(5574),function(e){var t=(new Option).style;return t.color=e,!!t.color}),pc=[["1","2","3","4","5"],["q","w","e","r","t"],["a","s","d","f","g"]].flat(),fc=function(e){var t=e.colors,n=e.color,r=e.onChange,o=e.onClose,a=e.label,i=e.showInput,l=void 0===i||i,s=e.type,u=c().useRef(),d=c().useRef(),p=c().useRef(),f=c().useRef();c().useEffect((function(){d.current?d.current.focus():f.current?f.current.focus():p.current&&p.current.focus()}),[]);return c().createElement("div",{className:"color-picker color-picker-type-".concat(s),role:"dialog","aria-modal":"true","aria-label":_("labels.colorPicker"),onKeyDown:function(e){if(e.key===on){var t,n=document.activeElement;if(e.shiftKey){if(n===u.current)null===(t=f.current)||void 0===t||t.focus(),e.preventDefault()}else if(n===f.current){var r;null===(r=u.current)||void 0===r||r.focus(),e.preventDefault()}}else if(wn(e.key)){var a=document.activeElement,i=A().rtl,c=Array.prototype.indexOf.call(p.current.children,a);if(-1!==c){var s=p.current.children.length-(l?1:0),d=e.key===(i?Yt:Zt)?(c+1)%s:e.key===(i?Zt:Yt)?(s+c-1)%s:e.key===Ut?(c+5)%s:e.key===Xt?(s+c-5)%s:c;p.current.children[d].focus()}e.preventDefault()}else if(pc.includes(e.key.toLowerCase())&&!In(e.target)){var h=pc.indexOf(e.key.toLowerCase());p.current.children[h].focus(),e.preventDefault()}else e.key!==tn&&e.key!==en||(e.preventDefault(),o());e.nativeEvent.stopImmediatePropagation()}},c().createElement("div",{className:"color-picker-triangle color-picker-triangle-shadow"}),c().createElement("div",{className:"color-picker-triangle"}),c().createElement("div",{className:"color-picker-content",ref:function(e){e&&(p.current=e)},tabIndex:0},t.map((function(e,t){return c().createElement("button",{className:"color-picker-swatch",onClick:function(t){t.currentTarget.focus(),r(e)},title:"".concat(e," — ").concat(pc[t].toUpperCase()),"aria-label":e,"aria-keyshortcuts":pc[t],style:{color:e},key:e,ref:function(r){r&&0===t&&(u.current=r),r&&e===n&&(d.current=r)},onFocus:function(){r(e)}},"transparent"===e?c().createElement("div",{className:"color-picker-transparent"}):void 0,c().createElement("span",{className:"color-picker-keybinding"},pc[t]))})),l&&c().createElement(hc,{color:n,label:a,onChange:function(e){r(e)},ref:f})))},hc=c().forwardRef((function(e,t){var n=e.color,r=e.onChange,o=e.label,a=N(c().useState(n),2),i=a[0],l=a[1],s=c().useRef(null);c().useEffect((function(){l(n)}),[n]),c().useImperativeHandle(t,(function(){return s.current}));var u=c().useCallback((function(e){var t=e.toLowerCase(),n=function(e){return"transparent"===e||dc(e)?e:dc("#".concat(e))?"#".concat(e):null}(t);n&&r(n),l(t)}),[r]);return c().createElement("label",{className:"color-input-container"},c().createElement("div",{className:"color-picker-hash"},"#"),c().createElement("input",{spellCheck:!1,className:"color-picker-input","aria-label":o,onChange:function(e){return u(e.target.value)},value:(i||"").replace(/^#/,""),onBlur:function(){return l(n)},ref:s}))})),mc=function(e){var t=e.type,n=e.color,r=e.onChange,o=e.label,a=N(c().useState(!1),2),i=a[0],l=a[1],s=c().useRef(null);return c().createElement("div",null,c().createElement("div",{className:"color-picker-control-container"},c().createElement("button",{className:"color-picker-label-swatch","aria-label":o,style:n?{"--swatch-color":n}:void 0,onClick:function(){return l(!i)},ref:s}),c().createElement(hc,{color:n,label:o,onChange:function(e){r(e)}})),c().createElement(c().Suspense,{fallback:""},i?c().createElement(uc,{onCloseRequest:function(e){return e.target!==s.current&&l(!1)}},c().createElement(fc,{colors:Et[t],color:n||null,onChange:function(e){r(e)},onClose:function(){var e;l(!1),null===(e=s.current)||void 0===e||e.focus()},label:o,showInput:!1,type:t})):null))};function gc(){return(gc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n(7143);function vc(e){var t=e.options,n=e.value,r=e.label,o=e.onChange,a=e.onClose,i=c().useRef(),l=c().useRef(),s=c().useRef(null);c().useEffect((function(){l.current?l.current.focus():s.current&&s.current.focus()}),[]);return c().createElement("div",{className:"picker",role:"dialog","aria-modal":"true","aria-label":r,onKeyDown:function(e){var n=t.find((function(t){return t.keyBinding===e.key.toLowerCase()}));if(e.metaKey||e.altKey||e.ctrlKey||!n)if(e.key===on)setTimeout((function(){l.current!==document.activeElement&&a()}),0);else if(wn(e.key)){var r=document.activeElement,o=A().rtl,i=Array.prototype.indexOf.call(s.current.children,r);if(-1!==i){var c=t.length,u=i;switch(e.key){case o?Yt:Zt:case Ut:u=(i+1)%c;break;case o?Zt:Yt:case Xt:u=(c+i-1)%c}s.current.children[u].focus()}e.preventDefault()}else e.key!==tn&&e.key!==en||(e.preventDefault(),a());else{var d=t.indexOf(n);s.current.children[d].focus(),e.preventDefault()}e.nativeEvent.stopImmediatePropagation()}},c().createElement("div",{className:"picker-content",ref:s},t.map((function(e,t){return c().createElement("button",{className:"picker-option",onClick:function(t){t.currentTarget.focus(),o(e.value)},title:"".concat(e.text," — ").concat(e.keyBinding.toUpperCase()),"aria-label":e.text||"none","aria-keyshortcuts":e.keyBinding,key:e.text,ref:function(r){r&&0===t&&(i.current=r),r&&e.value===n&&(l.current=r)},onFocus:function(){o(e.value)}},e.icon,c().createElement("span",{className:"picker-keybinding"},e.keyBinding))}))))}function bc(e){var t,n=e.value,r=e.label,o=e.options,a=e.onChange,i=e.group,l=void 0===i?"":i,s=N(c().useState(!1),2),u=s[0],d=s[1],p=c().useRef(null),f=A().rtl;return c().createElement("label",{className:"picker-container"},c().createElement("button",{name:l,className:u?"active":"","aria-label":r,onClick:function(){return d(!u)},ref:p},null===(t=o.find((function(e){return e.value===n})))||void 0===t?void 0:t.icon),c().createElement(c().Suspense,{fallback:""},u?c().createElement(c().Fragment,null,c().createElement(uc,gc({onCloseRequest:function(e){return e.target!==p.current&&d(!1)}},f?{right:5.5}:{left:-5.5}),c().createElement(vc,{options:o,value:n,label:r,onChange:a,onClose:function(){var e;d(!1),null===(e=p.current)||void 0===e||e.focus()}})),c().createElement("div",{className:"picker-triangle"})):null))}function yc(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 wc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yc(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var xc=function(e,t,n){return e.map((function(e){var r;return t.selectedElementIds[e.id]||e.id===(null===(r=t.editingElement)||void 0===r?void 0:r.id)?n(e):e}))},Ec=function(e,t,n,r){var o,a,i=t.editingElement,l=mi(e);return null!==(o=null!==(a=i&&n(i))&&void 0!==a?a:Ei(l,t)?function(e,t,n){var r=Array.from(new Set(ki(e,t).map((function(e){return n(e)}))));return 1===r.length?r[0]:null}(l,t,n):r)&&void 0!==o?o:null},kc=(Hl({name:"changeStrokeColor",perform:function(e,t,n){return{elements:xc(e,t,(function(e){return Ir(e,{strokeColor:n})})),appState:wc(wc({},t),{},{currentItemStrokeColor:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(c().Fragment,null,c().createElement("h3",{"aria-hidden":"true"},_("labels.stroke")),c().createElement(mc,{type:"elementStroke",label:_("labels.stroke"),color:Ec(t,n,(function(e){return e.strokeColor}),n.currentItemStrokeColor),onChange:r}))}}),Hl({name:"changeBackgroundColor",perform:function(e,t,n){return{elements:xc(e,t,(function(e){return Ir(e,{backgroundColor:n})})),appState:wc(wc({},t),{},{currentItemBackgroundColor:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(c().Fragment,null,c().createElement("h3",{"aria-hidden":"true"},_("labels.background")),c().createElement(mc,{type:"elementBackground",label:_("labels.background"),color:Ec(t,n,(function(e){return e.backgroundColor}),n.currentItemBackgroundColor),onChange:r}))}}),Hl({name:"changeFillStyle",perform:function(e,t,n){return{elements:xc(e,t,(function(e){return Ir(e,{fillStyle:n})})),appState:wc(wc({},t),{},{currentItemFillStyle:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement("fieldset",null,c().createElement("legend",null,_("labels.fill")),c().createElement(cc,{options:[{value:"hachure",text:_("labels.hachure"),icon:c().createElement(yl,{appearance:n.appearance})},{value:"cross-hatch",text:_("labels.crossHatch"),icon:c().createElement(wl,{appearance:n.appearance})},{value:"solid",text:_("labels.solid"),icon:c().createElement(xl,{appearance:n.appearance})}],group:"fill",value:Ec(t,n,(function(e){return e.fillStyle}),n.currentItemFillStyle),onChange:function(e){r(e)}}))}}),Hl({name:"changeStrokeWidth",perform:function(e,t,n){return{elements:xc(e,t,(function(e){return Ir(e,{strokeWidth:n})})),appState:wc(wc({},t),{},{currentItemStrokeWidth:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement("fieldset",null,c().createElement("legend",null,_("labels.strokeWidth")),c().createElement(cc,{group:"stroke-width",options:[{value:1,text:_("labels.thin"),icon:c().createElement(El,{appearance:n.appearance,strokeWidth:2})},{value:2,text:_("labels.bold"),icon:c().createElement(El,{appearance:n.appearance,strokeWidth:6})},{value:4,text:_("labels.extraBold"),icon:c().createElement(El,{appearance:n.appearance,strokeWidth:10})}],value:Ec(t,n,(function(e){return e.strokeWidth}),n.currentItemStrokeWidth),onChange:function(e){return r(e)}}))}}),Hl({name:"changeSloppiness",perform:function(e,t,n){return{elements:xc(e,t,(function(e){return Ir(e,{seed:kr(),roughness:n})})),appState:wc(wc({},t),{},{currentItemRoughness:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement("fieldset",null,c().createElement("legend",null,_("labels.sloppiness")),c().createElement(cc,{group:"sloppiness",options:[{value:0,text:_("labels.architect"),icon:c().createElement(Ol,{appearance:n.appearance})},{value:1,text:_("labels.artist"),icon:c().createElement(Ml,{appearance:n.appearance})},{value:2,text:_("labels.cartoonist"),icon:c().createElement(Il,{appearance:n.appearance})}],value:Ec(t,n,(function(e){return e.roughness}),n.currentItemRoughness),onChange:function(e){return r(e)}}))}}),Hl({name:"changeStrokeStyle",perform:function(e,t,n){return{elements:xc(e,t,(function(e){return Ir(e,{strokeStyle:n})})),appState:wc(wc({},t),{},{currentItemStrokeStyle:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement("fieldset",null,c().createElement("legend",null,_("labels.strokeStyle")),c().createElement(cc,{group:"strokeStyle",options:[{value:"solid",text:_("labels.strokeStyle_solid"),icon:c().createElement(kl,{appearance:n.appearance})},{value:"dashed",text:_("labels.strokeStyle_dashed"),icon:c().createElement(Sl,{appearance:n.appearance})},{value:"dotted",text:_("labels.strokeStyle_dotted"),icon:c().createElement(Cl,{appearance:n.appearance})}],value:Ec(t,n,(function(e){return e.strokeStyle}),n.currentItemStrokeStyle),onChange:function(e){return r(e)}}))}}),Hl({name:"changeOpacity",perform:function(e,t,n){return{elements:xc(e,t,(function(e){return Ir(e,{opacity:n})})),appState:wc(wc({},t),{},{currentItemOpacity:n}),commitToHistory:!0}},PanelComponent:function(e){var t,n=e.elements,r=e.appState,o=e.updateData;return c().createElement("label",{className:"control-label"},_("labels.opacity"),c().createElement("input",{type:"range",min:"0",max:"100",step:"10",onChange:function(e){return o(+e.target.value)},onWheel:function(e){e.stopPropagation();var t=+e.target.value;e.deltaY<0&&t<100?o(t+10):e.deltaY>0&&t>0&&o(t-10)},value:null!==(t=Ec(n,r,(function(e){return e.opacity}),r.currentItemOpacity))&&void 0!==t?t:void 0}))}}),Hl({name:"changeFontSize",perform:function(e,t,n){return{elements:xc(e,t,(function(e){if(Ye(e)){var t=Ir(e,{fontSize:n});return ci(t),t}return e})),appState:wc(wc({},t),{},{currentItemFontSize:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement("fieldset",null,c().createElement("legend",null,_("labels.fontSize")),c().createElement(sc,{group:"font-size",options:[{value:16,text:_("labels.small")},{value:20,text:_("labels.medium")},{value:28,text:_("labels.large")},{value:36,text:_("labels.veryLarge")}],value:Ec(t,n,(function(e){return Ye(e)&&e.fontSize}),n.currentItemFontSize||s.n5),onChange:function(e){return r(e)}}))}}),Hl({name:"changeFontFamily",perform:function(e,t,n){return{elements:xc(e,t,(function(e){if(Ye(e)){var t=Ir(e,{fontFamily:n});return ci(t),t}return e})),appState:wc(wc({},t),{},{currentItemFontFamily:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData,o=[{value:1,text:_("labels.handDrawn")},{value:2,text:_("labels.normal")},{value:3,text:_("labels.code")}];return c().createElement("fieldset",null,c().createElement("legend",null,_("labels.fontFamily")),c().createElement(sc,{group:"font-family",options:o,value:Ec(t,n,(function(e){return Ye(e)&&e.fontFamily}),n.currentItemFontFamily||s.rk),onChange:function(e){return r(e)}}))}}),Hl({name:"changeTextAlign",perform:function(e,t,n){return{elements:xc(e,t,(function(e){if(Ye(e)){var t=Ir(e,{textAlign:n});return ci(t),t}return e})),appState:wc(wc({},t),{},{currentItemTextAlign:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement("fieldset",null,c().createElement("legend",null,_("labels.textAlign")),c().createElement(sc,{group:"text-align",options:[{value:"left",text:_("labels.left")},{value:"center",text:_("labels.center")},{value:"right",text:_("labels.right")}],value:Ec(t,n,(function(e){return Ye(e)&&e.textAlign}),n.currentItemTextAlign),onChange:function(e){return r(e)}}))}}),Hl({name:"changeSharpness",perform:function(e,t,n){var r=Si(mi(e),t),o=r.length?r.every((function(e){return!Ze(e)})):!Xe(t.elementType),a=r.length?r.every(Ze):Xe(t.elementType);return{elements:xc(e,t,(function(e){return Ir(e,{strokeSharpness:n})})),appState:wc(wc({},t),{},{currentItemStrokeSharpness:o?n:t.currentItemStrokeSharpness,currentItemLinearStrokeSharpness:a?n:t.currentItemLinearStrokeSharpness}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement("fieldset",null,c().createElement("legend",null,_("labels.edges")),c().createElement(cc,{group:"edges",options:[{value:"sharp",text:_("labels.sharp"),icon:c().createElement(Tl,{appearance:n.appearance})},{value:"round",text:_("labels.round"),icon:c().createElement(Pl,{appearance:n.appearance})}],value:Ec(t,n,(function(e){return e.strokeSharpness}),Ti(n.elementType)&&(Xe(n.elementType)?n.currentItemLinearStrokeSharpness:n.currentItemStrokeSharpness)||null),onChange:function(e){return r(e)}}))}}),Hl({name:"changeArrowhead",perform:function(e,t,n){var r;return{elements:xc(e,t,(function(e){if(Ze(e)){var t=n.position,r=n.type;if("start"===t)return Ir(e,{startArrowhead:r});if("end"===t)return Ir(e,{endArrowhead:r})}return e})),appState:wc(wc({},t),{},(r={},r["start"===n.position?"currentItemStartArrowhead":"currentItemEndArrowhead"]=n.type,r)),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData,o=A().rtl;return c().createElement("fieldset",null,c().createElement("legend",null,_("labels.arrowheads")),c().createElement("div",{className:"iconSelectList"},c().createElement(bc,{label:"arrowhead_start",options:[{value:null,text:_("labels.arrowhead_none"),icon:c().createElement(Al,{appearance:n.appearance}),keyBinding:"q"},{value:"arrow",text:_("labels.arrowhead_arrow"),icon:c().createElement(Ll,{appearance:n.appearance,flip:!o}),keyBinding:"w"},{value:"bar",text:_("labels.arrowhead_bar"),icon:c().createElement(Dl,{appearance:n.appearance,flip:!o}),keyBinding:"e"},{value:"dot",text:_("labels.arrowhead_dot"),icon:c().createElement(_l,{appearance:n.appearance,flip:!o}),keyBinding:"r"}],value:Ec(t,n,(function(e){return Ze(e)&&Ai(e.type)?e.startArrowhead:n.currentItemStartArrowhead}),n.currentItemStartArrowhead),onChange:function(e){return r({position:"start",type:e})}}),c().createElement(bc,{label:"arrowhead_end",group:"arrowheads",options:[{value:null,text:_("labels.arrowhead_none"),keyBinding:"q",icon:c().createElement(Al,{appearance:n.appearance})},{value:"arrow",text:_("labels.arrowhead_arrow"),keyBinding:"w",icon:c().createElement(Ll,{appearance:n.appearance,flip:o})},{value:"bar",text:_("labels.arrowhead_bar"),keyBinding:"e",icon:c().createElement(Dl,{appearance:n.appearance,flip:o})},{value:"dot",text:_("labels.arrowhead_dot"),keyBinding:"r",icon:c().createElement(_l,{appearance:n.appearance,flip:o})}],value:Ec(t,n,(function(e){return Ze(e)&&Ai(e.type)?e.endArrowhead:n.currentItemEndArrowhead}),n.currentItemEndArrowhead),onChange:function(e){return r({position:"end",type:e})}})))}}),n(2189)),Sc=n.n(kc),Cc=c().createContext(!1),Oc=function(){return window.matchMedia?window.matchMedia(Sc().isMobileQuery):{matches:!1,addListener:function(){},removeListener:function(){}}},Mc=function(e){var t=e.children,n=(0,l.useRef)();n.current||(n.current=Oc());var r=N((0,l.useState)(n.current.matches),2),o=r[0],a=r[1];return(0,l.useEffect)((function(){var e=function(){return a(n.current.matches)};return n.current.addListener(e),function(){return n.current.removeListener(e)}}),[]),c().createElement(Cc.Provider,{value:o},t)},Ic=function(){return Oc().matches};function Tc(){return(0,l.useContext)(Cc)}function Pc(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 Ac(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pc(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}Hl({name:"changeViewBackgroundColor",perform:function(e,t,n){return{appState:Ac(Ac({},t),{},{viewBackgroundColor:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.appState,n=e.updateData;return c().createElement("div",{style:{position:"relative"}},c().createElement(mc,{label:_("labels.canvasBackground"),type:"canvasBackground",color:t.viewBackgroundColor,onChange:function(e){return n(e)}}))}}),Hl({name:"clearCanvas",perform:function(e,t){return{elements:e.map((function(e){return Ir(e,{isDeleted:!0})})),appState:Ac(Ac({},Qn()),{},{appearance:t.appearance,elementLocked:t.elementLocked,exportBackground:t.exportBackground,exportEmbedScene:t.exportEmbedScene,gridSize:t.gridSize,shouldAddWatermark:t.shouldAddWatermark,showStats:t.showStats,pasteDialog:t.pasteDialog}),commitToHistory:!0}},PanelComponent:function(e){var t=e.updateData;return c().createElement(ji,{type:"button",icon:Ki,title:_("buttons.clearReset"),"aria-label":_("buttons.clearReset"),showAriaLabel:Tc(),onClick:function(){window.confirm(_("alerts.clearReset"))&&t(null)}})}}),Hl({name:"zoomIn",perform:function(e,t){var n=_i(Di(t.zoom.value+s.V4),t.zoom,{left:t.offsetLeft,top:t.offsetTop},{x:t.width/2,y:t.height/2});return{appState:Ac(Ac({},t),{},{zoom:n}),commitToHistory:!1}},PanelComponent:function(e){var t=e.updateData;return c().createElement(ji,{type:"button",icon:Zi,title:"".concat(_("buttons.zoomIn")," — ").concat(Nn("CtrlOrCmd++")),"aria-label":_("buttons.zoomIn"),onClick:function(){t(null)}})},keyTest:function(e){return(e.code===Ot||e.code===It)&&(e[Qt]||e.shiftKey)}}),Hl({name:"zoomOut",perform:function(e,t){var n=_i(Di(t.zoom.value-s.V4),t.zoom,{left:t.offsetLeft,top:t.offsetTop},{x:t.width/2,y:t.height/2});return{appState:Ac(Ac({},t),{},{zoom:n}),commitToHistory:!1}},PanelComponent:function(e){var t=e.updateData;return c().createElement(ji,{type:"button",icon:Xi,title:"".concat(_("buttons.zoomOut")," — ").concat(Nn("CtrlOrCmd+-")),"aria-label":_("buttons.zoomOut"),onClick:function(){t(null)}})},keyTest:function(e){return(e.code===Mt||e.code===Tt)&&(e[Qt]||e.shiftKey)}}),Hl({name:"resetZoom",perform:function(e,t){return{appState:Ac(Ac({},t),{},{zoom:_i(1,t.zoom,{left:t.offsetLeft,top:t.offsetTop},{x:t.width/2,y:t.height/2})}),commitToHistory:!1}},PanelComponent:function(e){var t=e.updateData;return c().createElement(ji,{type:"button",icon:tl,title:_("buttons.resetZoom"),"aria-label":_("buttons.resetZoom"),onClick:function(){t(null)}})},keyTest:function(e){return(e.code===Bt||e.code===Pt)&&(e[Qt]||e.shiftKey)}});var Lc=function(e,t,n){var r=mi(e),o=ki(r,t),a=n&&o.length>0?vt(o):vt(r),i=function(e,t){var n=N(e,4),r=n[0],o=n[1],a=n[2],i=n[3],l=a-r,c=t.width/l,u=i-o,d=t.height/u,p=Math.min(c,d),f=Math.floor(p/s.V4)*s.V4;return Math.min(Math.max(f,s.V4),1)}(a,{width:t.width,height:t.height}),l=_i(i,t.zoom,{left:t.offsetLeft,top:t.offsetTop}),c=N(a,4),u=c[0],d=c[1],p=(u+c[2])/2,f=(d+c[3])/2;return{appState:Ac(Ac(Ac({},t),Ci({scenePoint:{x:p,y:f},viewportDimensions:{width:t.width,height:t.height},zoom:l})),{},{zoom:l}),commitToHistory:!1}};Hl({name:"zoomToSelection",perform:function(e,t){return Lc(e,t,!0)},keyTest:function(e){return e.code===Dt&&e.shiftKey&&!e.altKey&&!e[Qt]}}),Hl({name:"zoomToFit",perform:function(e,t){return Lc(e,t,!1)},keyTest:function(e){return e.code===_t&&e.shiftKey&&!e.altKey&&!e[Qt]}});function _c(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 Dc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_c(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var jc,zc,Bc=Hl({name:"finalize",perform:function(e,t){var n,r;if(t.editingLinearElement){var o=t.editingLinearElement,a=o.elementId,i=o.startBindingElement,l=o.endBindingElement,c=ya.getElement(a);if(c)return qe(c)&&Ea(c,i,l),{elements:c.points.length<2||Tr(c)?e.filter((function(e){return e.id!==c.id})):void 0,appState:Dc(Dc({},t),{},{editingLinearElement:null}),commitToHistory:!0}}var s=e;window.document.activeElement instanceof HTMLElement&&window.document.activeElement.blur();var u=t.multiElement?t.multiElement:"draw"===(null===(r=t.editingElement)||void 0===r?void 0:r.type)?t.editingElement:null;if(u){if("draw"!==u.type&&"touch"!==t.lastPointerDownWith){var d=u.points,p=u.lastCommittedPoint;p&&d[d.length-1]===p||Mr(u,{points:u.points.slice(0,-1)})}Tr(u)&&(s=s.slice(0,-1));var f=rt(u.points,t.zoom.value);if(("line"===u.type||"draw"===u.type)&&f){var h=u.points,m=h[0];Mr(u,{points:h.map((function(e,t){return t===h.length-1?[m[0],m[1]]:e}))})}if(qe(u)&&!f&&u.points.length>1){var g=N(ya.getPointAtIndexGlobalCoordinates(u,-1),2),v=g[0],b=g[1];Oa(u,t,xr.getScene(u),{x:v,y:b})}t.elementLocked||"draw"===t.elementType||(t.selectedElementIds[u.id]=!0)}return(t.elementLocked||"draw"===t.elementType)&&u||zn(),{elements:s,appState:Dc(Dc({},t),{},{elementType:(t.elementLocked||"draw"===t.elementType)&&u?t.elementType:"selection",draggingElement:null,multiElement:null,editingElement:null,startBoundElement:null,suggestedBindings:[],selectedElementIds:u&&!t.elementLocked&&"draw"!==t.elementType?Dc(Dc({},t.selectedElementIds),{},(n={},n[u.id]=!0,n)):t.selectedElementIds}),commitToHistory:"draw"===t.elementType}},keyTest:function(e,t){return e.key===tn&&(null!==t.editingLinearElement||!t.draggingElement&&null===t.multiElement)||(e.key===tn||e.key===en)&&null!==t.multiElement},PanelComponent:function(e){var t=e.appState,n=e.updateData;return c().createElement(ji,{type:"button",icon:qi,title:_("buttons.done"),"aria-label":_("buttons.done"),onClick:n,visible:null!=t.multiElement})}}),Hc="undefined"!=typeof process&&null!==(jc=process.env)&&void 0!==jc&&jc.REACT_APP_GOOGLE_ANALYTICS_ID&&"undefined"!=typeof window&&window.gtag?function(e,t,n,r){window.gtag("event",t,{event_category:e,event_label:n,value:r})}:("undefined"!=typeof process&&null!==(zc=process.env)&&void 0!==zc&&zc.JEST_WORKER_ID,function(e,t,n,r){});n(8518);function Nc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=E(e);if(t){var o=E(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return x(this,n)}}var Rc=function(e){b(n,e);var t=Nc(n);function n(){var e,r;h(this,n);for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return x(r,(e=r=t.call.apply(t,[this].concat(a)),r.handleFocus=function(e){_n(e.currentTarget)},r.handleBlur=function(e){var t=e.currentTarget.innerText.trim();t!==r.props.value&&r.props.onChange(t),Dn()},r.handleKeyDown=function(e){if("Enter"===e.key){if(e.preventDefault(),e.nativeEvent.isComposing||229===e.keyCode)return;e.currentTarget.blur()}},r.makeEditable=function(e){if(e)try{e.contentEditable="plaintext-only"}catch(t){e.contentEditable="true"}},e))}return g(n,[{key:"render",value:function(){return c().createElement("span",{suppressContentEditableWarning:!0,ref:this.makeEditable,"data-type":"wysiwyg",className:"TextInput",role:"textbox","aria-label":this.props.label,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,onFocus:this.handleFocus},this.props.value)}}]),n}(l.Component),Fc=(n(2680),function(e){var t=e.children,n=e.label,r=e.position,o=void 0===r?"below":r,a=e.long,i=void 0!==a&&a;return c().createElement("div",{className:"Tooltip"},c().createElement("span",{className:"above"===o?"Tooltip__label Tooltip__label--above":"Tooltip__label Tooltip__label--below",style:{width:i?"50ch":"10ch"}},n),t)}),Wc=function(e){var t=e.title?e.title:"dark"===e.value?_("buttons.lightMode"):_("buttons.darkMode");return c().createElement("label",{className:"ToolIcon ToolIcon_type_floating ToolIcon_size_M",title:t},c().createElement("input",{className:"ToolIcon_type_checkbox ToolIcon_toggle_opaque",type:"checkbox",onChange:function(t){return e.onChange(t.target.checked?"dark":"light")},checked:"dark"===e.value,"aria-label":t}),c().createElement("div",{className:"ToolIcon__icon"},"light"===e.value?Gc.MOON:Gc.SUN))},Gc={SUN:c().createElement("svg",{width:"512",height:"512",className:"rtl-mirror",viewBox:"0 0 512 512"},c().createElement("path",{fill:"currentColor",d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"})),MOON:c().createElement("svg",{width:"512",height:"512",className:"rtl-mirror",viewBox:"0 0 512 512"},c().createElement("path",{fill:"currentColor",d:"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"}))};var Vc="chooseFileSystemEntries"in self?"chooseFileSystemEntries":"showOpenFilePicker"in self&&"showOpenFilePicker";const Kc=Vc?"chooseFileSystemEntries"===Vc?n.e(736).then(n.bind(n,9012)):n.e(736).then(n.bind(n,499)):n.e(736).then(n.bind(n,5034));async function Uc(...e){return(await Kc).default(...e)}Vc?"chooseFileSystemEntries"===Vc?n.e(736).then(n.bind(n,6980)):n.e(736).then(n.bind(n,868)):n.e(736).then(n.bind(n,3110));const Yc=Vc?"chooseFileSystemEntries"===Vc?n.e(736).then(n.bind(n,1170)):n.e(736).then(n.bind(n,7814)):n.e(736).then(n.bind(n,4001));async function Zc(...e){return(await Yc).default(...e)}var Xc,qc=function(e,t,n,r,o,a){e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+o-a),e.quadraticCurveTo(t+r,n+o,t+r-a,n+o),e.lineTo(t+a,n+o),e.quadraticCurveTo(t,n+o,t,n+o-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),e.fill(),e.stroke()},$c=function(e,t){if(null!=t&&t.collaborators){var n=t.collaborators.get(e);if(null!=n&&n.color)return n.color}var r=e.split("").reduce((function(e,t){return e+t.charCodeAt(0)}),0),o=Et.elementBackground.slice(1),a=Et.elementStroke.slice(1);return{background:o[r%o.length],stroke:a[r%a.length]}};function Qc(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Jc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Jc(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function Jc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e){e.ACTIVE="active",e.AWAY="away",e.IDLE="idle"}(Xc||(Xc={}));var es=function(){var e=document.createElement("canvas").getContext("2d");if(!e)return!1;return e.fillStyle="#f00",e.textBaseline="top",e.font="32px Arial",e.fillText("😀",0,0),0!==e.getImageData(12,12,1,1).data[0]}(),ts=function(e,t,n,r,o,a,i,l){var c=arguments.length>8&&void 0!==arguments[8]&&arguments[8];e.translate(a,i),e.rotate(l),c&&e.fillRect(t-a,n-i,r,o),e.strokeRect(t-a,n-i,r,o),e.rotate(-l),e.translate(-a,-i)},ns=function(e,t,n,r){e.beginPath(),e.arc(t,n,r,0,2*Math.PI),e.fill(),e.stroke()},rs=function(e,t,n,r,o,a){var i=e.strokeStyle;e.strokeStyle="rgba(0,0,0,0.1)",e.beginPath();for(var l=n;l<n+o+2*t;l+=t)e.moveTo(l,r-t),e.lineTo(l,r+a+2*t);for(var c=r;c<r+a+2*t;c+=t)e.moveTo(n-t,c),e.lineTo(n+o+2*t,c);e.stroke(),e.strokeStyle=i},os=function(e,t,n,r){e.translate(n.scrollX,n.scrollY);var o=e.strokeStyle,a=e.lineWidth;e.lineWidth=1/n.zoom.value,ya.getPointsGlobalCoordinates(r).forEach((function(r,o){var a;e.strokeStyle="red",e.setLineDash([]),e.fillStyle=(null===(a=t.editingLinearElement)||void 0===a?void 0:a.activePointIndex)===o?"rgba(255, 127, 127, 0.9)":"rgba(255, 255, 255, 0.9)";var i=ya.POINT_HANDLE_SIZE;ns(e,r[0],r[1],i/2/n.zoom.value)})),e.setLineDash([]),e.lineWidth=a,e.translate(-n.scrollX,-n.scrollY),e.strokeStyle=o},as=function(e,t,n,r,o,a,i){var l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{},c=l.renderScrollbars,u=void 0===c||c,d=l.renderSelection,p=void 0===d||d,f=l.renderOptimizations,h=void 0!==f&&f,m=l.renderGrid,g=void 0===m||m;if(!a)return{atLeastOneVisibleElement:!1};var v=a.getContext("2d");v.scale(r,r);var b=a.width/r,y=a.height/r;if(i.exportWithDarkMode&&(v.filter=s.Gi),"string"==typeof i.viewBackgroundColor){var w="transparent"===i.viewBackgroundColor||5===i.viewBackgroundColor.length||9===i.viewBackgroundColor.length||/(hsla|rgba)\(/.test(i.viewBackgroundColor);w&&v.clearRect(0,0,b,y);var x=v.fillStyle;v.fillStyle=i.viewBackgroundColor,v.fillRect(0,0,b,y),v.fillStyle=x}else v.clearRect(0,0,b,y);var E=i.zoom.translation.x,k=i.zoom.translation.y;v.translate(E,k),v.scale(i.zoom.value,i.zoom.value),g&&t.gridSize&&rs(v,t.gridSize,-Math.ceil(E/i.zoom.value/t.gridSize)*t.gridSize+i.scrollX%t.gridSize,-Math.ceil(k/i.zoom.value/t.gridSize)*t.gridSize+i.scrollY%t.gridSize,b/i.zoom.value,y/i.zoom.value);var S,C=e.filter((function(e){return ds(e,b,y,{zoom:i.zoom,offsetLeft:t.offsetLeft,offsetTop:t.offsetTop,scrollX:i.scrollX,scrollY:i.scrollY})}));if(C.forEach((function(e){vr(e,o,v,h,i)})),t.editingLinearElement){var O=ya.getElement(t.editingLinearElement.elementId);O&&os(v,t,i,O)}if(n&&vr(n,o,v,h,i),xa(t)&&t.suggestedBindings.filter((function(e){return null!=e})).forEach((function(e){cs(v,i,e)})),p&&!t.multiElement&&!t.editingLinearElement){var M,I=e.reduce((function(e,n){var r=[];if(t.selectedElementIds[n.id]&&!Hr(t,n)&&r.push(wt.Sn),i.remoteSelectedElementIds[n.id]&&r.push.apply(r,R(i.remoteSelectedElementIds[n.id].map((function(e){var n,r=null===(n=t.collaborators.get(e))||void 0===n?void 0:n.picture;return $c(r||e,t).background})))),r.length){var o=N(pt(n),4),a=o[0],l=o[1],c=o[2],s=o[3];e.push({angle:n.angle,elementX1:a,elementY1:l,elementX2:c,elementY2:s,selectionColors:r})}return e}),[]),T=function(t){var n=Gr(e,t),r=N(vt(n),4),o=r[0],a=r[1],i=r[2],l=r[3];I.push({angle:0,elementX1:o,elementX2:i,elementY1:a,elementY2:l,selectionColors:[wt.Sn]})},P=Qc(Rr(t));try{for(P.s();!(M=P.n()).done;){var A=M.value;T(A)}}catch(e){P.e(e)}finally{P.f()}t.editingGroupId&&T(t.editingGroupId),I.forEach((function(e){return ls(v,i,e)}));var L=ki(e,t);if(v.translate(i.scrollX,i.scrollY),1===L.length){v.fillStyle=wt.ix;var _=co(L[0],i.zoom,"mouse");t.viewModeEnabled||is(v,i,_,L[0].angle)}else if(L.length>1&&!t.isRotating){var D=4/i.zoom.value;v.fillStyle=wt.ix;var j=vt(L),z=N(j,4),B=z[0],H=z[1],F=z[2],W=z[3],G=v.getLineDash();v.setLineDash([2/i.zoom.value]);var V=v.lineWidth;v.lineWidth=1/i.zoom.value,ts(v,B-D,H-D,F-B+2*D,W-H+2*D,(B+F)/2,(H+W)/2,0),v.lineWidth=V,v.setLineDash(G);var K=lo([B,H,F,W],0,i.zoom,"mouse",no);is(v,i,K,0)}v.translate(-i.scrollX,-i.scrollY)}for(var U in v.scale(1/i.zoom.value,1/i.zoom.value),v.translate(-E,-k),i.remotePointerViewportCoords){var Y,Z=i.remotePointerViewportCoords[U],X=Z.x,q=Z.y;X-=t.offsetLeft,q-=t.offsetTop;var $=9,Q=14,J=X<0||X>b-$||q<0||q>y-Q;X=Math.max(X,0),X=Math.min(X,b-$),q=Math.max(q,0),q=Math.min(q,y-Q);var ee=null===(Y=t.collaborators.get(U))||void 0===Y?void 0:Y.picture,te=$c(ee||U,t),ne=te.background,re=te.stroke,oe=v.strokeStyle,ae=v.fillStyle,ie=v.globalAlpha;v.strokeStyle=re,v.fillStyle=ne;var le=i.remotePointerUserStates[U];(J||le===Xc.AWAY)&&(v.globalAlpha=.48),i.remotePointerButton&&"down"===i.remotePointerButton[U]&&(v.beginPath(),v.arc(X,q,15,0,2*Math.PI,!1),v.lineWidth=3,v.strokeStyle="#ffffff88",v.stroke(),v.closePath(),v.beginPath(),v.arc(X,q,15,0,2*Math.PI,!1),v.lineWidth=1,v.strokeStyle=re,v.stroke(),v.closePath()),v.beginPath(),v.moveTo(X,q),v.lineTo(X+1,q+14),v.lineTo(X+4,q+9),v.lineTo(X+9,q+10),v.lineTo(X,q),v.fill(),v.stroke();var ce=i.remotePointerUsernames[U],se="";le===Xc.AWAY?se=es?"⚫️":" (".concat(Xc.AWAY,")"):le===Xc.IDLE?se=es?"💤":" (".concat(Xc.IDLE,")"):le===Xc.ACTIVE&&(se=es?"🟢":"");var ue="".concat(ce?"".concat(ce," "):"").concat(se);if(!J&&ue){var de=X+$,pe=q+Q,fe=4,he=4,me=v.measureText(ue),ge=me.actualBoundingBoxDescent+me.actualBoundingBoxAscent;v.fillStyle=re,v.fillRect(de-1,pe-1,me.width+2*fe+2,ge+2*he+2),v.fillStyle=ne,v.fillRect(de,pe,me.width+2*fe,ge+2*he),v.fillStyle=wt.ix,v.fillText(ue,de+fe,pe+he+me.actualBoundingBoxAscent)}v.strokeStyle=oe,v.fillStyle=ae,v.globalAlpha=ie,v.closePath()}if(u){S=wi(e,b,y,i);var ve=v.fillStyle,be=v.strokeStyle;v.fillStyle=yi,v.strokeStyle="rgba(255,255,255,0.8)",[S.horizontal,S.vertical].forEach((function(e){e&&qc(v,e.x,e.y,e.width,e.height,3)})),v.fillStyle=ve,v.strokeStyle=be}return v.scale(1/r,1/r),{atLeastOneVisibleElement:C.length>0,scrollBars:S}},is=function(e,t,n,r){Object.keys(n).forEach((function(o){var a=n[o];if(void 0!==a){var i=e.lineWidth;e.lineWidth=1/t.zoom.value,"rotation"===o?ns(e,a[0]+a[2]/2,a[1]+a[3]/2,a[2]/2):ts(e,a[0],a[1],a[2],a[3],a[0]+a[2]/2,a[1]+a[3]/2,r,!0),e.lineWidth=i}}))},ls=function(e,t,n){var r=n.angle,o=n.elementX1,a=n.elementY1,i=n.elementX2,l=n.elementY2,c=n.selectionColors,s=i-o,u=l-a,d=e.getLineDash(),p=e.lineWidth,f=e.lineDashOffset,h=e.strokeStyle,m=4/t.zoom.value,g=8/t.zoom.value,v=4/t.zoom.value;e.lineWidth=1/t.zoom.value,e.translate(t.scrollX,t.scrollY);for(var b=c.length,y=0;y<b;++y)e.strokeStyle=c[y],e.setLineDash([g,v+(g+v)*(b-1)]),e.lineDashOffset=(g+v)*y,ts(e,o-m,a-m,s+2*m,u+2*m,o+s/2,a+u/2,r);e.lineDashOffset=f,e.strokeStyle=h,e.lineWidth=p,e.setLineDash(d),e.translate(-t.scrollX,-t.scrollY)},cs=function(e,t,n){var r=e.strokeStyle,o=e.lineWidth,a=Array.isArray(n)?us:ss;e.translate(t.scrollX,t.scrollY),a(e,n),e.strokeStyle=r,e.lineWidth=o,e.translate(-t.scrollX,-t.scrollY)},ss=function(e,t){var n=N(pt(t),4),r=n[0],o=n[1],a=n[2]-r,i=n[3]-o,l=Ro(t,a,i);e.strokeStyle="rgba(0,0,0,.05)",e.lineWidth=l-4;var c=2+l/2;switch(t.type){case"rectangle":case"text":ts(e,r-c,o-c,a+2*c,i+2*c,r+a/2,o+i/2,t.angle);break;case"diamond":var s=Math.hypot(a,i);!function(e,t,n,r,o,a){e.translate(r,o),e.rotate(a),e.beginPath(),e.moveTo(0,n/2),e.lineTo(t/2,0),e.lineTo(0,-n/2),e.lineTo(-t/2,0),e.closePath(),e.stroke(),e.rotate(-a),e.translate(-r,-o)}(e,a+2*(c*s/i),i+2*(c*s/a),r+a/2,o+i/2,t.angle);break;case"ellipse":!function(e,t,n,r,o,a){e.beginPath(),e.ellipse(r,o,t/2,n/2,a,0,2*Math.PI),e.stroke()}(e,a+2*c,i+2*c,r+a/2,o+i/2,t.angle)}},us=function(e,t){var n=N(t,3),r=n[0],o=n[1],a=n[2],i=Ro(a,a.width,a.height);e.strokeStyle="rgba(0,0,0,0)",e.fillStyle="rgba(0,0,0,.05)",("both"===o?[0,-1]:"start"===o?[0]:[-1]).forEach((function(t){var n=N(ya.getPointAtIndexGlobalCoordinates(r,t),2),o=n[0],a=n[1];ns(e,o,a,i)}))},ds=function(e,t,n,r){var o=N(gt(e),4),a=o[0],i=o[1],l=o[2],c=o[3],s=Rn({clientX:r.offsetLeft,clientY:r.offsetTop},r),u=Rn({clientX:r.offsetLeft+t,clientY:r.offsetTop+n},r);return s.x<=l&&s.y<=c&&u.x>=a&&u.y>=i},ps="\x3c!-- svg-source:excalidraw --\x3e",fs=function(e,t,n){var r=n.exportBackground,o=n.exportPadding,a=void 0===o?10:o,i=n.viewBackgroundColor,l=n.scale,c=void 0===l?1:l,s=n.shouldAddWatermark,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(e,t){var n=document.createElement("canvas");return n.width=e*c,n.height=t*c,{canvas:n,scale:c}},d=ms(e,s),p=vs(d,a,s),f=N(p,4),h=f[0],m=f[1],g=f[2],v=f[3],b=u(g,v),y=b.canvas,w=b.scale,x=void 0===w?c:w;return as(d,t,null,x,Ve.canvas(y),y,{viewBackgroundColor:r?i:null,exportWithDarkMode:t.exportWithDarkMode,scrollX:-h+a,scrollY:-m+a,zoom:Qn().zoom,remotePointerViewportCoords:{},remoteSelectedElementIds:{},shouldCacheIgnoreZoom:!1,remotePointerUsernames:{},remotePointerUserStates:{}},{renderScrollbars:!1,renderSelection:!1,renderOptimizations:!1,renderGrid:!1}),y},hs=function(e,t){var n=t.exportBackground,r=t.exportPadding,o=void 0===r?10:r,a=t.viewBackgroundColor,i=t.exportWithDarkMode,l=t.scale,c=void 0===l?1:l,u=t.shouldAddWatermark,d=t.metadata,p=void 0===d?"":d,f=ms(e,u),h=N(vs(f,o,u),4),m=h[0],g=h[1],v=h[2],b=h[3],y=document.createElementNS(Sn,"svg");if(y.setAttribute("version","1.1"),y.setAttribute("xmlns",Sn),y.setAttribute("viewBox","0 0 ".concat(v," ").concat(b)),y.setAttribute("width","".concat(v*c)),y.setAttribute("height","".concat(b*c)),i&&y.setAttribute("filter",s.Gi),y.innerHTML="\n ".concat(ps,"\n ").concat(p,'\n <defs>\n <style>\n @font-face {\n font-family: "Virgil";\n src: url("https://excalidraw.com/FG_Virgil.woff2");\n }\n @font-face {\n font-family: "Cascadia";\n src: url("https://excalidraw.com/Cascadia.woff2");\n }\n </style>\n </defs>\n '),n&&a){var w=y.ownerDocument.createElementNS(Sn,"rect");w.setAttribute("x","0"),w.setAttribute("y","0"),w.setAttribute("width","".concat(v)),w.setAttribute("height","".concat(b)),w.setAttribute("fill",a),y.appendChild(w)}return function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=r.offsetX,a=void 0===o?0:o,i=r.offsetY,l=void 0===i?0:i;n&&e.forEach((function(e){e.isDeleted||br(e,t,n,e.x+a,e.y+l)}))}(f,Ve.svg(y),y,{offsetX:-m+o,offsetY:-g+o}),y},ms=function(e,t){var n=R(e);if(t){var r=N(vt(e),4),o=r[2],a=r[3];n=[].concat(R(n),[gs(o,a)])}return n},gs=function(e,t){return qr({text:_("labels.madeWithExcalidraw"),fontSize:16,fontFamily:s.rk,textAlign:"right",verticalAlign:s.hs,x:e,y:t+16,strokeColor:wt.MA[5],backgroundColor:"transparent",fillStyle:"hachure",strokeWidth:1,strokeStyle:"solid",roughness:1,opacity:100,strokeSharpness:"sharp"})},vs=function(e,t,n){var r=N(vt(e),4),o=r[0],a=r[1],i=r[2],l=r[3];return[o,a,jn(o,i)+2*t,jn(a,l)+t+(n?0:t)]};function bs(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return ys(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ys(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function ys(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ws(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 xs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ws(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ws(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Es=32,ks=12,Ss=256,Cs="NOT_SPREADSHEET",Os="VALID_SPREADSHEET",Ms=function(e){var t=/^[$€£¥₩]?([0-9,]+(\.[0-9]+)?)$/.exec(e);return t?parseFloat(t[1].replace(/,/g,"")):null},Is=function(e,t){return e.slice(1).every((function(e){return null!==Ms(e[t])}))},Ts=function(e){var t=e[0].length;if(t>2)return{type:Cs,reason:"More than 2 columns"};if(1===t){if(!Is(e,0))return{type:Cs,reason:"Value is not numeric"};var n=null===Ms(e[0][0]),r=(n?e.slice(1):e).map((function(e){return Ms(e[0])}));return r.length<2?{type:Cs,reason:"Less than two rows"}:{type:Os,spreadsheet:{title:n?e[0][0]:null,labels:null,values:r}}}var o=Is(e,0)?0:1;if(!Is(e,o))return{type:Cs,reason:"Value is not numeric"};var a=(o+1)%2,i=null===Ms(e[0][o]),l=i?e.slice(1):e;return l.length<2?{type:Cs,reason:"Less than 2 rows"}:{type:Os,spreadsheet:{title:i?e[0][o]:null,labels:l.map((function(e){return e[a]})),values:l.map((function(e){return Ms(e[o])}))}}},Ps=Et.elementBackground.slice(2,Et.elementBackground.length),As={fillStyle:"hachure",fontFamily:s.rk,fontSize:s.n5,opacity:100,roughness:1,strokeColor:Et.elementStroke[0],strokeSharpness:"sharp",strokeStyle:"solid",strokeWidth:1,verticalAlign:"middle"},Ls=function(e){return{chartWidth:44*e.values.length+ks,chartHeight:280}},_s=function(e,t,n,r,o,a){var i=Ls(e),l=i.chartWidth,c=i.chartHeight,u=e.title?qr(xs(xs({backgroundColor:o,groupIds:[r]},As),{},{text:e.title,x:t+l/2,y:n-Ss-24-s.n5,strokeSharpness:"sharp",strokeStyle:"solid",textAlign:"center"})):null,d=a?Zr(xs(xs({backgroundColor:o,groupIds:[r]},As),{},{type:"rectangle",x:t,y:n-c,width:l,height:c,strokeColor:Et.elementStroke[0],fillStyle:"solid",opacity:6})):null;return[].concat(R(d?[d]:[]),R(u?[u]:[]),R(function(e,t,n,r,o){var a;return(null===(a=e.labels)||void 0===a?void 0:a.map((function(e,a){return qr(xs(xs({groupIds:[r],backgroundColor:o},As),{},{text:e.length>8?"".concat(e.slice(0,5),"..."):e,x:t+44*a+24,y:n+6,width:Es,angle:5.87,fontSize:16,textAlign:"center",verticalAlign:"top"}))})))||[]}(e,t,n,r,o)),R(function(e,t,n,r,o){var a=qr(xs(xs({groupIds:[r],backgroundColor:o},As),{},{x:t-ks,y:n-ks,text:"0",textAlign:"right"}));return[a,qr(xs(xs({groupIds:[r],backgroundColor:o},As),{},{x:t-ks,y:n-Ss-a.height/2,text:Math.max.apply(Math,R(e.values)).toLocaleString(),textAlign:"right"}))]}(e,t,n,r,o)),R(function(e,t,n,r,o){var a=Ls(e),i=a.chartWidth,l=a.chartHeight;return[Qr(xs(xs({backgroundColor:o,groupIds:[r]},As),{},{type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,width:i,points:[[0,0],[i,0]]})),Qr(xs(xs({backgroundColor:o,groupIds:[r]},As),{},{type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,height:l,points:[[0,0],[0,-l]]})),Qr(xs(xs({backgroundColor:o,groupIds:[r]},As),{},{type:"line",x:t,y:n-Ss-ks,startArrowhead:null,endArrowhead:null,strokeStyle:"dotted",width:i,opacity:50,points:[[0,0],[i,0]]}))]}(e,t,n,r,o)))},Ds=function(e,t,n,r){return"line"===e?function(e,t,n){var r,o=Math.max.apply(Math,R(e.values)),a=Sr(),i=Ps[Math.floor(Math.random()*Ps.length)],l=0,c=[],u=bs(e.values);try{for(u.s();!(r=u.n()).done;){var d=r.value,p=44*l,f=-d/o*Ss;c.push([p,f]),l++}}catch(e){u.e(e)}finally{u.f()}var h=Math.max.apply(Math,R(c.map((function(e){return e[0]})))),m=Math.max.apply(Math,R(c.map((function(e){return e[1]})))),g=Math.min.apply(Math,R(c.map((function(e){return e[0]})))),v=Math.min.apply(Math,R(c.map((function(e){return e[1]})))),b=Qr(xs(xs({backgroundColor:i,groupIds:[a]},As),{},{type:"line",x:t+ks+16,y:n-ks,startArrowhead:null,endArrowhead:null,height:m-v,width:h-g,strokeWidth:2,points:c})),y=e.values.map((function(e,r){var l=44*r+6,c=-e/o*Ss+6;return Zr(xs(xs({backgroundColor:i,groupIds:[a]},As),{},{fillStyle:"solid",strokeWidth:2,type:"ellipse",x:t+l+16,y:n+c-24,width:ks,height:ks}))})),w=e.values.map((function(e,r){var l=44*r+6,c=e/o*Ss+6+ks;return Qr(xs(xs({backgroundColor:i,groupIds:[a]},As),{},{type:"line",x:t+l+16+6,y:n-c,startArrowhead:null,endArrowhead:null,height:c,strokeStyle:"dotted",opacity:50,points:[[0,0],[0,c]]}))}));return[].concat(R(_s(e,t,n,a,i,"production"===s.Vi.DEVELOPMENT)),[b],R(w),R(y))}(t,n,r):function(e,t,n){var r=Math.max.apply(Math,R(e.values)),o=Sr(),a=Ps[Math.floor(Math.random()*Ps.length)],i=e.values.map((function(e,i){var l=e/r*Ss;return Zr(xs(xs({backgroundColor:a,groupIds:[o]},As),{},{type:"rectangle",x:t+44*i+ks,y:n-l-ks,width:Es,height:l}))}));return[].concat(R(i),R(_s(e,t,n,o,a,"production"===s.Vi.DEVELOPMENT)))}(t,n,r)};function js(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function zs(e,t,n){return(zs=js()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&v(o,n.prototype),o}).apply(null,arguments)}function Bs(e){var t="function"==typeof Map?new Map:void 0;return(Bs=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return zs(e,arguments,E(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),v(r,e)})(e)}function Hs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=E(e);if(t){var o=E(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return x(this,n)}}var Ns=function(e){b(n,e);var t=Hs(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Couldn't export canvas.",o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"CANVAS_ERROR";return h(this,n),(e=t.call(this)).name=o,e.message=r,e}return n}(Bs(Error));function Rs(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Fs(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Fs(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function Fs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ws(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 Gs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ws(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ws(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Vs=function(e,t){var n,r,o,a,i,l,c,s,u={type:e.type,version:e.version||1,versionNonce:null!==(n=e.versionNonce)&&void 0!==n?n:0,isDeleted:null!==(r=e.isDeleted)&&void 0!==r&&r,id:e.id||Sr(),fillStyle:e.fillStyle||"hachure",strokeWidth:e.strokeWidth||1,strokeStyle:null!==(o=e.strokeStyle)&&void 0!==o?o:"solid",roughness:null!==(a=e.roughness)&&void 0!==a?a:1,opacity:null==e.opacity?100:e.opacity,angle:e.angle||0,x:e.x||0,y:e.y||0,strokeColor:e.strokeColor,backgroundColor:e.backgroundColor,width:e.width||0,height:e.height||0,seed:null!==(i=e.seed)&&void 0!==i?i:1,groupIds:null!==(l=e.groupIds)&&void 0!==l?l:[],strokeSharpness:null!==(c=e.strokeSharpness)&&void 0!==c?c:Xe(e.type)?"round":"sharp",boundElementIds:null!==(s=e.boundElementIds)&&void 0!==s?s:[]};return Gs(Gs(Gs({},u),Ar(u)),t)},Ks=function(e){var t;switch(e.type){case"text":var n=e.fontSize,r=e.fontFamily;if("font"in e){var o=N(e.font.split(" "),2),a=o[0],i=o[1];n=parseInt(a,10),r=function(e){for(var t=0,n=Object.entries(s.ut);t<n.length;t++){var r=N(n[t],2),o=r[0];if(r[1].includes(e))return parseInt(o)}return s.rk}(i)}return Vs(e,{fontSize:n,fontFamily:r,text:null!==(t=e.text)&&void 0!==t?t:"",baseline:e.baseline,textAlign:e.textAlign||s.Hg,verticalAlign:e.verticalAlign||s.hs});case"draw":case"line":case"arrow":var l=e.startArrowhead,c=void 0===l?null:l,u=e.endArrowhead,d=void 0===u?"arrow"===e.type?"arrow":null:u;return Vs(e,{startBinding:e.startBinding,endBinding:e.endBinding,points:!Array.isArray(e.points)||e.points.length<2?[[0,0],[e.width,e.height]]:e.points,lastCommittedPoint:null,startArrowhead:c,endArrowhead:d});case"ellipse":case"rectangle":case"diamond":return Vs(e,{})}},Us=function(e){return(e||[]).reduce((function(e,t){if("selection"!==t.type&&!Tr(t)){var n=Ks(t);n&&e.push(n)}return e}),[])},Ys=function(e,t){e=e||{};var n,r=Qn(),o={},a=Rs(Object.entries(r));try{for(a.s();!(n=a.n()).done;){var i=N(n.value,2),l=i[0],c=i[1],s=e[l],u=t?t[l]:void 0;o[l]=void 0!==s?s:void 0!==u?u:c}}catch(e){a.e(e)}finally{a.f()}return Gs(Gs({},o),{},{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0,zoom:"number"==typeof e.zoom?{value:e.zoom,translation:r.zoom.translation}:e.zoom||r.zoom})},Zs=function(e,t){return{elements:Us(null==e?void 0:e.elements),appState:Ys(null==e?void 0:e.appState,t||null)}};function Xs(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 qs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xs(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var $s=function(){var e=(0,f.Z)(p().mark((function e(t){var r;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("image/png"!==t.type){e.next=18;break}return e.prev=1,e.next=4,Promise.all([n.e(736),n.e(9)]).then(n.bind(n,8527));case 4:return e.next=6,e.sent.decodePngMetadata(t);case 6:return e.abrupt("return",e.sent);case 9:if(e.prev=9,e.t0=e.catch(1),"INVALID"!==e.t0.message){e.next=15;break}throw new Error(_("alerts.imageDoesNotContainScene"));case 15:throw new Error(_("alerts.cannotRestoreFromImage"));case 16:e.next=43;break;case 18:if(!("text"in Blob)){e.next=24;break}return e.next=21,t.text();case 21:r=e.sent,e.next=27;break;case 24:return e.next=26,new Promise((function(e){var n=new FileReader;n.readAsText(t,"utf8"),n.onloadend=function(){n.readyState===FileReader.DONE&&e(n.result)}}));case 26:r=e.sent;case 27:if("image/svg+xml"!==t.type){e.next=43;break}return e.prev=28,e.next=31,Promise.all([n.e(736),n.e(9)]).then(n.bind(n,8527));case 31:return e.next=33,e.sent.decodeSvgMetadata({svg:r});case 33:return e.abrupt("return",e.sent);case 36:if(e.prev=36,e.t1=e.catch(28),"INVALID"!==e.t1.message){e.next=42;break}throw new Error(_("alerts.imageDoesNotContainScene"));case 42:throw new Error(_("alerts.cannotRestoreFromImage"));case 43:return e.abrupt("return",r);case 44:case"end":return e.stop()}}),e,null,[[1,9],[28,36]])})));return function(t){return e.apply(this,arguments)}}(),Qs=function(e){var t;if("string"==typeof e)t=e;else{if(e.type)return e.type;t=e.name||""}return/\.(excalidraw|json)$/.test(t)?"application/json":/\.png$/.test(t)?"image/png":/\.jpe?g$/.test(t)?"image/jpeg":/\.svg$/.test(t)?"image/svg+xml":""},Js=function(){var e=(0,f.Z)(p().mark((function e(t,n){var r,o,a;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,$s(t);case 2:if(r=e.sent,e.prev=3,"excalidraw"===(o=JSON.parse(r)).type){e.next=7;break}throw new Error(_("alerts.couldNotLoadInvalidFile"));case 7:return a=Zs({elements:bi(o.elements||[]),appState:qs(qs({appearance:null==n?void 0:n.appearance,fileHandle:t.handle&&["application/json",s.LO.excalidraw].includes(Qs(t))?t.handle:null},nr(o.appState||{})),n?Oi(o.elements||[],n):{})},n),e.abrupt("return",a);case 11:throw e.prev=11,e.t0=e.catch(3),console.error(e.t0.message),new Error(_("alerts.couldNotLoadInvalidFile"));case 15:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(t,n){return e.apply(this,arguments)}}(),eu=function(){var e=(0,f.Z)(p().mark((function e(t){var n,r;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,$s(t);case 2:if(n=e.sent,"excalidrawlib"===(r=JSON.parse(n)).type){e.next=6;break}throw new Error(_("alerts.couldNotLoadInvalidFile"));case 6:return e.abrupt("return",r);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),tu=function(){var e=(0,f.Z)(p().mark((function e(t){return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){try{t.toBlob((function(t){if(!t)return n(new Ns(_("canvasError.canvasTooBig"),"CANVAS_POSSIBLY_TOO_BIG"));e(t)}))}catch(e){n(e)}})));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),nu="excalidraw/elements",ru="",ou=!1,au="clipboard"in navigator&&"readText"in navigator.clipboard,iu="clipboard"in navigator&&"writeText"in navigator.clipboard,lu="clipboard"in navigator&&"write"in navigator.clipboard&&"ClipboardItem"in window&&"toBlob"in HTMLCanvasElement.prototype,cu=function(){var e=(0,f.Z)(p().mark((function e(t,n){var r,o;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={type:nu,created:Date.now(),elements:ki(t,n)},o=JSON.stringify(r),ru=o,e.prev=3,ou=!1,e.next=7,hu(o);case 7:e.next=13;break;case 9:e.prev=9,e.t0=e.catch(3),ou=!0,console.error(e.t0);case 13:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(t,n){return e.apply(this,arguments)}}(),su=function(){if(!ru)return{};try{return JSON.parse(ru)}catch(e){return console.error(e),{}}},uu=function(e){var t=function(e){var t=e.trim().split("\n").map((function(e){return e.trim().split("\t")}));if(t.length&&2!==t[0].length&&(t=e.trim().split("\n").map((function(e){return e.trim().split(",")}))),0===t.length)return{type:Cs,reason:"No values"};var n=t[0].length;if(!t.every((function(e){return e.length===n})))return{type:Cs,reason:"All rows don't have same number of columns"};var r=Ts(t);if(r.type!==Os){var o=Ts(function(e){for(var t=[],n=0;n<e[0].length;n++){for(var r=[],o=0;o<e.length;o++)r.push(e[o][n]);t.push(r)}return t}(t));if(o.type===Os)return o}return r}(e);return t.type===Os?{spreadsheet:t.spreadsheet}:null},du=function(){var e=(0,f.Z)(p().mark((function e(t){var n,r;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!t){e.next=5;break}e.t0=null===(n=t.clipboardData)||void 0===n?void 0:n.getData("text/plain").trim(),e.next=11;break;case 5:if(e.t1=au,!e.t1){e.next=10;break}return e.next=9,navigator.clipboard.readText();case 9:e.t1=e.sent;case 10:e.t0=e.t1;case 11:return r=e.t0,e.abrupt("return",r||"");case 15:return e.prev=15,e.t2=e.catch(0),e.abrupt("return","");case 18:case"end":return e.stop()}}),e,null,[[0,15]])})));return function(t){return e.apply(this,arguments)}}(),pu=function(){var e=(0,f.Z)(p().mark((function e(t){var n,r,o,a;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,du(t);case 2:if((n=e.sent)&&!n.includes(ps)){e.next=5;break}return e.abrupt("return",su());case 5:if(!(r=uu(n))){e.next=8;break}return e.abrupt("return",r);case 8:if(o=su(),e.prev=9,a=JSON.parse(n),(null==(i=a)?void 0:i.type)!==nu||null!=o&&o.created&&!(o.created<a.created)){e.next=13;break}return e.abrupt("return",{elements:a.elements});case 13:return e.abrupt("return",o);case 16:return e.prev=16,e.t0=e.catch(9),e.abrupt("return",ou&&o.elements?o:{text:n});case 19:case"end":return e.stop()}var i}),e,null,[[9,16]])})));return function(t){return e.apply(this,arguments)}}(),fu=function(){var e=(0,f.Z)(p().mark((function e(t){var n;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,tu(t);case 2:return n=e.sent,e.next=5,navigator.clipboard.write([new window.ClipboardItem({"image/png":n})]);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),hu=function(){var e=(0,f.Z)(p().mark((function e(t){var n;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=!1,!iu){e.next=11;break}return e.prev=2,e.next=5,navigator.clipboard.writeText(t||"");case 5:n=!0,e.next=11;break;case 8:e.prev=8,e.t0=e.catch(2),console.error(e.t0);case 11:if(n||mu(t||" ")){e.next=13;break}throw new Error("couldn't copy");case 13:case"end":return e.stop()}}),e,null,[[2,8]])})));return function(t){return e.apply(this,arguments)}}(),mu=function(e){var t="rtl"===document.documentElement.getAttribute("dir"),n=document.createElement("textarea");n.style.border="0",n.style.padding="0",n.style.margin="0",n.style.position="absolute",n.style[t?"right":"left"]="-9999px";var r=window.pageYOffset||document.documentElement.scrollTop;n.style.top="".concat(r,"px"),n.style.fontSize="12pt",n.setAttribute("readonly",""),n.value=e,document.body.appendChild(n);var o=!1;try{n.select(),n.setSelectionRange(0,n.value.length),o=document.execCommand("copy")}catch(e){console.error(e)}return n.remove(),o},gu=function(){function e(){h(this,e)}var t;return g(e,null,[{key:"importLibrary",value:(t=(0,f.Z)(p().mark((function t(n){var r,o,a,i;return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,eu(n);case 2:if((r=t.sent)&&r.library){t.next=5;break}return t.abrupt("return");case 5:return o=function(e,t){return!e.find((function(e){return e.length===t.length&&e.every((function(e,n){return e.id===t[n].id&&e.versionNonce===t[n].versionNonce}))}))},t.next=8,e.loadLibrary();case 8:a=t.sent,i=r.library.reduce((function(e,t){var n=mi(Us(t));return o(a,n)&&e.push(n),e}),[]),e.saveLibrary([].concat(R(a),R(i)));case 11:case"end":return t.stop()}}),t)}))),function(e){return t.apply(this,arguments)})}]),e}();gu.libraryCache=null,gu.resetLibrary=function(){gu.libraryCache=null,localStorage.removeItem(s.I.LOCAL_STORAGE_LIBRARY)},gu.loadLibrary=function(){return new Promise(function(){var e=(0,f.Z)(p().mark((function e(t){var n,r;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!gu.libraryCache){e.next=2;break}return e.abrupt("return",t(JSON.parse(JSON.stringify(gu.libraryCache))));case 2:if(e.prev=2,n=localStorage.getItem(s.I.LOCAL_STORAGE_LIBRARY)){e.next=6;break}return e.abrupt("return",t([]));case 6:r=JSON.parse(n).map((function(e){return Us(e)})),gu.libraryCache=JSON.parse(JSON.stringify(r)),t(r),e.next=15;break;case 11:e.prev=11,e.t0=e.catch(2),console.error(e.t0),t([]);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})));return function(t){return e.apply(this,arguments)}}())},gu.saveLibrary=function(e){var t=gu.libraryCache;try{var n=JSON.stringify(e);gu.libraryCache=JSON.parse(n),localStorage.setItem(s.I.LOCAL_STORAGE_LIBRARY,n)}catch(e){gu.libraryCache=t,console.error(e)}};var vu=function(e,t){return JSON.stringify({type:"excalidraw",version:2,source:window.location.origin,elements:bi(e),appState:nr(t)},null,2)},bu=function(){var e=(0,f.Z)(p().mark((function e(t,n){var r,o,a;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=vu(t,n),o=new Blob([r],{type:"application/json"}),e.next=4,Zc(o,{fileName:n.name,description:"Excalidraw file",extensions:[".excalidraw"]},n.fileHandle);case 4:return a=e.sent,e.abrupt("return",{fileHandle:a});case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),yu=function(){var e=(0,f.Z)(p().mark((function e(t){var n;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Uc({description:"Excalidraw files",extensions:[".json",".excalidraw",".png",".svg"],mimeTypes:["application/json","image/png","image/svg+xml"]});case 2:return n=e.sent,e.abrupt("return",Js(n,t));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),wu=function(e){return"object"==typeof e&&e&&"excalidrawlib"===e.type&&1===e.version},xu=function(){var e=(0,f.Z)(p().mark((function e(){var t,n,r;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,gu.loadLibrary();case 2:return t=e.sent,n=JSON.stringify({type:"excalidrawlib",version:1,library:t},null,2),"library.excalidrawlib",r=new Blob([n],{type:s.LO.excalidrawlib}),e.next=8,Zc(r,{fileName:"library.excalidrawlib",description:"Excalidraw library file",extensions:[".excalidrawlib"]});case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),Eu=function(){var e=(0,f.Z)(p().mark((function e(){var t;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Uc({description:"Excalidraw library files",extensions:[".json",".excalidrawlib"],mimeTypes:["application/json"]});case 2:t=e.sent,gu.importLibrary(t);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ku=function(){var e=(0,f.Z)(p().mark((function e(t,r,o,a,i){var l,c,s,u,d,f,h,m,g,v,b,y;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(l=i.exportBackground,c=i.exportPadding,s=void 0===c?10:c,u=i.viewBackgroundColor,d=i.name,f=i.scale,h=void 0===f?1:f,m=i.shouldAddWatermark,0!==r.length){e.next=3;break}throw new Error(_("alerts.cannotExportEmptyCanvas"));case 3:if("svg"!==t&&"clipboard-svg"!==t){e.next=33;break}if(e.t0=hs,e.t1=r,e.t2=l,e.t3=o.exportWithDarkMode,e.t4=u,e.t5=s,e.t6=h,e.t7=m,!o.exportEmbedScene||"svg"!==t){e.next=20;break}return e.next=15,Promise.all([n.e(736),n.e(9)]).then(n.bind(n,8527));case 15:return e.next=17,e.sent.encodeSvgMetadata({text:vu(r,o)});case 17:e.t8=e.sent,e.next=21;break;case 20:e.t8=void 0;case 21:if(e.t9=e.t8,e.t10={exportBackground:e.t2,exportWithDarkMode:e.t3,viewBackgroundColor:e.t4,exportPadding:e.t5,scale:e.t6,shouldAddWatermark:e.t7,metadata:e.t9},g=(0,e.t0)(e.t1,e.t10),"svg"!==t){e.next=30;break}return e.next=27,Zc(new Blob([g.outerHTML],{type:"image/svg+xml"}),{fileName:"".concat(d,".svg"),extensions:[".svg"]});case 27:return e.abrupt("return");case 30:if("clipboard-svg"!==t){e.next=33;break}return hu(g.outerHTML),e.abrupt("return");case 33:if((v=fs(r,o,{exportBackground:l,viewBackgroundColor:u,exportPadding:s,scale:h,shouldAddWatermark:m})).style.display="none",document.body.appendChild(v),"png"!==t){e.next=51;break}return b="".concat(d,".png"),e.next=40,tu(v);case 40:if(y=e.sent,!o.exportEmbedScene){e.next=47;break}return e.next=44,Promise.all([n.e(736),n.e(9)]).then(n.bind(n,8527));case 44:return e.next=46,e.sent.encodePngMetadata({blob:y,metadata:vu(r,o)});case 46:y=e.sent;case 47:return e.next=49,Zc(y,{fileName:b,extensions:[".png"]});case 49:e.next=62;break;case 51:if("clipboard"!==t){e.next=62;break}return e.prev=52,e.next=55,fu(v);case 55:e.next=62;break;case 57:if(e.prev=57,e.t11=e.catch(52),"CANVAS_POSSIBLY_TOO_BIG"!==e.t11.name){e.next=61;break}throw e.t11;case 61:throw new Error(_("alerts.couldNotCopyToClipboard"));case 62:v!==a&&v.remove();case 63:case"end":return e.stop()}}),e,null,[[52,57]])})));return function(t,n,r,o,a){return e.apply(this,arguments)}}();function Su(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 Cu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Su(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Su(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ou,Mu,Iu;Hl({name:"changeProjectName",perform:function(e,t,n){return Hc("change","title"),{appState:Cu(Cu({},t),{},{name:n}),commitToHistory:!1}},PanelComponent:function(e){var t=e.appState,n=e.updateData;return c().createElement(Rc,{label:_("labels.fileTitle"),value:t.name||"Unnamed",onChange:function(e){return n(e)}})}}),Hl({name:"changeExportBackground",perform:function(e,t,n){return{appState:Cu(Cu({},t),{},{exportBackground:n}),commitToHistory:!1}},PanelComponent:function(e){var t=e.appState,n=e.updateData;return c().createElement("label",null,c().createElement("input",{type:"checkbox",checked:t.exportBackground,onChange:function(e){return n(e.target.checked)}})," ",_("labels.withBackground"))}}),Hl({name:"changeExportEmbedScene",perform:function(e,t,n){return{appState:Cu(Cu({},t),{},{exportEmbedScene:n}),commitToHistory:!1}},PanelComponent:function(e){var t=e.appState,n=e.updateData;return c().createElement("label",{style:{display:"flex"}},c().createElement("input",{type:"checkbox",checked:t.exportEmbedScene,onChange:function(e){return n(e.target.checked)}})," ",_("labels.exportEmbedScene"),c().createElement(Fc,{label:_("labels.exportEmbedScene_details"),position:"above",long:!0},c().createElement("div",{className:"TooltipIcon"},el)))}}),Hl({name:"changeShouldAddWatermark",perform:function(e,t,n){return{appState:Cu(Cu({},t),{},{shouldAddWatermark:n}),commitToHistory:!1}},PanelComponent:function(e){var t=e.appState,n=e.updateData;return c().createElement("label",null,c().createElement("input",{type:"checkbox",checked:t.shouldAddWatermark,onChange:function(e){return n(e.target.checked)}})," ",_("labels.addWatermark"))}}),Hl({name:"saveScene",perform:(Ou=(0,f.Z)(p().mark((function e(t,n,r){var o,a,i;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=!!n.fileHandle,e.prev=1,e.next=4,bu(t,n);case 4:return a=e.sent,i=a.fileHandle,e.abrupt("return",{commitToHistory:!1,appState:Cu(Cu({},n),{},{fileHandle:i,toastMessage:o?i.name?_("toast.fileSavedToFilename").replace("{filename}",'"'.concat(i.name,'"')):_("toast.fileSaved"):null})});case 9:return e.prev=9,e.t0=e.catch(1),"AbortError"!==(null===e.t0||void 0===e.t0?void 0:e.t0.name)&&console.error(e.t0),e.abrupt("return",{commitToHistory:!1});case 13:case"end":return e.stop()}}),e,null,[[1,9]])}))),function(e,t,n){return Ou.apply(this,arguments)}),keyTest:function(e){return e.key===hn&&e[Qt]&&!e.shiftKey},PanelComponent:function(e){var t=e.updateData;return c().createElement(ji,{type:"button",icon:Fi,title:_("buttons.save"),"aria-label":_("buttons.save"),showAriaLabel:Tc(),onClick:function(){return t(null)}})}}),Hl({name:"saveAsScene",perform:(Mu=(0,f.Z)(p().mark((function e(t,n,r){var o,a;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,bu(t,Cu(Cu({},n),{},{fileHandle:null}));case 3:return o=e.sent,a=o.fileHandle,e.abrupt("return",{commitToHistory:!1,appState:Cu(Cu({},n),{},{fileHandle:a})});case 8:return e.prev=8,e.t0=e.catch(0),"AbortError"!==(null===e.t0||void 0===e.t0?void 0:e.t0.name)&&console.error(e.t0),e.abrupt("return",{commitToHistory:!1});case 12:case"end":return e.stop()}}),e,null,[[0,8]])}))),function(e,t,n){return Mu.apply(this,arguments)}),keyTest:function(e){return e.key===hn&&e.shiftKey&&e[Qt]},PanelComponent:function(e){var t=e.updateData;return c().createElement(ji,{type:"button",icon:Wi,title:_("buttons.saveAs"),"aria-label":_("buttons.saveAs"),showAriaLabel:Tc(),hidden:!("chooseFileSystemEntries"in window||"showOpenFilePicker"in window),onClick:function(){return t(null)}})}}),Hl({name:"loadScene",perform:(Iu=(0,f.Z)(p().mark((function e(t,n){var r,o,a;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,yu(n);case 3:return r=e.sent,o=r.elements,a=r.appState,e.abrupt("return",{elements:o,appState:a,commitToHistory:!0});case 9:if(e.prev=9,e.t0=e.catch(0),"AbortError"!==(null===e.t0||void 0===e.t0?void 0:e.t0.name)){e.next=13;break}return e.abrupt("return",!1);case 13:return e.abrupt("return",{elements:t,appState:Cu(Cu({},n),{},{errorMessage:e.t0.message}),commitToHistory:!1});case 14:case"end":return e.stop()}}),e,null,[[0,9]])}))),function(e,t){return Iu.apply(this,arguments)}),keyTest:function(e){return e[Qt]&&e.key===un},PanelComponent:function(e){var t=e.updateData;e.appState;return c().createElement(ji,{type:"button",icon:Gi,title:_("buttons.load"),"aria-label":_("buttons.load"),showAriaLabel:Tc(),onClick:t})}}),Hl({name:"exportWithDarkMode",perform:function(e,t,n){return{appState:Cu(Cu({},t),{},{exportWithDarkMode:n}),commitToHistory:!1}},PanelComponent:function(e){var t=e.appState,n=e.updateData;return c().createElement("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:"-45px",marginBottom:"10px"}},c().createElement(Wc,{value:t.exportWithDarkMode?"dark":"light",onChange:function(e){n("dark"===e)},title:_("labels.toggleExportColorScheme")}))}});function Tu(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 Pu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Tu(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Tu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Au="{}",Lu=Hl({name:"copyStyles",perform:function(e,t){var n=e.find((function(e){return t.selectedElementIds[e.id]}));return n&&(Au=JSON.stringify(n)),{appState:Pu(Pu({},t),{},{toastMessage:_("toast.copyStyles")}),commitToHistory:!1}},contextItemLabel:"labels.copyStyles",keyTest:function(e){return e[Qt]&&e.altKey&&e.code===Ht}}),_u=Hl({name:"pasteStyles",perform:function(e,t){var n,r=JSON.parse(Au);return"text"!==(null==(n=r)?void 0:n.type)&&"diamond"!==(null==n?void 0:n.type)&&"rectangle"!==(null==n?void 0:n.type)&&"ellipse"!==(null==n?void 0:n.type)&&"arrow"!==(null==n?void 0:n.type)&&"draw"!==(null==n?void 0:n.type)&&"line"!==(null==n?void 0:n.type)?{elements:e,commitToHistory:!1}:{elements:e.map((function(e){if(t.selectedElementIds[e.id]){var n=Ir(e,{backgroundColor:null==r?void 0:r.backgroundColor,strokeWidth:null==r?void 0:r.strokeWidth,strokeColor:null==r?void 0:r.strokeColor,strokeStyle:null==r?void 0:r.strokeStyle,fillStyle:null==r?void 0:r.fillStyle,opacity:null==r?void 0:r.opacity,roughness:null==r?void 0:r.roughness});return Ye(n)&&(Mr(n,{fontSize:(null==r?void 0:r.fontSize)||s.n5,fontFamily:(null==r?void 0:r.fontFamily)||s.rk,textAlign:(null==r?void 0:r.textAlign)||s.Hg}),ci(n)),n}return e})),commitToHistory:!0}},contextItemLabel:"labels.pasteStyles",keyTest:function(e){return e[Qt]&&e.altKey&&e.code===Wt}}),Du=function(e){return c().createElement("label",{title:"".concat(e.title," — ?"),className:"help-icon"},c().createElement("div",{onClick:e.onClick},el))};function ju(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 zu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ju(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ju(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}Hl({name:"toggleCanvasMenu",perform:function(e,t){return{appState:zu(zu({},t),{},{openMenu:"canvas"===t.openMenu?null:"canvas"}),commitToHistory:!1}},PanelComponent:function(e){var t=e.appState,n=e.updateData;return c().createElement(ji,{type:"button",icon:$i,"aria-label":_("buttons.menu"),onClick:n,selected:"canvas"===t.openMenu})}}),Hl({name:"toggleEditMenu",perform:function(e,t){return{appState:zu(zu({},t),{},{openMenu:"shape"===t.openMenu?null:"shape"}),commitToHistory:!1}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{visible:si(n,mi(t)),type:"button",icon:Ui,"aria-label":_("buttons.edit"),onClick:r,selected:"shape"===n.openMenu})}}),Hl({name:"toggleFullScreen",perform:function(){return Hn()||document.documentElement.requestFullscreen(),Hn()&&document.exitFullscreen(),{commitToHistory:!1}},keyTest:function(e){return e.code===Rt&&!e[Qt]}}),Hl({name:"toggleShortcuts",perform:function(e,t){return{appState:zu(zu({},t),{},{showHelpDialog:!t.showHelpDialog}),commitToHistory:!1}},PanelComponent:function(e){var t=e.updateData;return c().createElement(Du,{title:_("helpDialog.title"),onClick:t})},keyTest:function(e){return e.key===nn}});function Bu(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 Hu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bu(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Nu(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ru(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ru(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function Ru(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Fu=function(e,t){var n=ki(mi(e),t);return n.length>=2&&!function(e){if(e.length>=2){var t,n=Nu(e[0].groupIds);try{var r=function(){var n=t.value;if(e.reduce((function(e,t){return e&&Wr(t,n)}),!0))return{v:!0}};for(n.s();!(t=n.n()).done;){var o=r();if("object"==typeof o)return o.v}}catch(e){n.e(e)}finally{n.f()}}return!1}(n)},Wu=Hl({name:"group",perform:function(e,t){var n=ki(mi(e),t);if(n.length<2)return{appState:t,elements:e,commitToHistory:!1};var r=Rr(t);if(1===r.length){var o=r[0],a=new Set(Gr(e,o).map((function(e){return e.id}))),i=new Set(n.map((function(e){return e.id})));if(new Set([].concat(R(Array.from(a)),R(Array.from(i)))).size===a.size)return{appState:t,elements:e,commitToHistory:!1}}var l=Sr(),c=e.map((function(e){return t.selectedElementIds[e.id]?Ir(e,{groupIds:Vr(e.groupIds,l,t.editingGroupId)}):e})),s=Gr(c,l),u=s[s.length-1],d=c.lastIndexOf(u),p=c.slice(d+1),f=c.slice(0,d).filter((function(e){return!Wr(e,l)})),h=[].concat(R(f),R(s),R(p));return{appState:Br(l,Hu(Hu({},t),{},{selectedGroupIds:{}}),mi(h)),elements:h,commitToHistory:!0}},contextItemLabel:"labels.group",contextItemPredicate:function(e,t){return Fu(e,t)},keyTest:function(e){return!e.shiftKey&&e[Qt]&&e.code===Nt},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{hidden:!Fu(t,n),type:"button",icon:c().createElement(vl,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.group")," — ").concat(Nn("CtrlOrCmd+G")),"aria-label":_("labels.group"),visible:Ei(mi(t),n)})}}),Gu=Hl({name:"ungroup",perform:function(e,t){if(0===Rr(t).length)return{appState:t,elements:e,commitToHistory:!1};var n=e.map((function(e){var n=function(e,t){return e.filter((function(e){return!t[e]}))}(e.groupIds,t.selectedGroupIds);return n.length===e.groupIds.length?e:Ir(e,{groupIds:n})}));return{appState:Fr(Hu(Hu({},t),{},{selectedGroupIds:{}}),mi(n)),elements:n,commitToHistory:!0}},keyTest:function(e){return e.shiftKey&&e[Qt]&&e.code===Nt},contextItemLabel:"labels.ungroup",contextItemPredicate:function(e,t){return Rr(t).length>0},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{type:"button",hidden:0===Rr(n).length,icon:c().createElement(bl,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.ungroup")," — ").concat(Nn("CtrlOrCmd+Shift+G")),"aria-label":_("labels.ungroup"),visible:Ei(mi(t),n)})}}),Vu=(n(566),function(e){var t=e.children,n=e.color,r=e.border,o=e.onClick;return c().createElement("div",{className:"Avatar",style:{background:n,border:"2px solid ".concat(r)},onClick:o},t)});function Ku(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 Uu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ku(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ku(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}Hl({name:"goToCollaborator",perform:function(e,t,n){var r=n;return r?{appState:Uu(Uu(Uu({},t),Ci({scenePoint:r,viewportDimensions:{width:t.width,height:t.height},zoom:t.zoom})),{},{openMenu:"canvas"===t.openMenu?null:t.openMenu}),commitToHistory:!1}:{appState:t,commitToHistory:!1}},PanelComponent:function(e){var t=e.appState,n=e.updateData,r=e.id;if(!r)return null;var o=t.collaborators.get(r);if(!o)return null;var a=$c(r||r,t),i=a.background,l=a.stroke,s=o.picture,u=function(e){if(!e)return"?";var t=e.trim().split(" ");if(t.length<2)return t[0].substring(0,2).toUpperCase();var n=t[0],r=t[t.length-1];return(n[0]+r[0]).toUpperCase()}(o.username);return c().createElement(Vu,{color:i,border:s?"transparent":l,onClick:function(){return n(o.pointer)}},s?c().createElement("img",{referrerPolicy:"no-referrer",src:s,alt:u}):u)}});var Yu=Hl({name:"addToLibrary",perform:function(e,t){var n=ki(mi(e),t);return gu.loadLibrary().then((function(e){gu.saveLibrary([].concat(R(e),[n.map(Jr)]))})),!1},contextItemLabel:"labels.addToLibrary"});function Zu(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 Xu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Zu(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var qu=function(e){var t=new Map;return e.forEach((function(e){var n=0===e.groupIds.length?e.id:e.groupIds[e.groupIds.length-1],r=t.get(n)||[];t.set(n,[].concat(R(r),[e]))})),Array.from(t.values())},$u=function(e,t,n){var r,o,a,i=n.axis,l=n.position,c=Qu(e),s=N("x"===i?["minX","maxX"]:["minY","maxY"],2),u=s[0],d=s[1],p={x:0,y:0};return Xu(Xu({},p),{},"start"===l?((r={})[i]=t[u]-c[u],r):"end"===l?((o={})[i]=t[d]-c[d],o):((a={})[i]=(t[u]+t[d])/2-(c[u]+c[d])/2,a))},Qu=function(e){var t=N(vt(e),4);return{minX:t[0],minY:t[1],maxX:t[2],maxY:t[3]}},Ju=function(e,t){return ki(mi(e),t).length>1},ed=function(e,t,n){var r=function(e,t){var n=qu(e),r=Qu(e);return n.flatMap((function(e){var n=$u(e,r,t);return e.map((function(e){return Ir(e,{x:e.x+n.x,y:e.y+n.y})}))}))}(ki(mi(e),t),n),o=fi(r);return e.map((function(e){return o[e.id]||e}))};Hl({name:"alignTop",perform:function(e,t){return{appState:t,elements:ed(e,t,{position:"start",axis:"y"}),commitToHistory:!0}},keyTest:function(e){return e[Qt]&&e.shiftKey&&e.key===Xt},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{hidden:!Ju(t,n),type:"button",icon:c().createElement(il,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.alignTop")," — ").concat(Nn("CtrlOrCmd+Shift+Up")),"aria-label":_("labels.alignTop"),visible:Ei(mi(t),n)})}}),Hl({name:"alignBottom",perform:function(e,t){return{appState:t,elements:ed(e,t,{position:"end",axis:"y"}),commitToHistory:!0}},keyTest:function(e){return e[Qt]&&e.shiftKey&&e.key===Ut},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{hidden:!Ju(t,n),type:"button",icon:c().createElement(ll,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.alignBottom")," — ").concat(Nn("CtrlOrCmd+Shift+Down")),"aria-label":_("labels.alignBottom"),visible:Ei(mi(t),n)})}}),Hl({name:"alignLeft",perform:function(e,t){return{appState:t,elements:ed(e,t,{position:"start",axis:"x"}),commitToHistory:!0}},keyTest:function(e){return e[Qt]&&e.shiftKey&&e.key===Yt},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{hidden:!Ju(t,n),type:"button",icon:c().createElement(cl,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.alignLeft")," — ").concat(Nn("CtrlOrCmd+Shift+Left")),"aria-label":_("labels.alignLeft"),visible:Ei(mi(t),n)})}}),Hl({name:"alignRight",perform:function(e,t){return{appState:t,elements:ed(e,t,{position:"end",axis:"x"}),commitToHistory:!0}},keyTest:function(e){return e[Qt]&&e.shiftKey&&e.key===Zt},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{hidden:!Ju(t,n),type:"button",icon:c().createElement(sl,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.alignRight")," — ").concat(Nn("CtrlOrCmd+Shift+Right")),"aria-label":_("labels.alignRight"),visible:Ei(mi(t),n)})}}),Hl({name:"alignVerticallyCentered",perform:function(e,t){return{appState:t,elements:ed(e,t,{position:"center",axis:"y"}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{hidden:!Ju(t,n),type:"button",icon:c().createElement(pl,{appearance:n.appearance}),onClick:function(){return r(null)},title:_("labels.centerVertically"),"aria-label":_("labels.centerVertically"),visible:Ei(mi(t),n)})}}),Hl({name:"alignHorizontallyCentered",perform:function(e,t){return{appState:t,elements:ed(e,t,{position:"center",axis:"x"}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{hidden:!Ju(t,n),type:"button",icon:c().createElement(fl,{appearance:n.appearance}),onClick:function(){return r(null)},title:_("labels.centerHorizontally"),"aria-label":_("labels.centerHorizontally"),visible:Ei(mi(t),n)})}});function td(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return nd(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nd(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function nd(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var rd=function(e){var t=new Map;return e.forEach((function(e){var n=0===e.groupIds.length?e.id:e.groupIds[e.groupIds.length-1],r=t.get(n)||[];t.set(n,[].concat(R(r),[e]))})),Array.from(t.values())},od=function(e){var t=N(vt(e),4),n=t[0],r=t[1],o=t[2],a=t[3];return{minX:n,minY:r,maxX:o,maxY:a,width:o-n,height:a-r,midX:(n+o)/2,midY:(r+a)/2}},ad=function(e,t){return ki(mi(e),t).length>1},id=function(e,t,n){var r=function(e,t){var n,r=N("x"===t.axis?["minX","midX","maxX","width"]:["minY","midY","maxY","height"],4),o=r[0],a=r[1],i=r[2],l=r[3],c=od(e),s=rd(e).map((function(e){return[e,od(e)]})).sort((function(e,t){return e[1][a]-t[1][a]})),u=0,d=td(s);try{for(d.s();!(n=d.n()).done;)u+=n.value[1][l]}catch(e){d.e(e)}finally{d.f()}var p=(c[l]-u)/(s.length-1);if(p<0){var f=s.findIndex((function(e){return e[1][o]===c[o]})),h=s.findIndex((function(e){return e[1][i]===c[i]})),m=(s[h][1][a]-s[f][1][a])/(s.length-1),g=s[f][1][a];return s.flatMap((function(e,n){var r=N(e,2),o=r[0],i=r[1],l={x:0,y:0};return n!==f&&n!==h&&(g+=m,l[t.axis]=g-i[a]),o.map((function(e){return Ir(e,{x:e.x+l.x,y:e.y+l.y})}))}))}var v=c[o];return s.flatMap((function(e){var n=N(e,2),r=n[0],a=n[1],i={x:0,y:0};return i[t.axis]=v-a[o],v+=p,v+=a[l],r.map((function(e){return Ir(e,{x:e.x+i.x,y:e.y+i.y})}))}))}(ki(mi(e),t),n),o=fi(r);return e.map((function(e){return o[e.id]||e}))};Hl({name:"distributeHorizontally",perform:function(e,t){return{appState:t,elements:id(e,t,{space:"between",axis:"x"}),commitToHistory:!0}},keyTest:function(e){return e.altKey&&e.code===Ft},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{hidden:!ad(t,n),type:"button",icon:c().createElement(ul,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.distributeHorizontally")," — ").concat(Nn("Alt+H")),"aria-label":_("labels.distributeHorizontally"),visible:Ei(mi(t),n)})}}),Hl({name:"distributeVertically",perform:function(e,t){return{appState:t,elements:id(e,t,{space:"between",axis:"y"}),commitToHistory:!0}},keyTest:function(e){return e.altKey&&e.code===Wt},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(ji,{hidden:!ad(t,n),type:"button",icon:c().createElement(dl,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.distributeVertically")," — ").concat(Nn("Alt+V")),"aria-label":_("labels.distributeVertically"),visible:Ei(mi(t),n)})}});function ld(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 cd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ld(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ld(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var sd=Hl({name:"copy",perform:function(e,t){return cu(mi(e),t),{commitToHistory:!1}},contextItemLabel:"labels.copy",keyTest:function(e){return e[Qt]&&e.code===Ht}}),ud=Hl({name:"cut",perform:function(e,t,n,r){return sd.perform(e,t,n,r),Wl.perform(e,t,n,r)},contextItemLabel:"labels.cut",keyTest:function(e){return e[Qt]&&e.code===Gt}}),dd=Hl({name:"copyAsSvg",perform:function(){var e=(0,f.Z)(p().mark((function e(t,n,r,o){var a;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o.canvas){e.next=2;break}return e.abrupt("return",{commitToHistory:!1});case 2:return a=ki(mi(t),n),e.prev=3,e.next=6,ku("clipboard-svg",a.length?a:mi(t),n,o.canvas,n);case 6:return e.abrupt("return",{commitToHistory:!1});case 9:return e.prev=9,e.t0=e.catch(3),console.error(e.t0),e.abrupt("return",{appState:cd(cd({},n),{},{errorMessage:e.t0.message}),commitToHistory:!1});case 13:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(t,n,r,o){return e.apply(this,arguments)}}(),contextItemLabel:"labels.copyAsSvg"}),pd=Hl({name:"copyAsPng",perform:function(){var e=(0,f.Z)(p().mark((function e(t,n,r,o){var a;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o.canvas){e.next=2;break}return e.abrupt("return",{commitToHistory:!1});case 2:return a=ki(mi(t),n),e.prev=3,e.next=6,ku("clipboard",a.length?a:mi(t),n,o.canvas,n);case 6:return e.abrupt("return",{appState:cd(cd({},n),{},{toastMessage:_("toast.copyToClipboardAsPng")}),commitToHistory:!1});case 9:return e.prev=9,e.t0=e.catch(3),console.error(e.t0),e.abrupt("return",{appState:cd(cd({},n),{},{errorMessage:e.t0.message}),commitToHistory:!1});case 13:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(t,n,r,o){return e.apply(this,arguments)}}(),contextItemLabel:"labels.copyAsPng",keyTest:function(e){return e.code===Ht&&e.altKey&&e.shiftKey}});function fd(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 hd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fd(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var md=Hl({name:"gridMode",perform:function(e,t){return Hc("view","mode","grid"),{appState:hd(hd({},t),{},{gridSize:this.checked(t)?null:s.k}),commitToHistory:!1}},checked:function(e){return null!==e.gridSize},contextItemLabel:"labels.showGrid",keyTest:function(e){return e[Qt]&&e.code===zt}});function gd(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 vd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gd(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var bd=Hl({name:"zenMode",perform:function(e,t){return Hc("view","mode","zen"),{appState:vd(vd({},t),{},{zenModeEnabled:!this.checked(t)}),commitToHistory:!1}},checked:function(e){return e.zenModeEnabled},contextItemLabel:"buttons.zenMode",keyTest:function(e){return!e[Qt]&&e.altKey&&e.code===Vt}});function yd(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 wd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yd(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var xd=Hl({name:"stats",perform:function(e,t){return{appState:wd(wd({},t),{},{showStats:!this.checked(t)}),commitToHistory:!1}},checked:function(e){return e.showStats},contextItemLabel:"stats.title"});function Ed(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 kd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ed(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ed(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Sd=function(e,t,n){var r=!1;if(!(t.multiElement||t.resizingElement||t.editingElement||t.draggingElement)){var o=n();if(null===o)return{commitToHistory:r};var a=fi(e),i=o.elements,l=fi(i),c=e.filter((function(e){return!l.hasOwnProperty(e.id)})),s=i.map((function(e){return Ir(a[e.id]||e,e)})).concat(c.map((function(e){return Ir(e,{isDeleted:!0})})));return Ua(s,c),{elements:s,appState:kd(kd({},t),o.appState),commitToHistory:r,syncHistory:!0}}return{commitToHistory:r}},Cd=function(){function e(t,n,r,o){var a=this;h(this,e),this.actions={},this.renderAction=function(e,t){if(a.actions[e]&&"PanelComponent"in a.actions[e]){var n=a.actions[e],r=n.PanelComponent;return c().createElement(r,{elements:a.getElementsIncludingDeleted(),appState:a.getAppState(),updateData:function(e){a.updater(n.perform(a.getElementsIncludingDeleted(),a.getAppState(),e,a.app))},id:t})}return null},this.updater=function(e){if(!e||!("then"in e))return t(e);e.then((function(e){return t(e)}))},this.getAppState=n,this.getElementsIncludingDeleted=r,this.app=o}return g(e,[{key:"registerAction",value:function(e){this.actions[e.name]=e}},{key:"registerAll",value:function(e){var t=this;e.forEach((function(e){return t.registerAction(e)}))}},{key:"handleKeyDown",value:function(e){var t=this,n=Object.values(this.actions).sort((function(e,t){return(t.keyPriority||0)-(e.keyPriority||0)})).filter((function(n){return n.keyTest&&n.keyTest(e,t.getAppState(),t.getElementsIncludingDeleted())}));return 0!==n.length&&(!(this.getAppState().viewModeEnabled&&!Object.values(s.EH).includes(n[0].name))&&(e.preventDefault(),this.updater(n[0].perform(this.getElementsIncludingDeleted(),this.getAppState(),null,this.app)),!0))}},{key:"executeAction",value:function(e){this.updater(e.perform(this.getElementsIncludingDeleted(),this.getAppState(),null,this.app))}}]),e}(),Od=function(e){var t=Array.from(e.values());return{x:Id(t,(function(e){return e.x}))/t.length,y:Id(t,(function(e){return e.y}))/t.length}},Md=function(e){var t=N(e,2),n=t[0],r=t[1];return Math.hypot(n.x-r.x,n.y-r.y)},Id=function(e,t){return e.reduce((function(e,n){return e+t(n)}),0)};function Td(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 Pd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Td(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Td(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ad,Ld=function(e){return{selectedElementIds:e.selectedElementIds,viewBackgroundColor:e.viewBackgroundColor,editingLinearElement:e.editingLinearElement,editingGroupId:e.editingGroupId,name:e.name}},_d=function(){function e(){var t=this;h(this,e),this.elementCache=new Map,this.recording=!0,this.stateHistory=[],this.redoStack=[],this.lastEntry=null,this.generateEntry=function(e,n){return t.dehydrateHistoryEntry({appState:Ld(e),elements:n.reduce((function(t,n){if(Ze(n)&&e.multiElement&&e.multiElement.id===n.id){if(e.multiElement&&e.multiElement.id===n.id&&n.points.length<2)return t;t.push(Pd(Pd({},n),{},{points:n.lastCommittedPoint!==n.points[n.points.length-1]?n.points.slice(0,-1):n.points}))}else t.push(n);return t}),[])})}}return g(e,[{key:"hydrateHistoryEntry",value:function(e){var t=this,n=e.appState,r=e.elements;return{appState:JSON.parse(n),elements:r.map((function(e){var n,r=null===(n=t.elementCache.get(e.id))||void 0===n?void 0:n.get(e.versionNonce);if(!r)throw new Error("Element not found: ".concat(e.id,":").concat(e.versionNonce));return r}))}}},{key:"dehydrateHistoryEntry",value:function(e){var t=this,n=e.appState,r=e.elements;return{appState:JSON.stringify(n),elements:r.map((function(e){t.elementCache.has(e.id)||t.elementCache.set(e.id,new Map);var n=t.elementCache.get(e.id);return n.has(e.versionNonce)||n.set(e.versionNonce,Jr(e)),{id:e.id,versionNonce:e.versionNonce}}))}}},{key:"getSnapshotForTest",value:function(){var e=this;return{recording:this.recording,stateHistory:this.stateHistory.map((function(t){return e.hydrateHistoryEntry(t)})),redoStack:this.redoStack.map((function(t){return e.hydrateHistoryEntry(t)}))}}},{key:"clear",value:function(){this.stateHistory.length=0,this.redoStack.length=0,this.lastEntry=null,this.elementCache.clear()}},{key:"shouldCreateEntry",value:function(e){var t,n=this.lastEntry;if(!n)return!0;if(e.elements.length!==n.elements.length)return!0;for(var r=e.elements.length-1;r>-1;r--){var o=e.elements[r],a=n.elements[r];if(!o||!a||o.id!==a.id||o.versionNonce!==a.versionNonce)return!0}for(t in e.appState){var i,l;if("editingLinearElement"===t)if((null===(i=e.appState[t])||void 0===i?void 0:i.elementId)===(null===(l=n.appState[t])||void 0===l?void 0:l.elementId))continue;if("selectedElementIds"!==t&&e.appState[t]!==n.appState[t])return!0}return!1}},{key:"pushEntry",value:function(e,t){var n=this.generateEntry(e,t),r=this.hydrateHistoryEntry(n);if(r){if(!this.shouldCreateEntry(r))return;this.stateHistory.push(n),this.lastEntry=r,this.clearRedoStack()}}},{key:"clearRedoStack",value:function(){this.redoStack.splice(0,this.redoStack.length)}},{key:"redoOnce",value:function(){if(0===this.redoStack.length)return null;var e=this.redoStack.pop();return void 0!==e?(this.stateHistory.push(e),this.hydrateHistoryEntry(e)):null}},{key:"undoOnce",value:function(){if(1===this.stateHistory.length)return null;var e=this.stateHistory.pop(),t=this.stateHistory[this.stateHistory.length-1];return void 0!==e?(this.redoStack.push(e),this.hydrateHistoryEntry(t)):null}},{key:"setCurrentState",value:function(e,t){this.lastEntry=this.hydrateHistoryEntry(this.generateEntry(e,t))}},{key:"resumeRecording",value:function(){this.recording=!0}},{key:"record",value:function(e,t){this.recording&&(this.pushEntry(e,t),this.recording=!1)}}]),e}(),Dd=[{icon:c().createElement("svg",{viewBox:"0 0 320 512",className:""},c().createElement("path",{d:"M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z"})),value:"selection",key:[gn,hn]},{icon:c().createElement("svg",{viewBox:"0 0 448 512"},c().createElement("path",{d:"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"})),value:"rectangle",key:fn},{icon:c().createElement("svg",{viewBox:"0 0 223.646 223.646"},c().createElement("path",{d:"M111.823 0L16.622 111.823 111.823 223.646 207.025 111.823z"})),value:"diamond",key:ln},{icon:c().createElement("svg",{viewBox:"0 0 512 512"},c().createElement("path",{d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"})),value:"ellipse",key:cn},{icon:c().createElement("svg",{viewBox:"0 0 448 512",className:"rtl-mirror"},c().createElement("path",{d:"M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z"})),value:"arrow",key:an},{icon:c().createElement("svg",{viewBox:"0 0 6 6"},c().createElement("line",{x1:"0",y1:"3",x2:"6",y2:"3",stroke:"currentColor",strokeLinecap:"round"})),value:"line",key:[dn,sn]},{icon:c().createElement("svg",{viewBox:"0 0 512 512"},c().createElement("path",{fill:"currentColor",d:"M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z"})),value:"draw",key:vn},{icon:c().createElement("svg",{viewBox:"0 0 448 512"},c().createElement("path",{d:"M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z"})),value:"text",key:mn}],jd=(n(4518),{cut:[Nn("CtrlOrCmd+X")],copy:[Nn("CtrlOrCmd+C")],paste:[Nn("CtrlOrCmd+V")],copyStyles:[Nn("CtrlOrCmd+Alt+C")],pasteStyles:[Nn("CtrlOrCmd+Alt+V")],selectAll:[Nn("CtrlOrCmd+A")],deleteSelectedElements:[Nn("Del")],duplicateSelection:[Nn("CtrlOrCmd+D"),Nn("Alt+".concat(_("helpDialog.drag")))],sendBackward:[Nn("CtrlOrCmd+[")],bringForward:[Nn("CtrlOrCmd+]")],sendToBack:[Nn(St?"CtrlOrCmd+Alt+[":"CtrlOrCmd+Shift+[")],bringToFront:[Nn(St?"CtrlOrCmd+Alt+]":"CtrlOrCmd+Shift+]")],copyAsPng:[Nn("Shift+Alt+C")],copyAsSvg:[],group:[Nn("CtrlOrCmd+G")],ungroup:[Nn("CtrlOrCmd+Shift+G")],gridMode:[Nn("CtrlOrCmd+'")],zenMode:[Nn("Alt+Z")],stats:[],addToLibrary:[],viewMode:[Nn("Alt+R")]}),zd=function(e){var t,n=e.options,r=e.onCloseRequest,o=e.top,a=e.left,i=e.actionManager,l=e.appState,s=!(null===(t=document.querySelector(".excalidraw"))||void 0===t||!t.classList.contains("Appearance_dark"));return c().createElement("div",{className:Ue("excalidraw",{"Appearance_dark Appearance_dark-background-none":s})},c().createElement(uc,{onCloseRequest:r,top:o,left:a,fitInViewport:!0},c().createElement("ul",{className:"context-menu",onContextMenu:function(e){return e.preventDefault()}},n.map((function(e,t){var n;if("separator"===e)return c().createElement("hr",{key:t,className:"context-menu-option-separator"});var o,a=e.name,s=e.contextItemLabel?_(e.contextItemLabel):"";return c().createElement("li",{key:t,"data-testid":a,onClick:r},c().createElement("button",{className:Ue("context-menu-option",{dangerous:"deleteSelectedElements"===a,checkmark:null===(n=e.checked)||void 0===n?void 0:n.call(e,l)}),onClick:function(){return i.executeAction(e)}},c().createElement("div",{className:"context-menu-option__label"},s),c().createElement("kbd",{className:"context-menu-option__shortcut"},a?(o=jd[a])&&o.length>0?o[0]:"":"")))})))))},Bd=function(){if(Ad)return Ad;var e=document.createElement("div");return document.body.appendChild(e),Ad=e},Hd=function(){(0,kt.unmountComponentAtNode)(Bd())},Nd=function(e){var t=Array.of();e.options.forEach((function(e){e&&t.push(e)})),t.length&&(0,kt.render)(c().createElement(zd,{top:e.top,left:e.left,options:t,onCloseRequest:Hd,actionManager:e.actionManager,appState:e.appState}),Bd())};n(1575);function Rd(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 Fd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Rd(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Rd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Wd=function(e){var t=e.children,n=e.gap,r=e.align,o=e.justifyContent,a=e.className,i=e.style;return c().createElement("div",{className:Ue("Stack Stack_horizontal",a),style:Fd({"--gap":n,alignItems:r,justifyContent:o},i)},t)},Gd=function(e){var t=e.children,n=e.gap,r=e.align,o=e.justifyContent,a=e.className;return c().createElement("div",{className:Ue("Stack Stack_vertical",a),style:{"--gap":n,justifyItems:r,justifyContent:o}},t)},Vd=function(e){var t=e.appState,n=e.elements,r=e.renderAction,o=e.elementType,a=Si(mi(n),t),i=Boolean(t.editingElement),l=Tc(),s="rtl"===document.documentElement.getAttribute("dir"),u=Mi(o)||a.some((function(e){return Mi(e.type)&&(t=e.backgroundColor,n=5===t.length&&"0"===t.substr(4,1),r=9===t.length&&"00"===t.substr(7,2),!(n||r||t===Et.elementBackground[0]));var t,n,r})),d=Mi(o)||a.some((function(e){return Mi(e.type)}));return c().createElement("div",{className:"panelColumn"},r("changeStrokeColor"),d&&r("changeBackgroundColor"),u&&r("changeFillStyle"),(Ii(o)||a.some((function(e){return Ii(e.type)})))&&c().createElement(c().Fragment,null,r("changeStrokeWidth"),r("changeStrokeStyle"),r("changeSloppiness")),(Ti(o)||a.some((function(e){return Ti(e.type)})))&&c().createElement(c().Fragment,null,r("changeSharpness")),(Pi(o)||a.some((function(e){return Pi(e.type)})))&&c().createElement(c().Fragment,null,r("changeFontSize"),r("changeFontFamily"),r("changeTextAlign")),(Ai(o)||a.some((function(e){return Ai(e.type)})))&&c().createElement(c().Fragment,null,r("changeArrowhead")),r("changeOpacity"),c().createElement("fieldset",null,c().createElement("legend",null,_("labels.layers")),c().createElement("div",{className:"buttonList"},r("sendToBack"),r("sendBackward"),r("bringToFront"),r("bringForward"))),a.length>1&&c().createElement("fieldset",null,c().createElement("legend",null,_("labels.align")),c().createElement("div",{className:"buttonList"},s?c().createElement(c().Fragment,null,r("alignRight"),r("alignHorizontallyCentered"),r("alignLeft")):c().createElement(c().Fragment,null,r("alignLeft"),r("alignHorizontallyCentered"),r("alignRight")),a.length>2&&r("distributeHorizontally"),c().createElement("div",{className:"iconRow"},r("alignTop"),r("alignVerticallyCentered"),r("alignBottom"),a.length>2&&r("distributeVertically")))),!l&&!i&&a.length>0&&c().createElement("fieldset",null,c().createElement("legend",null,_("labels.actions")),c().createElement("div",{className:"buttonList"},r("duplicateSelection"),r("deleteSelectedElements"),r("group"),r("ungroup"))))},Kd=c().createElement("svg",{viewBox:"0 0 512 512"},c().createElement("path",{d:"M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z"})),Ud=function(e){var t=e.elementType,n=e.setAppState,r=e.isLibraryOpen;return c().createElement(c().Fragment,null,Dd.map((function(e,r){var o=e.value,a=e.icon,i=e.key,l=_("toolBar.".concat(o)),s="string"==typeof i?i:i[0],u="".concat(Mn(s)," ").concat(_("helpDialog.or")," ").concat(r+1);return c().createElement(ji,{className:"Shape",key:o,type:"radio",icon:a,checked:t===o,name:"editor-current-shape",title:"".concat(Mn(l)," — ").concat(u),keyBindingLabel:"".concat(r+1),"aria-label":Mn(l),"aria-keyshortcuts":u,"data-testid":o,onChange:function(){n({elementType:o,multiElement:null,selectedElementIds:{}}),Bn(o),n({})}})})),c().createElement(ji,{className:"Shape ToolIcon_type_button__library",type:"button",icon:Kd,name:"editor-library",keyBindingLabel:"9","aria-keyshortcuts":"9",title:"".concat(Mn(_("toolBar.library"))," — 9"),"aria-label":Mn(_("toolBar.library")),onClick:function(){n({isLibraryOpen:!r})}}))},Yd=function(e){var t=e.renderAction,n=e.zoom;return c().createElement(Gd,{gap:1},c().createElement(Wd,{gap:1,align:"center"},t("zoomIn"),t("zoomOut"),t("resetZoom"),c().createElement("div",{style:{marginInlineStart:4}},(100*n.value).toFixed(0),"%")))},Zd=function(e){e.appState,e.setAppState;var t=e.actionManager;return c().createElement("div",{style:{display:"flex"}},t.renderAction("changeViewBackgroundColor"))},Xd=(n(3211),function(e){var t=e.isCollaborating,n=(e.collaboratorCount,e.onClick);return c().createElement(c().Fragment,null,c().createElement(ji,{className:Ue("CollabButton",{"is-collaborating":t}),onClick:n,icon:zl,type:"button",title:_("labels.liveCollaboration"),"aria-label":_("labels.liveCollaboration"),showAriaLabel:Tc()}))});n(3040),n(7428);function qd(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 $d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qd(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Qd=c().forwardRef((function(e,t){var n=e.children,r=e.padding,o=e.className,a=e.style;return c().createElement("div",{className:Ue("Island",o),style:$d({"--padding":r},a),ref:t},n)})),Jd=(n(205),function(e){var t=ep();if(!t)return null;return(0,kt.createPortal)(c().createElement("div",{className:Ue("Modal",e.className),role:"dialog","aria-modal":"true",onKeyDown:function(t){t.key===tn&&(t.nativeEvent.stopImmediatePropagation(),e.onCloseRequest())},"aria-labelledby":e.labelledBy},c().createElement("div",{className:"Modal__background",onClick:e.onCloseRequest}),c().createElement("div",{className:"Modal__content",style:{"--max-width":"".concat(e.maxWidth,"px")}},e.children)),t)}),ep=function(){var e=N((0,l.useState)(null),2),t=e[0],n=e[1];return(0,l.useLayoutEffect)((function(){var e,t=!(null===(e=document.querySelector(".excalidraw"))||void 0===e||!e.classList.contains("Appearance_dark")),r=document.createElement("div");return r.classList.add("excalidraw","excalidraw-modal-container"),t&&(r.classList.add("Appearance_dark"),r.classList.add("Appearance_dark-background-none")),document.body.appendChild(r),n(r),function(){document.body.removeChild(r)}}),[]),t},tp=function(e){var t,n,r,o=(t=N((0,l.useState)(null),2),n=t[0],r=t[1],[n,(0,l.useCallback)((function(e){return r(e)}),[])]),a=N(o,2),i=a[0],s=a[1];(0,l.useEffect)((function(){if(i){var t=u(i);t.length>0&&!1!==e.autofocus&&(t[1]||t[0]).focus();var n=function(e){if(e.key===on){var t=u(i),n=document.activeElement,r=t.findIndex((function(e){return e===n}));0===r&&e.shiftKey?(t[t.length-1].focus(),e.preventDefault()):r!==t.length-1||e.shiftKey||(t[0].focus(),e.preventDefault())}};return i.addEventListener("keydown",n),function(){return i.removeEventListener("keydown",n)}}}),[i,e.autofocus]);var u=function(e){var t=e.querySelectorAll("button, a, input, select, textarea, div[tabindex]");return t?Array.from(t):[]};return c().createElement(Jd,{className:Ue("Dialog",e.className),labelledBy:"dialog-title",maxWidth:e.small?550:800,onCloseRequest:e.onCloseRequest},c().createElement(Qd,{ref:s},c().createElement("h2",{id:"dialog-title",className:"Dialog__title"},c().createElement("span",{className:"Dialog__titleContent"},e.title),c().createElement("button",{className:"Modal__close",onClick:e.onCloseRequest,"aria-label":_("buttons.close")},Tc()?ml:hl)),c().createElement("div",{className:"Dialog__content"},e.children)))},np=function(e){var t=e.message,n=e.onClose,r=N((0,l.useState)(!!t),2),o=r[0],a=r[1],i=c().useCallback((function(){a(!1),n&&n()}),[n]);return c().createElement(c().Fragment,null,o&&c().createElement(tp,{small:!0,onCloseRequest:i,title:_("errorDialog.title")},c().createElement("div",null,t.split("\n").map((function(e){return c().createElement(c().Fragment,null,e,c().createElement("br",null))})))))},rp=(n(8623),[1,2,3]),op=rp.includes(devicePixelRatio)?devicePixelRatio:1,ap="filter"in document.createElement("canvas").getContext("2d"),ip=function(){return c().createElement("div",null,c().createElement("h3",null,_("canvasError.cannotShowPreview")),c().createElement("p",null,c().createElement("span",null,_("canvasError.canvasTooBig"))),c().createElement("em",null,"(",_("canvasError.canvasTooBigTip"),")"))},lp=function(e,t){(0,kt.unmountComponentAtNode)(t),t.innerHTML="",e instanceof HTMLCanvasElement?t.appendChild(e):(0,kt.render)(c().createElement(ip,null),t)},cp=function(e){var t=e.elements,n=e.appState,r=e.exportPadding,o=void 0===r?10:r,a=e.actionManager,i=e.onExportToPng,s=e.onExportToSvg,u=e.onExportToClipboard,d=e.onExportToBackend,p=Ei(t,n),f=N((0,l.useState)(op),2),h=f[0],m=f[1],g=N((0,l.useState)(p),2),v=g[0],b=g[1],y=(0,l.useRef)(null),w=n.exportBackground,x=n.viewBackgroundColor,E=n.shouldAddWatermark,k=v?ki(t,n):t;return(0,l.useEffect)((function(){b(p)}),[p]),(0,l.useEffect)((function(){var e=y.current;if(e)try{var t=fs(k,n,{exportBackground:w,viewBackgroundColor:x,exportPadding:o,scale:h,shouldAddWatermark:E});tu(t).then((function(){lp(t,e)})).catch((function(t){console.error(t),lp(new Ns,e)}))}catch(t){console.error(t),lp(new Ns,e)}}),[n,k,w,o,x,h,E]),c().createElement("div",{className:"ExportDialog"},c().createElement("div",{className:"ExportDialog__preview",ref:y}),ap&&a.renderAction("exportWithDarkMode"),c().createElement(Gd,{gap:2,align:"center"},c().createElement("div",{className:"ExportDialog__actions"},c().createElement(Wd,{gap:2},c().createElement(ji,{type:"button",label:"PNG",title:_("buttons.exportToPng"),"aria-label":_("buttons.exportToPng"),onClick:function(){return i(k,h)}}),c().createElement(ji,{type:"button",label:"SVG",title:_("buttons.exportToSvg"),"aria-label":_("buttons.exportToSvg"),onClick:function(){return s(k,h)}}),lu&&c().createElement(ji,{type:"button",icon:Vi,title:_("buttons.copyPngToClipboard"),"aria-label":_("buttons.copyPngToClipboard"),onClick:function(){return u(k,h)}}),d&&c().createElement(ji,{type:"button",icon:Ri,title:_("buttons.getShareableLink"),"aria-label":_("buttons.getShareableLink"),onClick:function(){return d(k)}}),n.fileHandle&&a.renderAction("saveScene"),a.renderAction("saveAsScene")),c().createElement(Wd,{gap:2},rp.map((function(e){var t=function(e,t,n,r){var o=ms(e,n),a=N(vs(o,t,n).map((function(e){return Math.trunc(e*r)})),4);return[a[2],a[3]]}(k,o,E,e),n=N(t,2),r=n[0],a=n[1],i="".concat(_("buttons.scale")," ").concat(e,"x (").concat(r,"x").concat(a,")");return c().createElement(ji,{key:e,size:"s",type:"radio",icon:"".concat(e,"x"),name:"export-canvas-scale",title:i,"aria-label":i,id:"export-canvas-scale",checked:e===h,onChange:function(){return m(e)}})})))),a.renderAction("changeExportBackground"),p&&c().createElement("div",null,c().createElement("label",null,c().createElement("input",{type:"checkbox",checked:v,onChange:function(e){return b(e.currentTarget.checked)}})," ",_("labels.onlySelected"))),a.renderAction("changeExportEmbedScene"),a.renderAction("changeShouldAddWatermark")))},sp=function(e){var t=e.elements,n=e.appState,r=e.exportPadding,o=void 0===r?10:r,a=e.actionManager,i=e.onExportToPng,s=e.onExportToSvg,u=e.onExportToClipboard,d=e.onExportToBackend,p=N((0,l.useState)(!1),2),f=p[0],h=p[1],m=(0,l.useRef)(null),g=c().useCallback((function(){var e;h(!1),null===(e=m.current)||void 0===e||e.focus()}),[]);return c().createElement(c().Fragment,null,c().createElement(ji,{onClick:function(){h(!0)},icon:Yi,type:"button","aria-label":_("buttons.export"),showAriaLabel:Tc(),title:_("buttons.export"),ref:m}),f&&c().createElement(tp,{onCloseRequest:g,title:_("buttons.export")},c().createElement(cp,{elements:t,appState:n,exportPadding:o,actionManager:a,onExportToPng:i,onExportToSvg:s,onExportToClipboard:u,onExportToBackend:d,onCloseRequest:g})))},up=(n(4193),function(e){var t=e.children,n=e.side,r=e.className;return c().createElement("div",{className:Ue("FixedSideContainer","FixedSideContainer_side_".concat(n),r)},t)}),dp=(n(9705),function(e){var t=function(e){var t=e.appState,n=e.elements,r=t.elementType,o=t.isResizing,a=t.isRotating,i=t.lastPointerDownWith,l=null!==t.multiElement;if("arrow"===r||"line"===r)return _(l?"hints.linearElementMulti":"hints.linearElement");if("draw"===r)return _("hints.freeDraw");if("text"===r)return _("hints.text");var c=ki(n,t);if(o&&"mouse"===i&&1===c.length){var s=c[0];return Ze(s)&&2===s.points.length?_("hints.lockAngle"):_("hints.resize")}return a&&"mouse"===i?_("hints.rotate"):1===c.length&&Ze(c[0])?t.editingLinearElement?t.editingLinearElement.activePointIndex?_("hints.lineEditor_pointSelected"):_("hints.lineEditor_nothingSelected"):_("hints.lineEditor_info"):null}({appState:e.appState,elements:e.elements});return t?(t=Nn(t),c().createElement("div",{className:"HintViewer"},c().createElement("span",null,t))):null});n(8465),n(8680);function pp(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return fp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fp(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function fp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var hp=c().createElement("svg",{viewBox:"0 0 1792 1792"},c().createElement("path",{fill:"currentColor",d:"M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"})),mp=function(e){var t=e.elements,n=e.pendingElements,r=e.onRemoveFromLibrary,o=e.onClick,a=(0,l.useRef)(null);(0,l.useEffect)((function(){var e=t||n;if(e){var r,o=hs(e,{exportBackground:!1,viewBackgroundColor:wt.ix,shouldAddWatermark:!1}),i=pp(a.current.children);try{for(i.s();!(r=i.n()).done;){var l=r.value;"svg"===l.tagName&&a.current.removeChild(l)}}catch(e){i.e(e)}finally{i.f()}a.current.appendChild(o);var c=a.current;return function(){c.removeChild(o)}}}),[t,n]);var i=N((0,l.useState)(!1),2),u=i[0],d=i[1],p=Tc(),f=(u||p)&&n&&c().createElement("div",{className:"library-unit__adder"},hp);return c().createElement("div",{className:Ue("library-unit",{"library-unit__active":t||n}),onMouseEnter:function(){return d(!0)},onMouseLeave:function(){return d(!1)}},c().createElement("div",{className:Ue("library-unit__dragger",{"library-unit__pulse":!!n}),ref:a,draggable:!!t,onClick:t||n?o:void 0,onDragStart:function(e){d(!1),e.dataTransfer.setData(s.LO.excalidrawlib,JSON.stringify(t))}}),f,t&&(u||p)&&c().createElement("button",{className:"library-unit__removeFromLibrary","aria-label":_("labels.removeFromLibrary"),onClick:r},hl))},gp={CHECKED:c().createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg"},c().createElement("path",{d:"M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z"})),UNCHECKED:c().createElement("svg",{width:"1792",height:"1792",viewBox:"0 0 1792 1792",xmlns:"http://www.w3.org/2000/svg",className:"unlocked-icon rtl-mirror"},c().createElement("path",{d:"M1728 576v256q0 26-19 45t-45 19h-64q-26 0-45-19t-19-45v-256q0-106-75-181t-181-75-181 75-75 181v192h96q40 0 68 28t28 68v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h672v-192q0-185 131.5-316.5t316.5-131.5 316.5 131.5 131.5 316.5z"}))},vp=function(e){return c().createElement("label",{className:Ue("ToolIcon ToolIcon__lock ToolIcon_type_floating zen-mode-visibility","ToolIcon_size_".concat(e.size||"m"),{"zen-mode-visibility--hidden":e.zenModeEnabled}),title:"".concat(e.title," — Q")},c().createElement("input",{className:"ToolIcon_type_checkbox",type:"checkbox",name:e.name,id:e.id,onChange:e.onChange,checked:e.checked,"aria-label":e.title}),c().createElement("div",{className:"ToolIcon__icon"},e.checked?gp.CHECKED:gp.UNCHECKED))},bp=function(e){var t=e.heading,n=e.children,r=Lr(e,["heading","children"]),o=c().createElement("h2",{className:"visually-hidden",id:"".concat(t,"-title")},_("headings.".concat(t)));return c().createElement("section",gc({},r,{"aria-labelledby":"".concat(t,"-title")}),"function"==typeof n?n(o):c().createElement(c().Fragment,null,o,n))},yp=(n(3142),function(e){var t,n=e.children,r=e.className,o=e.mobile,a=e.collaborators,i=void 0===a?new Map:a,l=e.layout,s="vertical"===l?6:3,u=i.size>s?-2*Math.min(i.size-s,15):4;return c().createElement("div",{className:Ue("UserList layout-".concat(l),r,{UserList_mobile:o}),style:(t={},t["--itemOffset"]="".concat(u,"px"),t)},n)});function wp(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}var xp=function(e){var t=e.appState,n=e.elements,r=e.libraryMenu,o=e.actionManager,a=e.exportButton,i=e.setAppState,l=e.onCollabButtonClick,s=e.onLockToggle,u=(e.canvas,e.isCollaborating),d=e.renderCustomFooter,p=e.onHomeButtonClick,f=e.viewModeEnabled;return c().createElement(c().Fragment,null,!f&&c().createElement(up,{side:"top",className:"App-top-bar"},c().createElement(bp,{heading:"shapes"},(function(e){return c().createElement(Gd,{gap:4,align:"center"},c().createElement(Wd,{gap:1},c().createElement(Qd,{padding:1},e,c().createElement(Wd,{gap:1},c().createElement(Ud,{elementType:t.elementType,setAppState:i,isLibraryOpen:t.isLibraryOpen}))),c().createElement(ji,{key:"home",type:"button",className:"HomeButton ToolIcon_type_floating",title:"Home","aria-label":"Home",icon:jl,onClick:p}),c().createElement(vp,{checked:t.elementLocked,onChange:s,title:_("toolBar.lock")})),r)})),c().createElement(dp,{appState:t,elements:n})),c().createElement("div",{className:"App-bottom-bar",style:{marginBottom:14,marginLeft:14,marginRight:14}},c().createElement(Qd,{padding:0},"canvas"===t.openMenu?c().createElement(bp,{className:"App-mobile-menu",heading:"canvasActions"},c().createElement("div",{className:"panelColumn"},c().createElement(Gd,{gap:4},f?c().createElement(c().Fragment,null,a):c().createElement(c().Fragment,null,o.renderAction("loadScene"),a,o.renderAction("clearCanvas"),l&&c().createElement(Xd,{isCollaborating:u,collaboratorCount:t.collaborators.size,onClick:l}),c().createElement(Zd,{actionManager:o,appState:t,setAppState:i})),null==d?void 0:d(!0),t.collaborators.size>0&&c().createElement("fieldset",null,c().createElement("legend",null,_("labels.collaborators")),c().createElement(yp,{mobile:!0,layout:"horizontal",collaborators:t.collaborators},Array.from(t.collaborators).filter((function(e){var t=N(e,2),n=(t[0],t[1]);return 0!==Object.keys(n).length})).map((function(e){var t=N(e,2),n=t[0];t[1];return c().createElement(c().Fragment,{key:n},o.renderAction("goToCollaborator",n))}))))))):"shape"===t.openMenu&&!f&&si(t,n)?c().createElement(bp,{className:"App-mobile-menu",heading:"selectedShapeActions"},c().createElement(Vd,{appState:t,elements:n,renderAction:o.renderAction,elementType:t.elementType})):null,c().createElement("footer",{className:"App-toolbar"},f?c().createElement("div",{className:"App-toolbar-content"},o.renderAction("toggleCanvasMenu")):c().createElement("div",{className:"App-toolbar-content"},o.renderAction("toggleCanvasMenu"),o.renderAction("toggleEditMenu"),o.renderAction("undo"),o.renderAction("redo"),o.renderAction(t.multiElement?"finalize":"duplicateSelection"),o.renderAction("deleteSelectedElements")),t.scrolledOutside&&!t.openMenu&&c().createElement("button",{className:"scroll-back-to-content",onClick:function(){i(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?wp(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},Oi(n,t)))}},_("buttons.scrollBackToContent"))))))},Ep=(n(8416),function(e){var t=(0,l.useRef)(null),n=N((0,l.useState)(null),2),r=n[0],o=n[1];return(0,l.useLayoutEffect)((function(){if(e.spreadsheet){var n=Ds(e.chartType,e.spreadsheet,0,0);o(n);var r=hs(n,{exportBackground:!1,viewBackgroundColor:wt.ix,shouldAddWatermark:!1}),a=t.current;return a.appendChild(r),e.selected&&a.parentNode.focus(),function(){a.removeChild(r)}}}),[e.spreadsheet,e.chartType,e.selected]),c().createElement("button",{className:"ChartPreview",onClick:function(){r&&e.onClick(e.chartType,r)}},c().createElement("div",{ref:t}))}),kp=function(e){var t=e.setAppState,n=e.appState,r=e.onClose,o=e.onInsertChart,a=c().useCallback((function(){r&&r()}),[r]),i=function(e,n){o(n),Hc("magic","chart",e),t({currentChartType:e,pasteDialog:{shown:!1,data:null}})};return c().createElement(tp,{small:!0,onCloseRequest:a,title:_("labels.pasteCharts"),className:"PasteChartDialog",autofocus:!1},c().createElement("div",{className:"container"},c().createElement(Ep,{chartType:"bar",spreadsheet:n.pasteDialog.data,selected:"bar"===n.currentChartType,onClick:i}),c().createElement(Ep,{chartType:"line",spreadsheet:n.pasteDialog.data,selected:"line"===n.currentChartType,onClick:i})))},Sp=(n(341),function(){return c().createElement("div",{className:"HelpDialog--header"},c().createElement("a",{className:"HelpDialog--btn",href:"https://github.com/excalidraw/excalidraw#documentation",target:"_blank",rel:"noopener noreferrer"},_("helpDialog.documentation")),c().createElement("a",{className:"HelpDialog--btn",href:"https://blog.excalidraw.com",target:"_blank",rel:"noopener noreferrer"},_("helpDialog.blog")),c().createElement("a",{className:"HelpDialog--btn",href:"https://github.com/excalidraw/excalidraw/issues",target:"_blank",rel:"noopener noreferrer"},_("helpDialog.github")))}),Cp=function(e){return c().createElement(c().Fragment,null,c().createElement("h3",null,e.title),e.children)},Op=function(e){return c().createElement("div",{style:{display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"space-between"}},e.children)},Mp=function(e){return c().createElement("div",{style:{width:"49%"}},e.children)},Ip=function(e){return c().createElement("div",{className:"HelpDialog--island"},c().createElement("h3",{className:"HelpDialog--island-title"},e.caption),e.children)},Tp=function(e){return c().createElement("div",{className:"HelpDialog--shortcut"},c().createElement("div",{style:{display:"flex",margin:"0",padding:"4px 8px",alignItems:"center"}},c().createElement("div",{style:{lineHeight:1.4}},e.label),c().createElement("div",{style:{display:"flex",flex:"0 0 auto",justifyContent:"flex-end",marginInlineStart:"auto",minWidth:"30%"}},e.shortcuts.map((function(t,n){return c().createElement(c().Fragment,{key:n},c().createElement(Pp,null,t),e.isOr&&n!==e.shortcuts.length-1&&_("helpDialog.or"))})))))};Tp.defaultProps={isOr:!0};var Pp=function(e){return c().createElement("kbd",gc({className:"HelpDialog--key"},e))},Ap=function(e){var t=e.onClose,n=c().useCallback((function(){t&&t()}),[t]);return c().createElement(c().Fragment,null,c().createElement(tp,{onCloseRequest:n,title:_("helpDialog.title"),className:"HelpDialog"},c().createElement(Sp,null),c().createElement(Cp,{title:_("helpDialog.shortcuts")},c().createElement(Op,null,c().createElement(Mp,null,c().createElement(Ip,{caption:_("helpDialog.shapes")},c().createElement(Tp,{label:_("toolBar.selection"),shortcuts:["V","1"]}),c().createElement(Tp,{label:_("toolBar.rectangle"),shortcuts:["R","2"]}),c().createElement(Tp,{label:_("toolBar.diamond"),shortcuts:["D","3"]}),c().createElement(Tp,{label:_("toolBar.ellipse"),shortcuts:["E","4"]}),c().createElement(Tp,{label:_("toolBar.arrow"),shortcuts:["A","5"]}),c().createElement(Tp,{label:_("toolBar.line"),shortcuts:["P","6"]}),c().createElement(Tp,{label:_("toolBar.draw"),shortcuts:["Shift+P","7"]}),c().createElement(Tp,{label:_("toolBar.text"),shortcuts:["T","8"]}),c().createElement(Tp,{label:_("helpDialog.textNewLine"),shortcuts:[Nn("Enter"),Nn("Shift+Enter")]}),c().createElement(Tp,{label:_("helpDialog.textFinish"),shortcuts:[Nn("Esc"),Nn("CtrlOrCmd+Enter")]}),c().createElement(Tp,{label:_("helpDialog.curvedArrow"),shortcuts:["A",_("helpDialog.click"),_("helpDialog.click"),_("helpDialog.click")],isOr:!1}),c().createElement(Tp,{label:_("helpDialog.curvedLine"),shortcuts:["L",_("helpDialog.click"),_("helpDialog.click"),_("helpDialog.click")],isOr:!1}),c().createElement(Tp,{label:_("toolBar.lock"),shortcuts:["Q"]}),c().createElement(Tp,{label:_("helpDialog.preventBinding"),shortcuts:[Nn("CtrlOrCmd")]})),c().createElement(Ip,{caption:_("helpDialog.view")},c().createElement(Tp,{label:_("buttons.zoomIn"),shortcuts:[Nn("CtrlOrCmd++")]}),c().createElement(Tp,{label:_("buttons.zoomOut"),shortcuts:[Nn("CtrlOrCmd+-")]}),c().createElement(Tp,{label:_("buttons.resetZoom"),shortcuts:[Nn("CtrlOrCmd+0")]}),c().createElement(Tp,{label:_("helpDialog.zoomToFit"),shortcuts:["Shift+1"]}),c().createElement(Tp,{label:_("helpDialog.zoomToSelection"),shortcuts:["Shift+2"]}),c().createElement(Tp,{label:_("buttons.fullScreen"),shortcuts:["F"]}),c().createElement(Tp,{label:_("buttons.zenMode"),shortcuts:[Nn("Alt+Z")]}),c().createElement(Tp,{label:_("labels.showGrid"),shortcuts:[Nn("CtrlOrCmd+'")]}),c().createElement(Tp,{label:_("labels.viewMode"),shortcuts:[Nn("Alt+R")]}))),c().createElement(Mp,null,c().createElement(Ip,{caption:_("helpDialog.editor")},c().createElement(Tp,{label:_("labels.selectAll"),shortcuts:[Nn("CtrlOrCmd+A")]}),c().createElement(Tp,{label:_("labels.multiSelect"),shortcuts:[Nn("Shift+".concat(_("helpDialog.click")))]}),c().createElement(Tp,{label:_("labels.moveCanvas"),shortcuts:[Nn("Space+".concat(_("helpDialog.drag"))),Nn("Wheel+".concat(_("helpDialog.drag")))],isOr:!0}),c().createElement(Tp,{label:_("labels.cut"),shortcuts:[Nn("CtrlOrCmd+X")]}),c().createElement(Tp,{label:_("labels.copy"),shortcuts:[Nn("CtrlOrCmd+C")]}),c().createElement(Tp,{label:_("labels.paste"),shortcuts:[Nn("CtrlOrCmd+V")]}),c().createElement(Tp,{label:_("labels.copyAsPng"),shortcuts:[Nn("Shift+Alt+C")]}),c().createElement(Tp,{label:_("labels.copyStyles"),shortcuts:[Nn("CtrlOrCmd+Alt+C")]}),c().createElement(Tp,{label:_("labels.pasteStyles"),shortcuts:[Nn("CtrlOrCmd+Alt+V")]}),c().createElement(Tp,{label:_("labels.delete"),shortcuts:[Nn("Del")]}),c().createElement(Tp,{label:_("labels.sendToBack"),shortcuts:[Nn(St?"CtrlOrCmd+Alt+[":"CtrlOrCmd+Shift+[")]}),c().createElement(Tp,{label:_("labels.bringToFront"),shortcuts:[Nn(St?"CtrlOrCmd+Alt+]":"CtrlOrCmd+Shift+]")]}),c().createElement(Tp,{label:_("labels.sendBackward"),shortcuts:[Nn("CtrlOrCmd+[")]}),c().createElement(Tp,{label:_("labels.bringForward"),shortcuts:[Nn("CtrlOrCmd+]")]}),c().createElement(Tp,{label:_("labels.alignTop"),shortcuts:[Nn("CtrlOrCmd+Shift+Up")]}),c().createElement(Tp,{label:_("labels.alignBottom"),shortcuts:[Nn("CtrlOrCmd+Shift+Down")]}),c().createElement(Tp,{label:_("labels.alignLeft"),shortcuts:[Nn("CtrlOrCmd+Shift+Left")]}),c().createElement(Tp,{label:_("labels.alignRight"),shortcuts:[Nn("CtrlOrCmd+Shift+Right")]}),c().createElement(Tp,{label:_("labels.duplicateSelection"),shortcuts:[Nn("CtrlOrCmd+D"),Nn("Alt+".concat(_("helpDialog.drag")))]}),c().createElement(Tp,{label:_("buttons.undo"),shortcuts:[Nn("CtrlOrCmd+Z")]}),c().createElement(Tp,{label:_("buttons.redo"),shortcuts:Ct?[Nn("CtrlOrCmd+Y"),Nn("CtrlOrCmd+Shift+Z")]:[Nn("CtrlOrCmd+Shift+Z")]}),c().createElement(Tp,{label:_("labels.group"),shortcuts:[Nn("CtrlOrCmd+G")]}),c().createElement(Tp,{label:_("labels.ungroup"),shortcuts:[Nn("CtrlOrCmd+Shift+G")]})))))))};function Lp(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}var _p=function(e){var t=e.library,n=e.onRemoveFromLibrary,r=e.onAddToLibrary,o=e.onInsertShape,a=e.pendingElements,i=e.setAppState,l=e.setLibraryItems,s=Tc(),u=t.length+(a.length>0?1:0),d=s?4:6,p=Math.max(1,Math.ceil(u/d)),f=[],h=!1;f.push(c().createElement("div",{className:"layer-ui__library-header"},c().createElement(ji,{key:"import",type:"button",title:_("buttons.load"),"aria-label":_("buttons.load"),icon:Gi,onClick:function(){Eu().then((function(){i({isLibraryOpen:!1})})).catch(Un).catch((function(e){i({errorMessage:e.message})}))}}),t.length>0&&c().createElement(c().Fragment,null,c().createElement(ji,{key:"export",type:"button",title:_("buttons.export"),"aria-label":_("buttons.export"),icon:Yi,onClick:function(){xu().catch(Un).catch((function(e){i({errorMessage:e.message})}))}}),c().createElement(ji,{key:"reset",type:"button",title:_("buttons.resetLibrary"),"aria-label":_("buttons.resetLibrary"),icon:Ki,onClick:function(){window.confirm(_("alerts.resetLibrary"))&&(gu.resetLibrary(),l([]))}}))));for(var m=0;m<p;m++){for(var g=d*m,v=[],b=0;b<d;b++){var y=a.length>0&&!h&&g+b>=t.length;h=h||y,v.push(c().createElement(Gd,{key:b},c().createElement(mp,{elements:t[g+b],pendingElements:y?a:void 0,onRemoveFromLibrary:n.bind(null,g+b),onClick:y?r.bind(null,a):o.bind(null,t[g+b])})))}f.push(c().createElement(Wd,{align:"center",gap:1,key:m},v))}return c().createElement(Gd,{align:"start",gap:1,className:"layer-ui__library-items"},f)},Dp=function(e){var t=e.onClickOutside,n=e.onInsertShape,r=e.pendingElements,o=e.onAddToLibrary,a=e.setAppState,i=(0,l.useRef)(null);!function(e,t){(0,l.useEffect)((function(){var n=function(n){e.current&&(n.target instanceof Element&&(e.current.contains(n.target)||!document.body.contains(n.target))||t(n))};return document.addEventListener("pointerdown",n,!1),function(){document.removeEventListener("pointerdown",n)}}),[e,t])}(i,(function(e){e.target.closest(".ToolIcon_type_button__library")||t(e)}));var s=N((0,l.useState)([]),2),u=s[0],d=s[1],h=N((0,l.useState)("preloading"),2),m=h[0],g=h[1],v=(0,l.useRef)(null);(0,l.useEffect)((function(){return Promise.race([new Promise((function(e){v.current=setTimeout((function(){e("loading")}),100)})),gu.loadLibrary().then((function(e){d(e),g("ready")}))]).then((function(e){"loading"===e&&g("loading")})),function(){clearTimeout(v.current)}}),[]);var b=(0,l.useCallback)(function(){var e=(0,f.Z)(p().mark((function e(t){var n,r;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,gu.loadLibrary();case 2:n=e.sent,r=n.filter((function(e,n){return n!==t})),gu.saveLibrary(r),d(r);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[]),y=(0,l.useCallback)(function(){var e=(0,f.Z)(p().mark((function e(t){var n,r;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,gu.loadLibrary();case 2:n=e.sent,r=[].concat(R(n),[t]),o(),gu.saveLibrary(r),d(r);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[o]);return"preloading"===m?null:c().createElement(Qd,{padding:1,ref:i,className:"layer-ui__library"},"loading"===m?c().createElement("div",{className:"layer-ui__library-message"},_("labels.libraryLoadingMessage")):c().createElement(_p,{library:u,onRemoveFromLibrary:b,onAddToLibrary:y,onInsertShape:n,pendingElements:r,setAppState:a,setLibraryItems:d}))},jp=function(e){var t,n=e.actionManager,r=e.appState,o=e.setAppState,a=e.canvas,i=e.elements,u=e.onCollabButtonClick,d=e.onLockToggle,h=e.onInsertElements,m=e.zenModeEnabled,g=e.showExitZenModeBtn,v=e.toggleZenMode,b=e.isCollaborating,y=e.onExportToBackend,w=e.renderCustomFooter,x=e.renderTopRight,E=e.viewModeEnabled,k=e.onHomeButtonClick,S=Tc(),C=function(){var e=function(e){return function(){var t=(0,f.Z)(p().mark((function t(n,i){return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!a){t.next=3;break}return t.next=3,ku(e,n,r,a,{exportBackground:r.exportBackground,name:r.name,viewBackgroundColor:r.viewBackgroundColor,scale:i,shouldAddWatermark:r.shouldAddWatermark}).catch(Un).catch((function(e){console.error(e),o({errorMessage:e.message})}));case 3:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}()};return c().createElement(sp,{elements:i,appState:r,actionManager:n,onExportToPng:e("png"),onExportToSvg:e("svg"),onExportToClipboard:e("clipboard"),onExportToBackend:y?function(e){y&&y(e,r,a)}:void 0})},O=(0,l.useCallback)((function(e){o({isLibraryOpen:!1})}),[o]),M=(0,l.useCallback)((function(){o({selectedElementIds:{},selectedGroupIds:{}})}),[o]),I=r.isLibraryOpen?c().createElement(Dp,{pendingElements:ki(i,r),onClickOutside:O,onInsertShape:h,onAddToLibrary:M,setAppState:o}):null,T=c().createElement(c().Fragment,null,r.isLoading&&c().createElement(D,null),r.errorMessage&&c().createElement(np,{message:r.errorMessage,onClose:function(){return o({errorMessage:null})}}),r.showHelpDialog&&c().createElement(Ap,{onClose:function(){return o({showHelpDialog:!1})}}),r.pasteDialog.shown&&c().createElement(kp,{setAppState:o,appState:r,onInsertChart:h,onClose:function(){return o({pasteDialog:{shown:!1,data:null}})}}));return S?c().createElement(c().Fragment,null,T,c().createElement(xp,{appState:r,elements:i,actionManager:n,libraryMenu:I,exportButton:C(),setAppState:o,onCollabButtonClick:u,onLockToggle:d,canvas:a,isCollaborating:b,renderCustomFooter:w,viewModeEnabled:E,onHomeButtonClick:k})):c().createElement("div",{className:Ue("layer-ui__wrapper",{"disable-pointerEvents":r.draggingElement||r.resizingElement||r.editingElement&&!Ye(r.editingElement)})},T,(t=si(r,i),c().createElement(up,{side:"top"},c().createElement("div",{className:"App-menu App-menu_top"},c().createElement(Gd,{gap:4,className:Ue({"disable-pointerEvents":m})},E?c().createElement(bp,{heading:"canvasActions",className:Ue("zen-mode-transition",{"transition-left":m})},c().createElement(Qd,{padding:2,style:{zIndex:1}},c().createElement(Gd,{gap:4},c().createElement(Wd,{gap:1,justifyContent:"space-between"},C())))):c().createElement(bp,{heading:"canvasActions",className:Ue("zen-mode-transition",{"transition-left":m})},c().createElement(Qd,{padding:2,style:{zIndex:1}},c().createElement(Gd,{gap:4},c().createElement(Wd,{gap:3,justifyContent:"space-between"},n.renderAction("loadScene"),C(),u&&c().createElement(Xd,{isCollaborating:b,collaboratorCount:r.collaborators.size,onClick:u}),n.renderAction("clearCanvas")),c().createElement(Zd,{actionManager:n,appState:r,setAppState:o})))),t&&c().createElement(bp,{heading:"selectedShapeActions",className:Ue("zen-mode-transition",{"transition-left":m})},c().createElement(Qd,{className:s.$C.SHAPE_ACTIONS_MENU,padding:2,style:{maxHeight:"".concat(r.height-200,"px")}},c().createElement(Vd,{appState:r,elements:i,renderAction:n.renderAction,elementType:r.elementType})))),!E&&c().createElement(bp,{heading:"shapes"},(function(e){return c().createElement(Gd,{gap:4,align:"start"},c().createElement(Wd,{gap:1},c().createElement(Qd,{padding:1,className:Ue({"zen-mode":m})},c().createElement(dp,{appState:r,elements:i}),e,c().createElement(Wd,{gap:1},c().createElement(Ud,{elementType:r.elementType,setAppState:o,isLibraryOpen:r.isLibraryOpen}))),c().createElement(vp,{zenModeEnabled:m,checked:r.elementLocked,onChange:d,title:_("toolBar.lock")})),I)})),c().createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",paddingRight:"var(--space-factor)"}},null==x?void 0:x(S)),c().createElement(yp,{className:Ue("zen-mode-transition",{"transition-right":m}),layout:"vertical",collaborators:r.collaborators},r.collaborators.size>0&&Array.from(r.collaborators).filter((function(e){var t=N(e,2),n=(t[0],t[1]);return 0!==Object.keys(n).length})).map((function(e){var t=N(e,2),r=t[0],o=t[1];return c().createElement(Fc,{label:o.username||"Unknown user",key:r},n.renderAction("goToCollaborator",r))})))))),c().createElement("div",{className:Ue("App-menu App-menu_bottom zen-mode-transition",{"App-menu_bottom--transition-left":m})},c().createElement(Gd,{gap:2},c().createElement(bp,{heading:"canvasActions"},c().createElement(Qd,{padding:1},c().createElement(Yd,{renderAction:n.renderAction,zoom:r.zoom}))))),c().createElement("footer",{role:"contentinfo",className:"layer-ui__wrapper__footer"},c().createElement("div",{className:Ue("zen-mode-transition",{"transition-right disable-pointerEvents":m})},null==w?void 0:w(!1),n.renderAction("toggleShortcuts")),c().createElement("button",{className:Ue("disable-zen-mode",{"disable-zen-mode--visible":g}),onClick:v},_("buttons.exitZenMode"))),r.scrolledOutside&&c().createElement("button",{className:"scroll-back-to-content",onClick:function(){o(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Lp(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},Oi(i,r)))}},_("buttons.scrollBackToContent")))},zp=function(e,t){var n=function(e){e.suggestedBindings,e.startBoundElement;return Lr(e,["suggestedBindings","startBoundElement"])},r=n(e.appState),o=n(t.appState),a=Object.keys(r);return e.renderCustomFooter===t.renderCustomFooter&&e.renderTopRight===t.renderTopRight&&e.langCode===t.langCode&&e.elements===t.elements&&a.every((function(e){return r[e]===o[e]}))},Bp=c().memo(jp,zp);var Hp="excalidraw",Np="excalidraw-state",Rp="excalidraw-collab",Fp=function(){try{var e=localStorage.getItem(Hp);return e?JSON.stringify(e).length:0}catch(e){return console.error(e),0}},Wp=function(){try{var e=localStorage.getItem(Np),t=localStorage.getItem(Rp),n=localStorage.getItem(s.I.LOCAL_STORAGE_LIBRARY);return(e?JSON.stringify(e).length:0)+(t?JSON.stringify(t).length:0)+(n?JSON.stringify(n).length:0)+Fp()}catch(e){return console.error(e),0}},Gp=(n(7287),Ln((function(e){e({scene:Fp(),total:Wp()})}),500)),Vp=function(e){var t=Tc(),n=N((0,l.useState)({scene:0,total:0}),2),r=n[0],o=n[1];(0,l.useEffect)((function(){Gp((function(e){o(e)}))})),(0,l.useEffect)((function(){return function(){return Gp.cancel()}}),[]);var a=vt(e.elements),i=Si(e.elements,e.appState),u=vt(i);if(t&&e.appState.openMenu)return null;var d,h,m=Xn();return m!==s.eQ?(h=m.slice(0,16).replace("T"," "),d=m.slice(21)):h=_("stats.versionNotAvailable"),c().createElement("div",{className:"Stats"},c().createElement(Qd,{padding:2},c().createElement("div",{className:"close",onClick:e.onClose},hl),c().createElement("h3",null,_("stats.title")),c().createElement("table",null,c().createElement("tbody",null,c().createElement("tr",null,c().createElement("th",{colSpan:2},_("stats.scene"))),c().createElement("tr",null,c().createElement("td",null,_("stats.elements")),c().createElement("td",null,e.elements.length)),c().createElement("tr",null,c().createElement("td",null,_("stats.width")),c().createElement("td",null,Math.round(a[2])-Math.round(a[0]))),c().createElement("tr",null,c().createElement("td",null,_("stats.height")),c().createElement("td",null,Math.round(a[3])-Math.round(a[1]))),c().createElement("tr",null,c().createElement("th",{colSpan:2},_("stats.storage"))),c().createElement("tr",null,c().createElement("td",null,_("stats.scene")),c().createElement("td",null,Zn(r.scene,1))),c().createElement("tr",null,c().createElement("td",null,_("stats.total")),c().createElement("td",null,Zn(r.total,1))),1===i.length&&c().createElement("tr",null,c().createElement("th",{colSpan:2},_("stats.element"))),i.length>1&&c().createElement(c().Fragment,null,c().createElement("tr",null,c().createElement("th",{colSpan:2},_("stats.selected"))),c().createElement("tr",null,c().createElement("td",null,_("stats.elements")),c().createElement("td",null,i.length))),i.length>0&&c().createElement(c().Fragment,null,c().createElement("tr",null,c().createElement("td",null,"x"),c().createElement("td",null,Math.round(1===i.length?i[0].x:u[0]))),c().createElement("tr",null,c().createElement("td",null,"y"),c().createElement("td",null,Math.round(1===i.length?i[0].y:u[1]))),c().createElement("tr",null,c().createElement("td",null,_("stats.width")),c().createElement("td",null,Math.round(1===i.length?i[0].width:u[2]-u[0]))),c().createElement("tr",null,c().createElement("td",null,_("stats.height")),c().createElement("td",null,Math.round(1===i.length?i[0].height:u[3]-u[1])))),1===i.length&&c().createElement("tr",null,c().createElement("td",null,_("stats.angle")),c().createElement("td",null,"".concat(Math.round(180*i[0].angle/Math.PI),"°"))),c().createElement("tr",null,c().createElement("th",{colSpan:2},_("stats.version"))),c().createElement("tr",null,c().createElement("td",{colSpan:2,style:{textAlign:"center",cursor:"pointer"},onClick:(0,f.Z)(p().mark((function t(){return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,hu(Xn());case 3:e.setAppState({toastMessage:_("toast.copyToClipboard")}),t.next=8;break;case 6:t.prev=6,t.t0=t.catch(0);case 8:case"end":return t.stop()}}),t,null,[[0,6]])}))),title:_("stats.versionCopy")},h,c().createElement("br",null),d))))))},Kp=(n(5849),function(e){var t=e.message,n=e.clearToast,r=(0,l.useRef)(0),o=(0,l.useCallback)((function(){return r.current=window.setTimeout((function(){return n()}),s.Lg)}),[n]);return(0,l.useEffect)((function(){return o(),function(){return clearTimeout(r.current)}}),[o,t]),c().createElement("div",{className:"Toast",onMouseEnter:function(){return clearTimeout(null==r?void 0:r.current)},onMouseLeave:o},c().createElement("p",{className:"Toast__message"},t))});function Up(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 Yp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Up(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Up(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Zp=Hl({name:"viewMode",perform:function(e,t){return Hc("view","mode","view"),{appState:Yp(Yp({},t),{},{viewModeEnabled:!this.checked(t),selectedElementIds:{}}),commitToHistory:!1}},checked:function(e){return e.viewModeEnabled},contextItemLabel:"labels.viewMode",keyTest:function(e){return!e[Qt]&&e.altKey&&e.code===Kt}});function Xp(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return qp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return qp(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function qp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function $p(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 Qp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$p(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Jp(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=E(e);if(t){var o=E(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return x(this,n)}}var ef={history:new _d}.history,tf=!1,nf=0,rf=0,of=0,af=!1,lf=!1,cf=!1,sf={horizontal:null,vertical:null},uf=0,df=!1,pf=null,ff={pointers:new Map,lastCenter:null,initialDistance:null,initialScale:null},hf=function(e){b(o,e);var t,n,r=Jp(o);function o(e){var t;h(this,o),t=r.call(this,e),mf.call(w(t));var n,a,i,l,u=Qn(),d=e.width,p=void 0===d?window.innerWidth:d,f=e.height,m=void 0===f?window.innerHeight:f,g=e.offsetLeft,v=e.offsetTop,b=e.excalidrawRef,y=e.viewModeEnabled,x=void 0!==y&&y,E=e.zenModeEnabled,k=void 0!==E&&E,S=e.gridModeEnabled,C=void 0!==S&&S;if(t.state=Qp(Qp(Qp({},u),{},{isLoading:!0,width:p,height:m},t.getCanvasOffsets({offsetLeft:g,offsetTop:v})),{},{viewModeEnabled:x,zenModeEnabled:k,gridSize:C?s.k:null}),b){var O,M="current"in b&&(null===(O=b.current)||void 0===O?void 0:O.readyPromise)||((i=new Promise((function(e,t){n=e,a=t}))).resolve=n,i.reject=a,i),I={ready:!0,readyPromise:M,updateScene:t.updateScene,resetScene:t.resetScene,getSceneElementsIncludingDeleted:t.getSceneElementsIncludingDeleted,history:{clear:t.resetHistory},setScrollToCenter:t.setScrollToCenter,getSceneElements:t.getSceneElements,getAppState:function(){return t.state}};"function"==typeof b?b(I):b.current=I,M.resolve(I)}return t.scene=new xr,t.actionManager=new Cd(t.syncActionResult,(function(){return t.state}),(function(){return t.scene.getElementsIncludingDeleted()}),w(t)),t.actionManager.registerAll(Bl),t.actionManager.registerAction((l=ef,{name:"undo",perform:function(e,t){return Sd(e,t,(function(){return l.undoOnce()}))},keyTest:function(e){return e[Qt]&&e.key.toLowerCase()===yn&&!e.shiftKey},PanelComponent:function(e){var t=e.updateData;return c().createElement(ji,{type:"button",icon:Qi,"aria-label":_("buttons.undo"),onClick:t})},commitToHistory:function(){return!1}})),t.actionManager.registerAction(function(e){return{name:"redo",perform:function(t,n){return Sd(t,n,(function(){return e.redoOnce()}))},keyTest:function(e){return e[Qt]&&e.shiftKey&&e.key.toLowerCase()===yn||Ct&&e.ctrlKey&&!e.shiftKey&&e.key===bn},PanelComponent:function(e){var t=e.updateData;return c().createElement(ji,{type:"button",icon:Ji,"aria-label":_("buttons.redo"),onClick:t})},commitToHistory:function(){return!1}}}(ef)),t}return g(o,[{key:"renderCanvas",value:function(){var e=window.devicePixelRatio,t=this.state,n=t.width,r=t.height,o=n*e,a=r*e;return t.viewModeEnabled?c().createElement("canvas",{id:"canvas",style:{width:n,height:r,cursor:"grabbing"},width:o,height:a,ref:this.handleCanvasRef,onContextMenu:this.handleCanvasContextMenu,onPointerMove:this.handleCanvasPointerMove,onPointerUp:this.removePointer,onPointerCancel:this.removePointer,onTouchMove:this.handleTouchMove,onPointerDown:this.handleCanvasPointerDown},_("labels.drawingCanvas")):c().createElement("canvas",{id:"canvas",style:{width:n,height:r},width:o,height:a,ref:this.handleCanvasRef,onContextMenu:this.handleCanvasContextMenu,onPointerDown:this.handleCanvasPointerDown,onDoubleClick:this.handleCanvasDoubleClick,onPointerMove:this.handleCanvasPointerMove,onPointerUp:this.removePointer,onPointerCancel:this.removePointer,onTouchMove:this.handleTouchMove,onDrop:this.handleCanvasOnDrop},_("labels.drawingCanvas"))}},{key:"render",value:function(){var e,t=this,n=this.state,r=n.width,o=n.height,a=n.offsetTop,i=n.offsetLeft,l=n.viewModeEnabled,s=n.zenModeEnabled,u=this.props,d=u.onCollabButtonClick,p=u.onExportToBackend,f=u.renderFooter,h=u.renderTopRight,m=r/2,g=o/2;return c().createElement("div",{className:Ue("excalidraw",{"excalidraw--zen-mode":s,"excalidraw--view-mode":l}),ref:this.excalidrawContainerRef,style:{width:r,height:o,top:a,left:i}},c().createElement(Bp,{canvas:this.canvas,appState:this.state,setAppState:this.setAppState,actionManager:this.actionManager,elements:this.scene.getElements(),onCollabButtonClick:d,onLockToggle:this.toggleLock,onInsertElements:function(e){return t.addElementsFromPasteOrLibrary(e,m,g)},zenModeEnabled:s,toggleZenMode:this.toggleZenMode,langCode:A().code,isCollaborating:this.props.isCollaborating||!1,onExportToBackend:p,renderCustomFooter:f,renderTopRight:h,viewModeEnabled:l,showExitZenModeBtn:void 0===(null===(e=this.props)||void 0===e?void 0:e.zenModeEnabled)&&s,onHomeButtonClick:this.props.onHomeButtonClick}),c().createElement("div",{className:"excalidraw-textEditorContainer"}),this.state.showStats&&c().createElement(Vp,{appState:this.state,setAppState:this.setAppState,elements:this.scene.getElements(),onClose:this.toggleStats}),null!==this.state.toastMessage&&c().createElement(Kp,{message:this.state.toastMessage,clearToast:this.clearToast}),c().createElement("main",null,this.renderCanvas()))}},{key:"componentDidMount",value:(n=(0,f.Z)(p().mark((function e(){var t=this;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:"production"!==s.Vi.TEST&&"production"!==s.Vi.DEVELOPMENT||(this.setState.bind(this),Object.defineProperties(window.h,{state:{configurable:!0,get:function(){return t.state}},setState:{configurable:!0,value:function(){return t.setState.apply(t,arguments)}},app:{configurable:!0,value:this}})),this.scene.addCallback(this.onSceneUpdated),this.addEventListeners(),"number"==typeof this.props.offsetLeft&&"number"==typeof this.props.offsetTop?this.initializeScene():this.setState(this.getCanvasOffsets(this.props),(function(){t.initializeScene()}));case 4:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"componentWillUnmount",value:function(){this.unmounted=!0,this.removeEventListeners(),this.scene.destroy(),clearTimeout(uf),uf=0}},{key:"removeEventListeners",value:function(){document.removeEventListener(s.Ks.COPY,this.onCopy),document.removeEventListener(s.Ks.PASTE,this.pasteFromClipboard),document.removeEventListener(s.Ks.CUT,this.onCut),document.removeEventListener(s.Ks.KEYDOWN,this.onKeyDown,!1),document.removeEventListener(s.Ks.MOUSE_MOVE,this.updateCurrentCursorPosition,!1),document.removeEventListener(s.Ks.KEYUP,this.onKeyUp),window.removeEventListener(s.Ks.RESIZE,this.onResize,!1),window.removeEventListener(s.Ks.UNLOAD,this.onUnload,!1),window.removeEventListener(s.Ks.BLUR,this.onBlur,!1),window.removeEventListener(s.Ks.DRAG_OVER,this.disableEvent,!1),window.removeEventListener(s.Ks.DROP,this.disableEvent,!1),document.removeEventListener(s.Ks.GESTURE_START,this.onGestureStart,!1),document.removeEventListener(s.Ks.GESTURE_CHANGE,this.onGestureChange,!1),document.removeEventListener(s.Ks.GESTURE_END,this.onGestureEnd,!1)}},{key:"addEventListeners",value:function(){var e,t;this.removeEventListeners(),document.addEventListener(s.Ks.COPY,this.onCopy),document.addEventListener(s.Ks.KEYDOWN,this.onKeyDown,!1),document.addEventListener(s.Ks.KEYUP,this.onKeyUp,{passive:!0}),document.addEventListener(s.Ks.MOUSE_MOVE,this.updateCurrentCursorPosition),null===(e=document.fonts)||void 0===e||null===(t=e.addEventListener)||void 0===t||t.call(e,"loadingdone",this.onFontLoaded),document.addEventListener(s.Ks.GESTURE_START,this.onGestureStart,!1),document.addEventListener(s.Ks.GESTURE_CHANGE,this.onGestureChange,!1),document.addEventListener(s.Ks.GESTURE_END,this.onGestureEnd,!1),this.state.viewModeEnabled||(document.addEventListener(s.Ks.PASTE,this.pasteFromClipboard),document.addEventListener(s.Ks.CUT,this.onCut),document.addEventListener(s.Ks.SCROLL,this.onScroll),window.addEventListener(s.Ks.RESIZE,this.onResize,!1),window.addEventListener(s.Ks.UNLOAD,this.onUnload,!1),window.addEventListener(s.Ks.BLUR,this.onBlur,!1),window.addEventListener(s.Ks.DRAG_OVER,this.disableEvent,!1),window.addEventListener(s.Ks.DROP,this.disableEvent,!1))}},{key:"componentDidUpdate",value:function(e,t){var n,r,o,a,i=this;(e.langCode!==this.props.langCode&&this.updateLanguage(),e.width!==this.props.width||e.height!==this.props.height||"number"==typeof this.props.offsetLeft&&e.offsetLeft!==this.props.offsetLeft||"number"==typeof this.props.offsetTop&&e.offsetTop!==this.props.offsetTop)&&this.setState(Qp({width:null!==(o=this.props.width)&&void 0!==o?o:window.innerWidth,height:null!==(a=this.props.height)&&void 0!==a?a:window.innerHeight},this.getCanvasOffsets(this.props)));e.viewModeEnabled!==this.props.viewModeEnabled&&this.setState({viewModeEnabled:!!this.props.viewModeEnabled},this.addEventListeners),t.viewModeEnabled!==this.state.viewModeEnabled&&this.addEventListeners(),e.zenModeEnabled!==this.props.zenModeEnabled&&this.setState({zenModeEnabled:!!this.props.zenModeEnabled}),e.gridModeEnabled!==this.props.gridModeEnabled&&this.setState({gridSize:this.props.gridModeEnabled?s.k:null}),null===(n=document.querySelector(".excalidraw"))||void 0===n||n.classList.toggle("Appearance_dark","dark"===this.state.appearance),this.state.editingLinearElement&&!this.state.selectedElementIds[this.state.editingLinearElement.elementId]&&setTimeout((function(){i.actionManager.executeAction(Bc)}));var l=t.multiElement;t.elementType!==this.state.elementType&&null!=l&&xa(this.state)&&qe(l)&&Oa(l,this.state,this.scene,Kn(ya.getPointAtIndexGlobalCoordinates(l,-1)));var c={},u={},d={},p={},f={};this.state.collaborators.forEach((function(e,t){if(e.selectedElementIds)for(var n=0,r=Object.keys(e.selectedElementIds);n<r.length;n++){var o=r[n];o in d||(d[o]=[]),d[o].push(t)}e.pointer&&(e.username&&(p[t]=e.username),e.userState&&(f[t]=e.userState),u[t]=Fn({sceneX:e.pointer.x,sceneY:e.pointer.y},i.state),c[t]=e.button)}));var h=this.scene.getElements(),m=as(h.filter((function(e){return!i.state.editingElement||"text"!==i.state.editingElement.type||e.id!==i.state.editingElement.id})),this.state,this.state.selectionElement,window.devicePixelRatio,this.rc,this.canvas,{scrollX:this.state.scrollX,scrollY:this.state.scrollY,viewBackgroundColor:this.state.viewBackgroundColor,zoom:this.state.zoom,remotePointerViewportCoords:u,remotePointerButton:c,remoteSelectedElementIds:d,remotePointerUsernames:p,remotePointerUserStates:f,shouldCacheIgnoreZoom:this.state.shouldCacheIgnoreZoom},{renderOptimizations:!0,renderScrollbars:!Ic()}),g=m.atLeastOneVisibleElement,v=m.scrollBars;v&&(sf=v);var b,y,w="text"!==(null===(r=this.state.editingElement)||void 0===r?void 0:r.type)&&(!g&&h.length>0);(this.state.scrolledOutside!==w&&this.setState({scrolledOutside:w}),ef.record(this.state,this.scene.getElementsIncludingDeleted()),this.state.isLoading)||(null===(b=(y=this.props).onChange)||void 0===b||b.call(y,this.scene.getElementsIncludingDeleted(),this.state))}},{key:"addTextFromPaste",value:function(e){var t,n=Rn({clientX:rf,clientY:of},this.state),r=n.x,o=n.y,a=qr({x:r,y:o,strokeColor:this.state.currentItemStrokeColor,backgroundColor:this.state.currentItemBackgroundColor,fillStyle:this.state.currentItemFillStyle,strokeWidth:this.state.currentItemStrokeWidth,strokeStyle:this.state.currentItemStrokeStyle,roughness:this.state.currentItemRoughness,opacity:this.state.currentItemOpacity,strokeSharpness:this.state.currentItemStrokeSharpness,text:e,fontSize:this.state.currentItemFontSize,fontFamily:this.state.currentItemFontFamily,textAlign:this.state.currentItemTextAlign,verticalAlign:s.hs});this.scene.replaceAllElements([].concat(R(this.scene.getElementsIncludingDeleted()),[a])),this.setState({selectedElementIds:(t={},t[a.id]=!0,t)}),ef.resumeRecording()}},{key:"selectShapeTool",value:function(e){var t;af||Bn(e),(t=document.activeElement)instanceof HTMLElement&&t.className.includes("ToolIcon")&&document.activeElement.blur(),Xe(e)||this.setState({suggestedBindings:[]}),"selection"!==e?this.setState({elementType:e,selectedElementIds:{},selectedGroupIds:{},editingGroupId:null}):this.setState({elementType:e})}},{key:"handleTextWysiwyg",value:function(e,t){var n=this,r=t.isExistingElement,o=void 0!==r&&r,a=function(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];n.scene.replaceAllElements(R(n.scene.getElementsIncludingDeleted().map((function(n){return n.id===e.id&&Ye(n)?$r(n,{text:t,isDeleted:r}):n}))))};!function(e){var t=e.id,n=e.appState,r=e.onChange,o=e.onSubmit,a=e.getViewportCoords,i=e.element,l=e.canvas,c=function(){var e,r=null===(e=xr.getScene(i))||void 0===e?void 0:e.getElement(t);if(r&&Ye(r)){var o=N(a(r.x,r.y),2),l=o[0],c=o[1],s=r.textAlign,d=r.angle;u.value=r.text;var p=r.text.replace(/\r\n?/g,"\n").split("\n"),f=r.height/p.length;Object.assign(u.style,{font:Pn(r),lineHeight:"".concat(f,"px"),width:"".concat(r.width,"px"),height:"".concat(r.height,"px"),left:"".concat(l,"px"),top:"".concat(c,"px"),transform:li(r.width,r.height,d,n),textAlign:s,color:r.strokeColor,opacity:r.opacity/100,filter:"var(--appearance-filter)"})}},u=document.createElement("textarea");u.dir="auto",u.tabIndex=0,u.dataset.type="wysiwyg",u.wrap="off",Object.assign(u.style,{position:"fixed",display:"inline-block",minHeight:"1em",backfaceVisibility:"hidden",margin:0,padding:0,border:0,outline:0,resize:"none",background:"transparent",overflow:"hidden",whiteSpace:"pre",zIndex:"var(--zIndex-wysiwyg)"}),c(),r&&(u.oninput=function(){r(ii(u.value))}),u.onkeydown=function(e){if(e.key===tn)e.preventDefault(),p();else if(e.key===en&&e[Qt]){if(e.preventDefault(),e.isComposing||229===e.keyCode)return;p()}else e.key!==en||e.altKey||e.stopPropagation()};var d=function(e){e.preventDefault(),e.stopPropagation()},p=function(){o(ii(u.value)),f()},f=function(){v||(v=!0,u.onblur=null,u.oninput=null,u.onkeydown=null,b&&b.disconnect(),window.removeEventListener("resize",c),window.removeEventListener("wheel",d,!0),window.removeEventListener("pointerdown",m),window.removeEventListener("pointerup",h),window.removeEventListener("blur",p),g(),u.remove())},h=function e(){window.removeEventListener("pointerup",e),setTimeout((function(){u.onblur=p,u.focus()}))},m=function(e){e.target instanceof HTMLElement&&e.target.closest(".".concat(s.$C.SHAPE_ACTIONS_MENU))&&!In(e.target)&&(u.onblur=null,window.addEventListener("pointerup",h),window.addEventListener("blur",p))},g=xr.getScene(i).addCallback((function(){c(),u.focus()})),v=!1;u.onblur=p;var b=null;l&&"ResizeObserver"in window?(b=new window.ResizeObserver((function(){c()}))).observe(l):window.addEventListener("resize",c),window.addEventListener("pointerdown",m),window.addEventListener("wheel",d,{passive:!1,capture:!0}),document.querySelector(".excalidraw-textEditorContainer").appendChild(u),u.focus(),u.select()}({id:e.id,appState:this.state,canvas:this.canvas,getViewportCoords:function(e,t){var r=Fn({sceneX:e,sceneY:t},n.state);return[r.x,r.y]},onChange:Yn((function(t){a(t),gi(e)&&Da(e)})),onSubmit:Yn((function(t){var r=!t.trim();a(t,r),r?Ua(n.scene.getElements(),[e]):n.setState((function(t){var n;return{selectedElementIds:Qp(Qp({},t.selectedElementIds),{},(n={},n[e.id]=!0,n))}})),r&&!o||ef.resumeRecording(),n.setState({draggingElement:null,editingElement:null}),n.state.elementLocked&&Bn(n.state.elementType)})),element:e}),this.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null}),a(e.text)}},{key:"getTextElementAtPosition",value:function(e,t){var n=this.getElementAtPosition(e,t);return n&&Ye(n)&&!n.isDeleted?n:null}},{key:"getElementAtPosition",value:function(e,t){var n=this.getElementsAtPosition(e,t);if(n.length>1){var r=n[n.length-1];return jo(r,this.state,e,t)?n[n.length-2]:r}return 1===n.length?n[0]:null}},{key:"getElementsAtPosition",value:function(e,t){var n,r,o=this;return n=this.scene.getElements(),r=function(n){return function(e,t,n,r){var o=10/t.zoom.value,a=[n,r];return Bo(t,e)?Ho(e,a,o):zo(e,t,a)}(n,o.state,e,t)},n.filter((function(e){return!e.isDeleted&&r(e)}))}},{key:"maybeCleanupAfterMissingPointerUp",value:function(e){null!==pf&&pf(e)}},{key:"updateGestureOnPointerDown",value:function(e){ff.pointers.set(e.pointerId,{x:e.clientX,y:e.clientY}),2===ff.pointers.size&&(ff.lastCenter=Od(ff.pointers),ff.initialScale=this.state.zoom.value,ff.initialDistance=Md(Array.from(ff.pointers.values())))}},{key:"initialPointerDownState",value:function(e){var t=Rn(e,this.state),n=ki(this.scene.getElements(),this.state),r=N(vt(n),4),o=r[0],a=r[1],i=r[2],l=r[3];return{origin:t,originInGrid:Kn(ct(t.x,t.y,this.state.gridSize)),scrollbars:xi(sf,e.clientX-this.state.offsetLeft,e.clientY-this.state.offsetTop),lastCoords:Qp({},t),originalElements:this.scene.getElements().reduce((function(e,t){return e.set(t.id,Jr(t)),e}),new Map),resize:{handleType:!1,isResizing:!1,offset:{x:0,y:0},arrowDirection:"origin",center:{x:(i+o)/2,y:(l+a)/2}},hit:{element:null,allHitElements:[],wasAddedToSelection:!1,hasBeenDuplicated:!1,hasHitCommonBoundingBoxOfSelectedElements:this.isHittingCommonBoundingBoxOfSelectedElements(t,n)},drag:{hasOccurred:!1,offset:null},eventListeners:{onMove:null,onUp:null,onKeyUp:null,onKeyDown:null}}}},{key:"handleDraggingScrollBar",value:function(e,t){var n=this;if(!t.scrollbars.isOverEither||this.state.multiElement)return!1;cf=!0,t.lastCoords.x=e.clientX,t.lastCoords.y=e.clientY;var r=Yn((function(e){e.target instanceof HTMLElement&&n.handlePointerMoveOverScrollbars(e,t)})),o=Yn((function(){cf=!1,Bn(n.state.elementType),pf=null,n.setState({cursorButton:"up"}),n.savePointer(e.clientX,e.clientY,"up"),window.removeEventListener(s.Ks.POINTER_MOVE,r),window.removeEventListener(s.Ks.POINTER_UP,o)}));return pf=o,window.addEventListener(s.Ks.POINTER_MOVE,r),window.addEventListener(s.Ks.POINTER_UP,o),!0}},{key:"isASelectedElement",value:function(e){return null!=e&&this.state.selectedElementIds[e.id]}},{key:"isHittingCommonBoundingBoxOfSelectedElements",value:function(e,t){if(t.length<2)return!1;var n=10/this.state.zoom.value,r=N(vt(t),4),o=r[0],a=r[1],i=r[2],l=r[3];return e.x>o-n&&e.x<i+n&&e.y>a-n&&e.y<l+n}},{key:"onKeyDownFromPointerDownHandler",value:function(e){var t=this;return Yn((function(n){t.maybeHandleResize(e,n)||t.maybeDragNewGenericElement(e,n)}))}},{key:"onKeyUpFromPointerDownHandler",value:function(e){var t=this;return Yn((function(n){n.key===$t&&n.preventDefault(),t.maybeHandleResize(e,n)||t.maybeDragNewGenericElement(e,n)}))}},{key:"onPointerMoveFromPointerDownHandler",value:function(e){var t=this;return Yn((function(n){if(null===e.drag.offset&&(e.drag.offset=Kn(function(e,t,n){var r=N(vt(e),2);return[t-r[0],n-r[1]]}(ki(t.scene.getElements(),t.state),e.origin.x,e.origin.y))),n.target instanceof HTMLElement&&!t.handlePointerMoveOverScrollbars(n,e)){var r=Rn(n,t.state),o=N(ct(r.x,r.y,t.state.gridSize),2),a=o[0],i=o[1];if(e.drag.hasOccurred||"arrow"!==t.state.elementType&&"line"!==t.state.elementType||!(nt(r.x,r.y,e.origin.x,e.origin.y)<s.f)){if(e.resize.isResizing&&(e.lastCoords.x=r.x,e.lastCoords.y=r.y,t.maybeHandleResize(e,n)))return!0;if(t.state.editingLinearElement)if(ya.handlePointDragging(t.state,(function(e){return t.setState(e)}),r.x,r.y,(function(e,n){t.maybeSuggestBindingForLinearElementAtCursor(e,n,r)})))return e.lastCoords.x=r.x,void(e.lastCoords.y=r.y);if(e.hit.allHitElements.some((function(e){return t.isASelectedElement(e)}))||e.hit.hasHitCommonBoundingBoxOfSelectedElements){e.drag.hasOccurred=!0;var l=ki(t.scene.getElements(),t.state);if(l.length>0){var c=N(ct(r.x-e.drag.offset.x,r.y-e.drag.offset.y,t.state.gridSize),2),u=c[0],d=c[1],p=[Math.abs(r.x-e.origin.x),Math.abs(r.y-e.origin.y)],f=p[0],h=p[1],m=n.shiftKey;if(function(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,c=N(vt(t),2),s=c[0],u=c[1],d={x:n-s,y:r-u};t.forEach((function(n){var r,o;if(a){var c=a&&i<l,s=a&&i>l,u=e.originalElements.get(n.id);r=c&&u?u.x:n.x+d.x,o=s&&u?u.y:n.y+d.y}else r=n.x+d.x,o=n.y+d.y;Mr(n,{x:r,y:o}),Da(n,{simultaneouslyUpdated:t})}))}(e,l,u,d,t.scene,m,f,h),t.maybeSuggestBindingForAll(l),n.altKey&&!e.hit.hasBeenDuplicated){e.hit.hasBeenDuplicated=!0;var g,v=[],b=[],y=new Map,w=new Map,x=e.hit.element,E=Xp(t.scene.getElementsIncludingDeleted());try{for(E.s();!(g=E.n()).done;){var k=g.value;if(t.state.selectedElementIds[k.id]||k.id===(null==x?void 0:x.id)&&e.hit.wasAddedToSelection){var S=eo(t.state.editingGroupId,y,k),C=N(ct(e.origin.x-e.drag.offset.x,e.origin.y-e.drag.offset.y,t.state.gridSize),2),O=C[0],M=C[1];Mr(S,{x:S.x+(O-u),y:S.y+(M-d)}),v.push(S),b.push(k),w.set(k.id,S.id)}else v.push(k)}}catch(e){E.e(e)}finally{E.f()}var I=[].concat(v,b);Va(I,b,w,"duplicatesServeAsOld"),t.scene.replaceAllElements(I)}return}}var T=t.state.draggingElement;if(T){if(Ze(T)){e.drag.hasOccurred=!0;var P,A,L=T.points;if("draw"===T.type?(P=r.x-T.x,A=r.y-T.y):(P=a-T.x,A=i-T.y),kn(n)&&2===L.length){var _=Pr(t.state.elementType,P,A);P=_.width,A=_.height}1===L.length?Mr(T,{points:[].concat(R(L),[[P,A]])}):L.length>1&&("draw"===T.type?Mr(T,{points:U([].concat(R(L),[[P,A]]),.7/t.state.zoom.value)}):Mr(T,{points:[].concat(R(L.slice(0,-1)),[[P,A]])})),qe(T)&&t.maybeSuggestBindingForLinearElementAtCursor(T,"end",r,t.state.startBoundElement)}else e.lastCoords.x=r.x,e.lastCoords.y=r.y,t.maybeDragNewGenericElement(e,n);if("selection"===t.state.elementType){var D=t.scene.getElements();!n.shiftKey&&Ei(D,t.state)&&t.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null});var j=function(e,t){var n=N(pt(t),4),r=n[0],o=n[1],a=n[2],i=n[3];return e.filter((function(e){var t=N(gt(e),4),n=t[0],l=t[1],c=t[2],s=t[3];return"selection"!==e.type&&r<=n&&o<=l&&a>=c&&i>=s}))}(D,T);t.setState((function(e){return Fr(Qp(Qp({},e),{},{selectedElementIds:Qp(Qp({},e.selectedElementIds),j.reduce((function(e,t){return e[t.id]=!0,e}),{}))}),t.scene.getElements())}))}}}}}))}},{key:"handlePointerMoveOverScrollbars",value:function(e,t){if(t.scrollbars.isOverHorizontal){var n=e.clientX,r=n-t.lastCoords.x;return this.setState({scrollX:this.state.scrollX-r/this.state.zoom.value}),t.lastCoords.x=n,!0}if(t.scrollbars.isOverVertical){var o=e.clientY,a=o-t.lastCoords.y;return this.setState({scrollY:this.state.scrollY-a/this.state.zoom.value}),t.lastCoords.y=o,!0}return!1}},{key:"onPointerUpFromPointerDownHandler",value:function(e){var t=this;return Yn((function(n){var r=t.state,o=r.draggingElement,a=r.resizingElement,i=r.multiElement,l=r.elementType,c=r.elementLocked,u=r.isResizing,d=r.isRotating;if(t.setState({isResizing:!1,isRotating:!1,resizingElement:null,selectionElement:null,cursorButton:"up",editingElement:i||Ye(t.state.editingElement)?t.state.editingElement:null}),t.savePointer(n.clientX,n.clientY,"up"),t.state.editingLinearElement){var p=ya.handlePointerUp(n,t.state.editingLinearElement,t.state);p!==t.state.editingLinearElement&&t.setState({editingLinearElement:p,suggestedBindings:[]})}if(pf=null,window.removeEventListener(s.Ks.POINTER_MOVE,e.eventListeners.onMove),window.removeEventListener(s.Ks.POINTER_UP,e.eventListeners.onUp),window.removeEventListener(s.Ks.KEYDOWN,e.eventListeners.onKeyDown),window.removeEventListener(s.Ks.KEYUP,e.eventListeners.onKeyUp),"draw"!==(null==o?void 0:o.type))if(Ze(o)){o.points.length>1&&ef.resumeRecording();var f=Rn(n,t.state);e.drag.hasOccurred||!o||i?e.drag.hasOccurred&&!i&&(xa(t.state)&&qe(o)&&Oa(o,t.state,t.scene,f),t.setState({suggestedBindings:[],startBoundElement:null}),c||"draw"===l?t.setState((function(e){var n;return{draggingElement:null,selectedElementIds:Qp(Qp({},e.selectedElementIds),{},(n={},n[t.state.draggingElement.id]=!0,n))}})):(zn(),t.setState((function(e){var n;return{draggingElement:null,elementType:"selection",selectedElementIds:Qp(Qp({},e.selectedElementIds),{},(n={},n[t.state.draggingElement.id]=!0,n))}})))):(Mr(o,{points:[].concat(R(o.points),[[f.x-o.x,f.y-o.y]])}),t.setState({multiElement:o,editingElement:t.state.draggingElement}))}else{if("selection"!==l&&o&&Tr(o))return t.scene.replaceAllElements(t.scene.getElementsIncludingDeleted().slice(0,-1)),void t.setState({draggingElement:null});o&&Mr(o,Ar(o)),a&&ef.resumeRecording(),a&&Tr(a)&&t.scene.replaceAllElements(t.scene.getElementsIncludingDeleted().filter((function(e){return e.id!==a.id})));var h=e.hit.element;if(h&&!e.drag.hasOccurred&&!e.hit.wasAddedToSelection)if(n.shiftKey)if(t.state.selectedElementIds[h.id])if(Hr(t.state,h)){var m=h.groupIds.flatMap((function(e){return Gr(t.scene.getElements(),e)})).map((function(e){var t;return(t={})[e.id]=!1,t})).reduce((function(e,t){return Qp(Qp({},e),t)}),{});t.setState((function(e){return{selectedGroupIds:Qp(Qp({},e.selectedElementIds),h.groupIds.map((function(e){var t;return(t={})[e]=!1,t})).reduce((function(e,t){return Qp(Qp({},e),t)}),{})),selectedElementIds:Qp(Qp({},e.selectedElementIds),m)}}))}else t.setState((function(e){var t;return{selectedElementIds:Qp(Qp({},e.selectedElementIds),{},(t={},t[h.id]=!1,t))}}));else t.setState((function(e){var t;return{selectedElementIds:Qp(Qp({},e.selectedElementIds),{},(t={},t[h.id]=!0,t))}}));else t.setState((function(e){var n;return Qp({},Fr(Qp(Qp({},e),{},{selectedElementIds:(n={},n[h.id]=!0,n)}),t.scene.getElements()))}));t.state.editingLinearElement||e.drag.hasOccurred||t.state.isResizing||!(h&&jo(h,t.state,e.origin.x,e.origin.y)||!h&&e.hit.hasHitCommonBoundingBoxOfSelectedElements)?(!c&&"draw"!==l&&o&&t.setState((function(e){var t;return{selectedElementIds:Qp(Qp({},e.selectedElementIds),{},(t={},t[o.id]=!0,t))}})),("selection"!==l||Ei(t.scene.getElements(),t.state))&&ef.resumeRecording(),(e.drag.hasOccurred||u||d)&&(xa(t.state)?Sa:Pa)(ki(t.scene.getElements(),t.state)),c||"draw"===l?t.setState({draggingElement:null,suggestedBindings:[]}):(zn(),t.setState({draggingElement:null,suggestedBindings:[],elementType:"selection"}))):t.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null})}else t.actionManager.executeAction(Bc)}))}},{key:"maybeSuggestBindingForAll",value:function(e){var t,n,r=(t=e,n=new Set(t.map((function(e){return e.id}))),t.flatMap((function(e){return qe(e)?Na(e).filter((function(e){return!n.has(e.id)})):Qe(e)?Wa(e).filter((function(e){return!n.has(e[0].id)})):[]})));this.setState({suggestedBindings:r})}},{key:"clearSelection",value:function(e){this.setState((function(t){return{selectedElementIds:{},selectedGroupIds:{},editingGroupId:t.editingGroupId&&null!=e&&Wr(e,t.editingGroupId)?t.editingGroupId:null}})),this.setState({selectedElementIds:{},previousSelectedElementIds:this.state.selectedElementIds})}},{key:"getTextWysiwygSnappedToCenterPosition",value:function(e,t,n,r,o){var a=function(e,t,n){for(var r=null,o=e.length-1;o>=0;--o)if(!e[o].isDeleted){var a=N(pt(e[o]),4),i=a[0],l=a[1],c=a[2],s=a[3];if(i<t&&t<c&&l<n&&n<s){r=e[o];break}}return r}(this.scene.getElementsIncludingDeleted().filter((function(e){return!Ye(e)})),e,t);if(a){var i=a.x+a.width/2,l=a.y+a.height/2;if(Math.hypot(e-i,t-l)<s.wZ){var c=Fn({sceneX:i,sceneY:l},n);return{viewportX:c.x,viewportY:c.y,elementCenterX:i,elementCenterY:l}}}}},{key:"getCanvasOffsets",value:function(e){var t,n;if("number"==typeof(null==e?void 0:e.offsetLeft)&&"number"==typeof(null==e?void 0:e.offsetTop))return{offsetLeft:e.offsetLeft,offsetTop:e.offsetTop};if(null!==(t=this.excalidrawContainerRef)&&void 0!==t&&null!==(n=t.current)&&void 0!==n&&n.parentElement){var r=this.excalidrawContainerRef.current.parentElement.getBoundingClientRect(),o=r.left,a=r.top;return{offsetLeft:"number"==typeof(null==e?void 0:e.offsetLeft)?e.offsetLeft:o,offsetTop:"number"==typeof(null==e?void 0:e.offsetTop)?e.offsetTop:a}}return{offsetLeft:"number"==typeof(null==e?void 0:e.offsetLeft)?e.offsetLeft:0,offsetTop:"number"==typeof(null==e?void 0:e.offsetTop)?e.offsetTop:0}}},{key:"updateLanguage",value:(t=(0,f.Z)(p().mark((function e(){var t,n=this;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=O.find((function(e){return e.code===n.props.langCode}))||C,e.next=3,P(t);case 3:this.setAppState({});case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}],[{key:"resetTapTwice",value:function(){tf=!1}}]),o}(c().Component);hf.defaultProps={width:window.innerWidth,height:window.innerHeight};var mf=function(){var e=this;this.canvas=null,this.rc=null,this.unmounted=!1,this.excalidrawContainerRef=c().createRef(),this.getSceneElementsIncludingDeleted=function(){return e.scene.getElementsIncludingDeleted()},this.getSceneElements=function(){return e.scene.getElements()},this.syncActionResult=Yn((function(t){if(!e.unmounted&&!1!==t){var n=null;if(t.elements&&(t.elements.forEach((function(t){var r;(null===(r=e.state.editingElement)||void 0===r?void 0:r.id)===t.id&&e.state.editingElement!==t&&gi(t)&&(n=t)})),e.scene.replaceAllElements(t.elements),t.commitToHistory&&ef.resumeRecording()),t.appState||n){var r,o,a;t.commitToHistory&&ef.resumeRecording();var i=(null==t||null===(r=t.appState)||void 0===r?void 0:r.viewModeEnabled)||!1,l=(null==t||null===(o=t.appState)||void 0===o?void 0:o.zenModeEnabled)||!1,c=(null==t||null===(a=t.appState)||void 0===a?void 0:a.gridSize)||null;void 0!==e.props.viewModeEnabled&&(i=e.props.viewModeEnabled),void 0!==e.props.zenModeEnabled&&(l=e.props.zenModeEnabled),void 0!==e.props.gridModeEnabled&&(c=e.props.gridModeEnabled?s.k:null),e.setState((function(e){var r;return Qp(Qp({},t.appState),{},{editingElement:n||(null===(r=t.appState)||void 0===r?void 0:r.editingElement)||null,width:e.width,height:e.height,offsetTop:e.offsetTop,offsetLeft:e.offsetLeft,viewModeEnabled:i,zenModeEnabled:l,gridSize:c})}),(function(){t.syncHistory&&ef.setCurrentState(e.state,e.scene.getElementsIncludingDeleted())}))}}})),this.onBlur=Yn((function(){af=!1,e.setState({isBindingEnabled:!0})})),this.onUnload=function(){e.onBlur()},this.disableEvent=function(e){e.preventDefault()},this.onFontLoaded=function(){e.scene.getElementsIncludingDeleted().forEach((function(e){Ye(e)&&fr(e)})),e.onSceneUpdated()},this.importLibraryFromUrl=function(){var t=(0,f.Z)(p().mark((function t(n){var r,o,a;return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return window.history.replaceState({},s.iC,window.location.origin),t.prev=1,t.next=4,fetch(n);case 4:return r=t.sent,t.next=7,r.blob();case 7:return o=t.sent,t.t0=JSON,t.next=11,o.text();case 11:if(t.t1=t.sent,a=t.t0.parse.call(t.t0,t.t1),wu(a)){t.next=15;break}throw new Error;case 15:if(!window.confirm(_("alerts.confirmAddLibrary",{numShapes:a.library.length}))){t.next=19;break}return t.next=18,gu.importLibrary(o);case 18:e.setState({isLibraryOpen:!0});case 19:t.next=25;break;case 21:t.prev=21,t.t2=t.catch(1),window.alert(_("alerts.errorLoadingLibrary")),console.error(t.t2);case 25:case"end":return t.stop()}}),t,null,[[1,21]])})));return function(e){return t.apply(this,arguments)}}(),this.resetHistory=function(){ef.clear()},this.resetScene=Yn((function(t){e.scene.replaceAllElements([]),e.setState((function(n){return Qp(Qp({},Qn()),{},{isLoading:(null==t||!t.resetLoadingState)&&n.isLoading,appearance:e.state.appearance})})),e.resetHistory()})),this.initializeScene=(0,f.Z)(p().mark((function t(){var n,r,o,a,i,l;return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return"launchQueue"in window&&"LaunchParams"in window&&window.launchQueue.setConsumer(function(){var t=(0,f.Z)(p().mark((function t(n){var r,o;return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n.files.length){t.next=2;break}return t.abrupt("return");case 2:return r=n.files[0],t.next=5,r.getFile();case 5:(o=t.sent).handle=r,Js(o,e.state).then((function(t){var n=t.elements,r=t.appState;return e.syncActionResult({elements:n,appState:Qp(Qp({},r||e.state),{},{isLoading:!1}),commitToHistory:!0})})).catch((function(t){e.setState({isLoading:!1,errorMessage:t.message})}));case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),e.state.isLoading||e.setState({isLoading:!0}),a=null,t.prev=3,t.next=6,e.props.initialData;case 6:if(t.t0=t.sent,t.t0){t.next=9;break}t.t0=null;case 9:a=t.t0,t.next=15;break;case 12:t.prev=12,t.t1=t.catch(3),console.error(t.t1);case 15:if((i=Zs(a,null)).appState=Qp(Qp({},i.appState),{},{isLoading:!1}),null!==(n=a)&&void 0!==n&&n.scrollToCenter&&(i.appState=Qp(Qp({},i.appState),Oi(i.elements,Qp(Qp({},i.appState),{},{width:e.state.width,height:e.state.height,offsetTop:e.state.offsetTop,offsetLeft:e.state.offsetLeft})))),null!=(null===(r=a)||void 0===r?void 0:r.scrollX)&&(i.appState.scrollX=a.scrollX),null!=(null===(o=a)||void 0===o?void 0:o.scrollY)&&(i.appState.scrollY=a.scrollY),e.resetHistory(),e.syncActionResult(Qp(Qp({},i),{},{commitToHistory:!0})),!(l=new URLSearchParams(window.location.search).get("addLibrary"))){t.next=26;break}return t.next=26,e.importLibraryFromUrl(l);case 26:case"end":return t.stop()}}),t,null,[[3,12]])}))),this.onResize=Yn((function(){e.scene.getElementsIncludingDeleted().forEach((function(e){return fr(e)})),e.setState({})})),this.onScroll=Ln((function(){e.setState(Qp({},e.getCanvasOffsets()))}),s.HM),this.onCut=Yn((function(t){In(t.target)||(e.cutAll(),t.preventDefault())})),this.onCopy=Yn((function(t){In(t.target)||(e.copyAll(),t.preventDefault())})),this.cutAll=function(){e.copyAll(),e.actionManager.executeAction(Wl)},this.copyAll=function(){cu(e.scene.getElements(),e.state)},this.onTapStart=function(t){if(!tf)return tf=!0,clearTimeout(nf),void(nf=window.setTimeout(hf.resetTapTwice,s.Gj));if(tf&&1===t.touches.length){var n=N(t.touches,1)[0];e.handleCanvasDoubleClick({clientX:n.clientX,clientY:n.clientY}),tf=!1,clearTimeout(nf)}t.preventDefault(),2===t.touches.length&&e.setState({selectedElementIds:{}})},this.onTapEnd=function(t){t.preventDefault(),t.touches.length>0&&e.setState({previousSelectedElementIds:{},selectedElementIds:e.state.previousSelectedElementIds})},this.pasteFromClipboard=Yn(function(){var t=(0,f.Z)(p().mark((function t(n){var r,o,a;return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=document.activeElement,o=document.elementFromPoint(rf,of),!n||o instanceof HTMLCanvasElement&&!In(r)){t.next=4;break}return t.abrupt("return");case 4:return t.next=6,pu(n);case 6:(a=t.sent).errorMessage?e.setState({errorMessage:a.errorMessage}):a.spreadsheet?e.setState({pasteDialog:{data:a.spreadsheet,shown:!0}}):a.elements?e.addElementsFromPasteOrLibrary(a.elements):a.text&&e.addTextFromPaste(a.text),e.selectShapeTool("selection"),null==n||n.preventDefault();case 10:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),this.addElementsFromPasteOrLibrary=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:rf,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:of,o=vt(t),a=N(o,4),i=a[0],l=a[1],c=a[2],s=a[3],u=jn(i,c)/2,d=jn(l,s)/2,p=Rn({clientX:n,clientY:r},e.state),f=p.x,h=p.y,m=f-u,g=h-d,v=new Map,b=ct(m,g,e.state.gridSize),y=N(b,2),w=y[0],x=y[1],E=new Map,k=t.map((function(t){var n=eo(e.state.editingGroupId,v,t,{x:t.x+w-i,y:t.y+x-l});return E.set(t.id,n.id),n})),S=[].concat(R(e.scene.getElementsIncludingDeleted()),R(k));Va(S,t,E),e.scene.replaceAllElements(S),ef.resumeRecording(),e.setState(Fr(Qp(Qp({},e.state),{},{isLibraryOpen:!1,selectedElementIds:k.reduce((function(e,t){return e[t.id]=!0,e}),{}),selectedGroupIds:{}}),e.scene.getElements()))},this.setAppState=function(t){e.setState(t)},this.removePointer=function(e){"touch"===e.pointerType&&uf&&(clearTimeout(uf),uf=0,df=!1),ff.pointers.delete(e.pointerId)},this.toggleLock=function(){e.setState((function(e){return{elementLocked:!e.elementLocked,elementType:e.elementLocked?"selection":e.elementType}}))},this.toggleZenMode=function(){e.actionManager.executeAction(bd)},this.toggleStats=function(){e.state.showStats||Hc("dialog","stats"),e.actionManager.executeAction(xd)},this.setScrollToCenter=function(t){e.setState(Qp({},Oi(mi(t),e.state,e.canvas)))},this.clearToast=function(){e.setState({toastMessage:null})},this.updateScene=Yn((function(t){t.commitToHistory&&ef.resumeRecording(),t.appState&&e.setState(t.appState),t.elements&&e.scene.replaceAllElements(t.elements),t.collaborators&&e.setState({collaborators:t.collaborators})})),this.onSceneUpdated=function(){e.setState({})},this.updateCurrentCursorPosition=Yn((function(e){rf=e.x,of=e.y})),this.onKeyDown=Yn((function(t){var n;if(("Proxy"in window&&(!t.shiftKey&&/^[A-Z]$/.test(t.key)||t.shiftKey&&/^[a-z]$/.test(t.key))&&(t=new Proxy(t,{get:function(e,n){var r=e[n];return"function"==typeof r?r.bind(e):"key"===n?t.shiftKey?e.key.toUpperCase():e.key.toLowerCase():r}})),!(In(t.target)&&t.key!==tn||wn(t.key)&&(n=t.target,n instanceof HTMLElement&&"wysiwyg"===n.dataset.type||n instanceof HTMLBRElement||n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement)))&&(t.key===nn&&e.setState({showHelpDialog:!0}),!e.actionManager.handleKeyDown(t)&&!e.state.viewModeEnabled)){if(t[Qt]&&e.setState({isBindingEnabled:!1}),t.code===jt&&e.setState({isLibraryOpen:!e.state.isLibraryOpen}),wn(t.key)){var r=e.state.gridSize&&(t.shiftKey?s.$e:e.state.gridSize)||(t.shiftKey?s.Iw:s.$e),o=e.scene.getElements().filter((function(t){return e.state.selectedElementIds[t.id]})),a=0,i=0;t.key===Yt?a=-r:t.key===Zt?a=r:t.key===Xt?i=-r:t.key===Ut&&(i=r),o.forEach((function(e){Mr(e,{x:e.x+a,y:e.y+i}),Da(e,{simultaneouslyUpdated:o})})),e.maybeSuggestBindingForAll(o),t.preventDefault()}else if(t.key===en){var l=ki(e.scene.getElements(),e.state);if(1===l.length&&Ze(l[0]))e.state.editingLinearElement&&e.state.editingLinearElement.elementId===l[0].id||(ef.resumeRecording(),e.setState({editingLinearElement:new ya(l[0],e.scene)}));else if(1===l.length&&!Ze(l[0])){var c=l[0];return e.startTextEditing({sceneX:c.x+c.width/2,sceneY:c.y+c.height/2}),void t.preventDefault()}}else if(!t.ctrlKey&&!t.altKey&&!t.metaKey&&null===e.state.draggingElement){var u=function(e){var t=Dd.find((function(t,n){return e===(n+1).toString()||("string"==typeof t.key?t.key===e:t.key.includes(e))}));return(null==t?void 0:t.value)||null}(t.key);u?e.selectShapeTool(u):t.key===pn&&e.toggleLock()}t.key===rn&&0===ff.pointers.size&&(af=!0,document.documentElement.style.cursor=s.oc.GRABBING)}})),this.onKeyUp=Yn((function(t){if(t.key===rn&&("selection"===e.state.elementType?zn():(Bn(e.state.elementType),e.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null})),af=!1),t[Qt]||e.state.isBindingEnabled||e.setState({isBindingEnabled:!0}),wn(t.key)){var n=ki(e.scene.getElements(),e.state);xa(e.state)?Sa(n):Pa(n),e.setState({suggestedBindings:[]})}})),this.onGestureStart=Yn((function(t){t.preventDefault(),e.setState({selectedElementIds:{}}),ff.initialScale=e.state.zoom.value})),this.onGestureChange=Yn((function(t){if(t.preventDefault(),2!==ff.pointers.size){var n=ff.initialScale;n&&e.setState((function(e){var r=e.zoom,o=e.offsetLeft,a=e.offsetTop;return{zoom:_i(Di(n*t.scale),r,{left:o,top:a},{x:rf,y:of})}}))}})),this.onGestureEnd=Yn((function(t){t.preventDefault(),e.setState({previousSelectedElementIds:{},selectedElementIds:e.state.previousSelectedElementIds}),ff.initialScale=null})),this.startTextEditing=function(t){var n=t.sceneX,r=t.sceneY,o=t.insertAtParentCenter,a=void 0===o||o,i=e.getTextElementAtPosition(n,r),l=a&&e.getTextWysiwygSnappedToCenterPosition(n,r,e.state,e.canvas,window.devicePixelRatio),c=i||qr({x:l?l.elementCenterX:n,y:l?l.elementCenterY:r,strokeColor:e.state.currentItemStrokeColor,backgroundColor:e.state.currentItemBackgroundColor,fillStyle:e.state.currentItemFillStyle,strokeWidth:e.state.currentItemStrokeWidth,strokeStyle:e.state.currentItemStrokeStyle,roughness:e.state.currentItemRoughness,opacity:e.state.currentItemOpacity,strokeSharpness:e.state.currentItemStrokeSharpness,text:"",fontSize:e.state.currentItemFontSize,fontFamily:e.state.currentItemFontFamily,textAlign:l?"center":e.state.currentItemTextAlign,verticalAlign:l?"middle":s.hs});e.setState({editingElement:c}),i?l&&"center"===c.textAlign||Mr(c,{verticalAlign:s.hs}):(e.scene.replaceAllElements([].concat(R(e.scene.getElementsIncludingDeleted()),[c])),l||Mr(c,{y:c.y-c.baseline/2})),e.setState({editingElement:c}),e.handleTextWysiwyg(c,{isExistingElement:!!i})},this.handleCanvasDoubleClick=function(t){if(!e.state.multiElement&&"selection"===e.state.elementType){var n=ki(e.scene.getElements(),e.state);if(1===n.length&&Ze(n[0]))e.state.editingLinearElement&&e.state.editingLinearElement.elementId===n[0].id||(ef.resumeRecording(),e.setState({editingLinearElement:new ya(n[0],e.scene)}));else{zn();var r=Rn(t,e.state),o=r.x,a=r.y;if(Rr(e.state).length>0){var i=e.getElementAtPosition(o,a),l=i&&function(e,t){return e.groupIds.find((function(e){return t[e]}))}(i,e.state.selectedGroupIds);if(l)return void e.setState((function(t){var n;return Fr(Qp(Qp({},t),{},{editingGroupId:l,selectedElementIds:(n={},n[i.id]=!0,n),selectedGroupIds:{}}),e.scene.getElements())}))}zn(),t[Qt]||e.startTextEditing({sceneX:o,sceneY:a,insertAtParentCenter:!t.altKey})}}},this.handleCanvasPointerMove=function(t){e.savePointer(t.clientX,t.clientY,e.state.cursorButton),ff.pointers.has(t.pointerId)&&ff.pointers.set(t.pointerId,{x:t.clientX,y:t.clientY});var n=ff.initialScale;if(2===ff.pointers.size&&ff.lastCenter&&n&&ff.initialDistance){var r=Od(ff.pointers),o=r.x-ff.lastCenter.x,a=r.y-ff.lastCenter.y;ff.lastCenter=r;var i=Md(Array.from(ff.pointers.values()))/ff.initialDistance;e.setState((function(e){var t=e.zoom,l=e.scrollX,c=e.scrollY,s=e.offsetLeft,u=e.offsetTop;return{scrollX:l+o/t.value,scrollY:c+a/t.value,zoom:_i(Di(n*i),t,{left:s,top:u},r),shouldCacheIgnoreZoom:!0}})),e.resetShouldCacheIgnoreZoomDebounced()}else ff.lastCenter=ff.initialDistance=ff.initialScale=null;if(!(af||lf||cf)){var l=xi(sf,t.clientX-e.state.offsetLeft,t.clientY-e.state.offsetTop).isOverEither;e.state.draggingElement||e.state.multiElement||(l?zn():Bn(e.state.elementType));var c=Rn(t,e.state),u=c.x,d=c.y;if(e.state.editingLinearElement&&!e.state.editingLinearElement.isDragging){var p=ya.handlePointerMove(t,u,d,e.state.editingLinearElement,e.state.gridSize);p!==e.state.editingLinearElement&&e.setState({editingLinearElement:p}),null!=p.lastUncommittedPoint?e.maybeSuggestBindingAtCursor(c):e.setState({suggestedBindings:[]})}if($e(e.state.elementType)){var f=e.state.draggingElement;qe(f)?e.maybeSuggestBindingForLinearElementAtCursor(f,"end",c,e.state.startBoundElement):e.maybeSuggestBindingAtCursor(c)}if(e.state.multiElement){var h=e.state.multiElement,m=h.x,g=h.y,v=h.points,b=h.lastCommittedPoint,y=v[v.length-1];return Bn(e.state.elementType),void(y===b?nt(u-m,d-g,y[0],y[1])>=s.qx?Mr(h,{points:[].concat(R(v),[[u-m,d-g]])}):document.documentElement.style.cursor=s.oc.POINTER:v.length>2&&b&&nt(u-m,d-g,b[0],b[1])<s.qx?(document.documentElement.style.cursor=s.oc.POINTER,Mr(h,{points:v.slice(0,-1)})):(rt(v,e.state.zoom.value)&&(document.documentElement.style.cursor=s.oc.POINTER),Mr(h,{points:[].concat(R(v.slice(0,-1)),[[u-m,d-g]])})))}if(!(Boolean(t.buttons)||"selection"!==e.state.elementType&&"text"!==e.state.elementType)){var w=e.scene.getElements(),x=ki(w,e.state);if(1!==x.length||l||e.state.editingLinearElement){if(x.length>1&&!l){var E=ha(vt(x),u,d,e.state.zoom,t.pointerType);if(E)return void(document.documentElement.style.cursor=ga({transformHandleType:E}))}}else{var k=fa(w,e.state,u,d,e.state.zoom,t.pointerType);if(k&&k.transformHandleType)return void(document.documentElement.style.cursor=ga(k))}var S=e.getElementAtPosition(c.x,c.y);"text"===e.state.elementType?document.documentElement.style.cursor=Ye(S)?s.oc.TEXT:s.oc.CROSSHAIR:l?document.documentElement.style.cursor=s.oc.AUTO:S||e.isHittingCommonBoundingBoxOfSelectedElements(c,x)?document.documentElement.style.cursor=s.oc.MOVE:document.documentElement.style.cursor=s.oc.AUTO}}},this.handleTouchMove=function(e){df=!0},this.handleCanvasPointerDown=function(t){if(t.persist(),e.maybeOpenContextMenuAfterPointerDownOnTouchDevices(t),e.maybeCleanupAfterMissingPointerUp(t),!lf&&(e.setState({lastPointerDownWith:t.pointerType,cursorButton:"down"}),e.savePointer(t.clientX,t.clientY,"down"),!e.handleCanvasPanUsingWheelOrSpaceDrag(t)&&!(t.button!==s.Oh.MAIN&&t.button!==s.Oh.TOUCH||(e.updateGestureOnPointerDown(t),t.preventDefault(),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),ff.pointers.size>1)))){var n=e.initialPointerDownState(t);if(!e.handleDraggingScrollBar(t,n)&&(e.clearSelectionIfNotUsingSelection(),e.updateBindingEnabledOnPointerMove(t),!e.handleSelectionOnPointerDown(t,n)))if("text"!==e.state.elementType){"arrow"===e.state.elementType||"draw"===e.state.elementType||"line"===e.state.elementType?e.handleLinearElementOnPointerDown(t,e.state.elementType,n):e.createGenericElementOnPointerDown(e.state.elementType,n);var r=e.onPointerMoveFromPointerDownHandler(n),o=e.onPointerUpFromPointerDownHandler(n),a=e.onKeyDownFromPointerDownHandler(n),i=e.onKeyUpFromPointerDownHandler(n);pf=o,e.state.viewModeEnabled||(window.addEventListener(s.Ks.POINTER_MOVE,r),window.addEventListener(s.Ks.POINTER_UP,o),window.addEventListener(s.Ks.KEYDOWN,a),window.addEventListener(s.Ks.KEYUP,i),n.eventListeners.onMove=r,n.eventListeners.onUp=o,n.eventListeners.onKeyUp=i,n.eventListeners.onKeyDown=a)}else e.handleTextOnPointerDown(t,n)}},this.maybeOpenContextMenuAfterPointerDownOnTouchDevices=function(t){"touch"===t.pointerType&&(df=!1,uf?df=!0:uf=window.setTimeout((function(){uf=0,df||e.openContextMenu({clientX:t.clientX,clientY:t.clientY})}),s.nM))},this.handleCanvasPanUsingWheelOrSpaceDrag=function(t){if(0!==ff.pointers.size||!(t.button===s.Oh.WHEEL||t.button===s.Oh.MAIN&&af||e.state.viewModeEnabled))return!1;lf=!0;var n=!1,r=/Linux/.test(window.navigator.platform);document.documentElement.style.cursor=s.oc.GRABBING;var o=t.clientX,a=t.clientY,i=Yn((function(t){var i=o-t.clientX,l=a-t.clientY;if(o=t.clientX,a=t.clientY,r&&!n&&(Math.abs(i)>1||Math.abs(l)>1)){n=!0;var c=function e(t){document.body.removeEventListener(s.Ks.PASTE,e),t.stopPropagation()};document.body.addEventListener(s.Ks.PASTE,c),window.addEventListener(s.Ks.POINTER_UP,(function e(){setTimeout((function(){document.body.removeEventListener(s.Ks.PASTE,c),window.removeEventListener(s.Ks.POINTER_UP,e)}),100)}))}e.setState({scrollX:e.state.scrollX-i/e.state.zoom.value,scrollY:e.state.scrollY-l/e.state.zoom.value})})),l=Yn(pf=function(){pf=null,lf=!1,af||Bn(e.state.elementType),e.setState({cursorButton:"up"}),e.savePointer(t.clientX,t.clientY,"up"),window.removeEventListener(s.Ks.POINTER_MOVE,i),window.removeEventListener(s.Ks.POINTER_UP,l),window.removeEventListener(s.Ks.BLUR,l)});return window.addEventListener(s.Ks.BLUR,l),window.addEventListener(s.Ks.POINTER_MOVE,i,{passive:!0}),window.addEventListener(s.Ks.POINTER_UP,l),!0},this.clearSelectionIfNotUsingSelection=function(){"selection"!==e.state.elementType&&e.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null})},this.handleSelectionOnPointerDown=function(t,n){if("selection"===e.state.elementType){var r=e.scene.getElements(),o=ki(r,e.state);if(1!==o.length||e.state.editingLinearElement)o.length>1&&(n.resize.handleType=ha(vt(o),n.origin.x,n.origin.y,e.state.zoom,t.pointerType));else{var a=fa(r,e.state,n.origin.x,n.origin.y,e.state.zoom,t.pointerType);null!=a&&(e.setState({resizingElement:a.element}),n.resize.handleType=a.transformHandleType)}if(n.resize.handleType)document.documentElement.style.cursor=ga({transformHandleType:n.resize.handleType}),n.resize.isResizing=!0,n.resize.offset=Kn(function(e,t,n,r){var o=N(1===t.length?pt(t[0]):vt(t),4),a=o[0],i=o[1],l=o[2],c=o[3],s=(a+l)/2,u=(i+c)/2,d=1===t.length?t[0].angle:0,p=N(Je(n,r,s,u,-d),2);switch(n=p[0],r=p[1],e){case"n":return Je(n-(a+l)/2,r-i,0,0,d);case"s":return Je(n-(a+l)/2,r-c,0,0,d);case"w":return Je(n-a,r-(i+c)/2,0,0,d);case"e":return Je(n-l,r-(i+c)/2,0,0,d);case"nw":return Je(n-a,r-i,0,0,d);case"ne":return Je(n-l,r-i,0,0,d);case"sw":return Je(n-a,r-c,0,0,d);case"se":return Je(n-l,r-c,0,0,d);default:return[0,0]}}(n.resize.handleType,o,n.origin.x,n.origin.y)),1===o.length&&Ze(o[0])&&2===o[0].points.length&&(n.resize.arrowDirection=(u=n.resize.handleType,d=o[0],p=N(d.points,2),f=N(p[1],2),h=f[0],m=f[1],"nw"===u&&(h<0||m<0)||"ne"===u&&h>=0||"sw"===u&&h<=0||"se"===u&&(h>0||m>0)?"end":"origin"));else{var i;if(e.state.editingLinearElement){var l=ya.handlePointerDown(t,e.state,(function(t){return e.setState(t)}),ef,n.origin);if(l.hitElement&&(n.hit.element=l.hitElement),l.didAddPoint)return!0}n.hit.element=null!==(i=n.hit.element)&&void 0!==i?i:e.getElementAtPosition(n.origin.x,n.origin.y),n.hit.allHitElements=e.getElementsAtPosition(n.origin.x,n.origin.y);var c=n.hit.element,s=n.hit.allHitElements.some((function(t){return e.isASelectedElement(t)}));if(null!==c&&s||t.shiftKey||n.hit.hasHitCommonBoundingBoxOfSelectedElements||e.clearSelection(c),null!=c){if(t[Qt])return e.setState((function(t){return Qp(Qp({},function(e,t){var n;return zr(zr({},e),{},{editingGroupId:t.groupIds.length?t.groupIds[0]:null,selectedGroupIds:{},selectedElementIds:(n={},n[t.id]=!0,n)})}(t,c)),{},{previousSelectedElementIds:e.state.selectedElementIds})})),!1;e.state.selectedElementIds[c.id]||(e.state.editingGroupId&&!Wr(c,e.state.editingGroupId)&&e.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null}),s||n.hit.hasHitCommonBoundingBoxOfSelectedElements||(e.setState((function(t){var n;return Fr(Qp(Qp({},t),{},{selectedElementIds:Qp(Qp({},t.selectedElementIds),{},(n={},n[c.id]=!0,n))}),e.scene.getElements())})),n.hit.wasAddedToSelection=!0))}e.setState({previousSelectedElementIds:e.state.selectedElementIds})}}var u,d,p,f,h,m;return!1},this.handleTextOnPointerDown=function(t,n){var r;"text"!==(null===(r=e.state.editingElement)||void 0===r?void 0:r.type)&&(e.startTextEditing({sceneX:n.origin.x,sceneY:n.origin.y,insertAtParentCenter:!t.altKey}),zn(),e.state.elementLocked||e.setState({elementType:"selection"}))},this.handleLinearElementOnPointerDown=function(t,n,r){if(e.state.multiElement){var o=e.state.multiElement;if("line"===o.type&&rt(o.points,e.state.zoom.value))return Mr(o,{lastCommittedPoint:o.points[o.points.length-1]}),void e.actionManager.executeAction(Bc);var a=o.x,i=o.y,l=o.lastCommittedPoint;if(o.points.length>1&&l&&nt(r.origin.x-a,r.origin.y-i,l[0],l[1])<s.qx)return void e.actionManager.executeAction(Bc);e.setState((function(e){var t;return{selectedElementIds:Qp(Qp({},e.selectedElementIds),{},(t={},t[o.id]=!0,t))}})),Mr(o,{lastCommittedPoint:o.points[o.points.length-1]}),document.documentElement.style.cursor=s.oc.POINTER}else{var c=N(ct(r.origin.x,r.origin.y,"draw"===n?null:e.state.gridSize),2),u=c[0],d=c[1],p=e.state,f=p.currentItemStartArrowhead,h=p.currentItemEndArrowhead,m=N("arrow"===n?[f,h]:[null,null],2),g=m[0],v=m[1],b=Qr({type:n,x:u,y:d,strokeColor:e.state.currentItemStrokeColor,backgroundColor:e.state.currentItemBackgroundColor,fillStyle:e.state.currentItemFillStyle,strokeWidth:e.state.currentItemStrokeWidth,strokeStyle:e.state.currentItemStrokeStyle,roughness:e.state.currentItemRoughness,opacity:e.state.currentItemOpacity,strokeSharpness:e.state.currentItemLinearStrokeSharpness,startArrowhead:g,endArrowhead:v});e.setState((function(e){var t;return{selectedElementIds:Qp(Qp({},e.selectedElementIds),{},(t={},t[b.id]=!1,t))}})),Mr(b,{points:[].concat(R(b.points),[[0,0]])});var y=La(r.origin,e.scene);e.scene.replaceAllElements([].concat(R(e.scene.getElementsIncludingDeleted()),[b])),e.setState({draggingElement:b,editingElement:b,startBoundElement:y,suggestedBindings:[]})}},this.createGenericElementOnPointerDown=function(t,n){var r=N(ct(n.origin.x,n.origin.y,e.state.gridSize),2),o=r[0],a=r[1],i=Zr({type:t,x:o,y:a,strokeColor:e.state.currentItemStrokeColor,backgroundColor:e.state.currentItemBackgroundColor,fillStyle:e.state.currentItemFillStyle,strokeWidth:e.state.currentItemStrokeWidth,strokeStyle:e.state.currentItemStrokeStyle,roughness:e.state.currentItemRoughness,opacity:e.state.currentItemOpacity,strokeSharpness:e.state.currentItemStrokeSharpness});"selection"===i.type?e.setState({selectionElement:i,draggingElement:i}):(e.scene.replaceAllElements([].concat(R(e.scene.getElementsIncludingDeleted()),[i])),e.setState({multiElement:null,draggingElement:i,editingElement:i}))},this.updateBindingEnabledOnPointerMove=function(t){var n=function(e){return!e[Qt]}(t);e.state.isBindingEnabled!==n&&e.setState({isBindingEnabled:n})},this.maybeSuggestBindingAtCursor=function(t){var n=La(t,e.scene);e.setState({suggestedBindings:null!=n?[n]:[]})},this.maybeSuggestBindingForLinearElementAtCursor=function(t,n,r,o){var a=La(r,e.scene);e.setState({suggestedBindings:null==a||Ta(t,null==o?void 0:o.id,a)?[]:[a]})},this.handleCanvasRef=function(t){var n,r,o;null!==t?(e.canvas=t,e.rc=Ve.canvas(e.canvas),e.canvas.addEventListener(s.Ks.WHEEL,e.handleWheel,{passive:!1}),e.canvas.addEventListener(s.Ks.TOUCH_START,e.onTapStart),e.canvas.addEventListener(s.Ks.TOUCH_END,e.onTapEnd)):(null===(n=e.canvas)||void 0===n||n.removeEventListener(s.Ks.WHEEL,e.handleWheel),null===(r=e.canvas)||void 0===r||r.removeEventListener(s.Ks.TOUCH_START,e.onTapStart),null===(o=e.canvas)||void 0===o||o.removeEventListener(s.Ks.TOUCH_END,e.onTapEnd))},this.handleCanvasOnDrop=function(){var t=(0,f.Z)(p().mark((function t(n){var r,o,a,i,l,c,u,d;return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(t.prev=0,"image/png"!==(null==(o=n.dataTransfer.files[0])?void 0:o.type)&&"image/svg+xml"!==(null==o?void 0:o.type)){t.next=10;break}return t.next=5,Js(o,e.state);case 5:return a=t.sent,i=a.elements,l=a.appState,e.syncActionResult({elements:i,appState:Qp(Qp({},l||e.state),{},{isLoading:!1}),commitToHistory:!0}),t.abrupt("return");case 10:t.next=15;break;case 12:return t.prev=12,t.t0=t.catch(0),t.abrupt("return",e.setState({isLoading:!1,errorMessage:t.t0.message}));case 15:if(""===(c=n.dataTransfer.getData(s.LO.excalidrawlib))){t.next=19;break}return e.addElementsFromPasteOrLibrary(JSON.parse(c),n.clientX,n.clientY),t.abrupt("return");case 19:if(!("application/json"===(null==(u=null===(r=n.dataTransfer)||void 0===r?void 0:r.files[0])?void 0:u.type)||null!=u&&u.name.endsWith(".excalidraw"))){t.next=36;break}if(e.setState({isLoading:!0}),!("chooseFileSystemEntries"in window)&&!("showOpenFilePicker"in window)){t.next=33;break}return t.prev=23,d=n.dataTransfer.items[0],t.next=27,d.getAsFileSystemHandle();case 27:u.handle=t.sent,t.next=33;break;case 30:t.prev=30,t.t1=t.catch(23),console.warn(t.t1.name,t.t1.message);case 33:Js(u,e.state).then((function(t){var n=t.elements,r=t.appState;return e.syncActionResult({elements:n,appState:Qp(Qp({},r||e.state),{},{isLoading:!1}),commitToHistory:!0})})).catch((function(t){e.setState({isLoading:!1,errorMessage:t.message})})),t.next=37;break;case 36:(null==u?void 0:u.type)===s.LO.excalidrawlib||null!=u&&u.name.endsWith(".excalidrawlib")?gu.importLibrary(u).then((function(){e.setState({isLibraryOpen:!1})})).catch((function(t){return e.setState({isLoading:!1,errorMessage:t.message})})):e.setState({isLoading:!1,errorMessage:_("alerts.couldNotLoadInvalidFile")});case 37:case"end":return t.stop()}}),t,null,[[0,12],[23,30]])})));return function(e){return t.apply(this,arguments)}}(),this.handleCanvasContextMenu=function(t){t.preventDefault(),e.openContextMenu(t)},this.maybeDragNewGenericElement=function(t,n){var r=e.state.draggingElement,o=t.lastCoords;if(r)if("selection"===r.type)ai(r,e.state.elementType,t.origin.x,t.origin.y,o.x,o.y,jn(t.origin.x,o.x),jn(t.origin.y,o.y),En(n),xn(n));else{var a=N(ct(o.x,o.y,e.state.gridSize),2),i=a[0],l=a[1];ai(r,e.state.elementType,t.originInGrid.x,t.originInGrid.y,i,l,jn(t.originInGrid.x,i),jn(t.originInGrid.y,l),En(n),xn(n)),e.maybeSuggestBindingForAll([r])}},this.maybeHandleResize=function(t,n){var r=ki(e.scene.getElements(),e.state),o=t.resize.handleType;e.setState({isResizing:o&&"rotation"!==o,isRotating:"rotation"===o});var a=t.lastCoords,i=N(ct(a.x-t.resize.offset.x,a.y-t.resize.offset.y,e.state.gridSize),2),l=i[0],c=i[1];return!!function(e,t,n,r,o,a,i,l,c,s,u){if(1===n.length){var d=N(n,1)[0];return"rotation"===t?($a(d,l,c,o),Da(d)):!Ze(d)||2!==d.points.length||"nw"!==t&&"ne"!==t&&"sw"!==t&&"se"!==t?!Ye(d)||"nw"!==t&&"ne"!==t&&"sw"!==t&&"se"!==t?t&&ni(e.originalElements.get(d.id),i,d,t,a,l,c):(ti(d,t,a,l,c),Da(d)):Qa(d,r,o,l,c),document.documentElement.style.cursor=ga({element:d,transformHandleType:t}),!0}if(n.length>1){if("rotation"===t)return oi(e,n,l,c,o,s,u),!0;if("nw"===t||"ne"===t||"sw"===t||"se"===t)return ri(n,t,l,c),!0}return!1}(t,o,r,t.resize.arrowDirection,kn(n),xn(n),En(n),l,c,t.resize.center.x,t.resize.center.y)&&(e.maybeSuggestBindingForAll(r),!0)},this.openContextMenu=function(t){var n,r=t.clientX,o=t.clientY,a=Rn({clientX:r,clientY:o},e.state),i=a.x,l=a.y,c=Wu.contextItemPredicate(e.actionManager.getElementsIncludingDeleted(),e.actionManager.getAppState()),s=Gu.contextItemPredicate(e.actionManager.getElementsIncludingDeleted(),e.actionManager.getAppState()),u="separator",d=Ic(),p=e.scene.getElements(),f=e.getElementAtPosition(i,l),h=[];if(lu&&p.length>0&&h.push(pd),iu&&p.length>0&&h.push(dd),f)e.state.selectedElementIds[f.id]||e.setState({selectedElementIds:(n={},n[f.id]=!0,n)}),e.state.viewModeEnabled?Nd({options:[navigator.clipboard&&sd].concat(h),top:o,left:r,actionManager:e.actionManager,appState:e.state}):Nd({options:[d&&ud,d&&navigator.clipboard&&sd,d&&navigator.clipboard&&{name:"paste",perform:function(t,n){return e.pasteFromClipboard(null),{commitToHistory:!1}},contextItemLabel:"labels.paste"},d&&u].concat(h,[u,Lu,_u,u,c&&Wu,s&&Gu,(c||s)&&u,Yu,u,$l,Ql,Jl,ec,u,ic,Wl]),top:o,left:r,actionManager:e.actionManager,appState:e.state});else{var m=[].concat(h,[void 0===e.props.gridModeEnabled&&md,void 0===e.props.zenModeEnabled&&bd,void 0===e.props.viewModeEnabled&&Zp,xd]);if(Nd({options:m,top:o,left:r,actionManager:e.actionManager,appState:e.state}),e.state.viewModeEnabled)return;Nd({options:[d&&navigator.clipboard&&{name:"paste",perform:function(t,n){return e.pasteFromClipboard(null),{commitToHistory:!1}},contextItemLabel:"labels.paste"},d&&navigator.clipboard&&u,lu&&p.length>0&&pd,iu&&p.length>0&&dd,(lu&&p.length>0||iu&&p.length>0)&&u,rc,u,void 0===e.props.gridModeEnabled&&md,void 0===e.props.zenModeEnabled&&bd,void 0===e.props.viewModeEnabled&&Zp,xd],top:o,left:r,actionManager:e.actionManager,appState:e.state})}},this.handleWheel=Yn((function(t){if(t.preventDefault(),!lf){var n=t.deltaX,r=t.deltaY,o=e.state,a=o.selectedElementIds,i=o.previousSelectedElementIds;if(t.metaKey||t.ctrlKey){var l=Math.sign(r),c=Math.abs(r);c>10&&(c=10),c*=l,0!==Object.keys(i).length&&setTimeout((function(){e.setState({selectedElementIds:i,previousSelectedElementIds:{}})}),1e3);var u=e.state.zoom.value-c/100;return u+=Math.log10(Math.max(1,e.state.zoom.value))*-l,u=Math.round(u*s.V4*100)/(100*s.V4),e.setState((function(e){var t=e.zoom,n=e.offsetLeft,r=e.offsetTop;return{zoom:_i(Di(u),t,{left:n,top:r},{x:rf,y:of}),selectedElementIds:{},previousSelectedElementIds:0!==Object.keys(a).length?a:i,shouldCacheIgnoreZoom:!0}})),void e.resetShouldCacheIgnoreZoomDebounced()}t.shiftKey?e.setState((function(e){var t=e.zoom;return{scrollX:e.scrollX-(r||n)/t.value}})):e.setState((function(e){var t=e.zoom,o=e.scrollX,a=e.scrollY;return{scrollX:o-n/t.value,scrollY:a-r/t.value}}))}})),this.savePointer=function(t,n,r){var o,a;if(t&&n){var i=Rn({clientX:t,clientY:n},e.state);isNaN(i.x)||isNaN(i.y),null===(o=(a=e.props).onPointerUpdate)||void 0===o||o.call(a,{pointer:i,button:r,pointersMap:ff.pointers})}},this.resetShouldCacheIgnoreZoomDebounced=Ln((function(){e.unmounted||e.setState({shouldCacheIgnoreZoom:!1})}),300)};"production"!==s.Vi.TEST&&"production"!==s.Vi.DEVELOPMENT||(window.h=window.h||{},Object.defineProperties(window.h,{elements:{configurable:!0,get:function(){return this.app.scene.getElementsIncludingDeleted()},set:function(e){return this.app.scene.replaceAllElements(e)}},history:{configurable:!0,get:function(){return ef}},library:{configurable:!0,value:gu}}));var gf=hf;n(8234),n(4651);function vf(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 bf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vf(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var yf=function(e){var t,n,r,o=e.elements,a=e.appState,i=void 0===a?Qn():a,l=e.getDimensions,c=void 0===l?function(e,t){return{width:e,height:t,scale:1}}:l;return fs(mi(o),bf(bf({},i),{},{offsetTop:0,offsetLeft:0}),{exportBackground:null===(t=i.exportBackground)||void 0===t||t,viewBackgroundColor:null!==(n=i.viewBackgroundColor)&&void 0!==n?n:"#FFF",shouldAddWatermark:null!==(r=i.shouldAddWatermark)&&void 0!==r&&r},(function(e,t){var n=document.createElement("canvas"),r=c(e,t);return n.width=r.width,n.height=r.height,{canvas:n,scale:r.scale}}))},wf=function(e){var t=yf(e),n=e.mimeType,r=void 0===n?"image/png":n,o=e.quality;return"image/png"===r&&"number"==typeof o&&console.warn('"quality" will be ignored for "image/png" mimeType'),"image/jpg"===r&&(r="image/jpeg"),o=o||(/image\/jpe?g/.test(r)?.92:.8),new Promise((function(e){t.toBlob((function(t){e(t)}),r,o)}))},xf=function(e){var t=e.elements,n=e.appState,r=void 0===n?Qn():n,o=e.exportPadding,a=e.metadata;return hs(mi(t),bf(bf({},r),{},{exportPadding:o,metadata:a}))},Ef=function(){var e=(0,f.Z)(p().mark((function e(t){var n;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,wf(t);case 2:if(n=e.sent){e.next=5;break}throw new Error("couldn't export to blob");case 5:return e.next=7,navigator.clipboard.write([new window.ClipboardItem({"image/png":n})]);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),kf=function(e){var t=e.width,n=e.height,r=e.offsetLeft,o=e.offsetTop,a=e.onChange,i=e.initialData,s=e.excalidrawRef,u=e.onCollabButtonClick,d=e.isCollaborating,p=e.onPointerUpdate,f=e.onExportToBackend,h=e.langCode,m=void 0===h?C.code:h,g=e.viewModeEnabled,v=e.zenModeEnabled,b=e.gridModeEnabled,y=e.onHomeButtonClick,w=e.renderTopRight;return(0,l.useEffect)((function(){var e=function(e){"number"==typeof e.scale&&1!==e.scale&&e.preventDefault()};return document.addEventListener("touchmove",e,{passive:!1}),function(){document.removeEventListener("touchmove",e)}}),[]),c().createElement(z,{langCode:m},c().createElement(Mc,null,c().createElement(gf,{width:t,height:n,offsetLeft:r,offsetTop:o,onChange:a,initialData:i,excalidrawRef:s,onCollabButtonClick:u,isCollaborating:d,onPointerUpdate:p,onExportToBackend:f,langCode:m,viewModeEnabled:g,zenModeEnabled:v,gridModeEnabled:b,onHomeButtonClick:y,renderTopRight:w})))},Sf=function(e,t){e.initialData;var n=i()(e,["initialData"]),r=(t.initialData,i()(t,["initialData"])),o=Object.keys(e),a=Object.keys(t);return o.length===a.length&&o.every((function(e){return n[e]===r[e]}))};kf.defaultProps={lanCode:C.code};var Cf=(0,l.forwardRef)((function(e,t){return c().createElement(kf,o()({},e,{excalidrawRef:t}))})),Of=c().memo(Cf,Sf),Mf=(n(6009),Of)},4698:function(t){"use strict";t.exports=e},6207:function(e){"use strict";e.exports=t}},l={};function c(e){if(l[e])return l[e].exports;var t=l[e]={id:e,exports:{}};return i[e](t,t.exports,c),t.exports}return c.m=i,c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,{a:t}),t},r=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},c.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var o=Object.create(null);c.r(o);var a={};n=n||[null,r({}),r([]),r(r)];for(var i=2&t&&e;"object"==typeof i&&!~n.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((function(t){a[t]=function(){return e[t]}}));return a.default=function(){return e},c.d(o,a),o},c.d=function(e,t){for(var n in t)c.o(t,n)&&!c.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},c.f={},c.e=function(e){return Promise.all(Object.keys(c.f).reduce((function(t,n){return c.f[n](e,t),t}),[]))},c.u=function(e){return"excalidraw-assets/"+{9:"image",43:"i18n-de-DE-json",60:"i18n-ko-KR-json",62:"i18n-zh-TW-json",137:"i18n-ja-JP-json",149:"i18n-pt-PT-json",164:"i18n-kab-KAB-json",196:"i18n-nl-NL-json",213:"i18n-tr-TR-json",242:"i18n-my-MM-json",246:"i18n-nb-NO-json",262:"i18n-he-IL-json",280:"i18n-pa-IN-json",304:"i18n-zh-CN-json",317:"i18n-es-ES-json",351:"i18n-ca-ES-json",364:"i18n-fr-FR-json",381:"i18n-pt-BR-json",384:"i18n-bg-BG-json",401:"i18n-sk-SK-json",465:"i18n-it-IT-json",472:"i18n-fi-FI-json",491:"i18n-id-ID-json",526:"i18n-el-GR-json",558:"i18n-ar-SA-json",583:"i18n-uk-UA-json",661:"i18n-hu-HU-json",698:"i18n-sv-SE-json",710:"i18n-fa-IR-json",736:"vendor",752:"i18n-ro-RO-json",852:"i18n-pl-PL-json",869:"i18n-ru-RU-json",920:"i18n-nn-NO-json",933:"i18n-hi-IN-json"}[e]+"-"+{9:"922c96394ba675f42703",43:"060c1d8069099d5102b8",60:"0d967b7beb35156a3459",62:"2171783a36894a0b11e7",137:"f39b634970e77aeadbc5",149:"294568d96dce696845fa",164:"458988387901a10d2c35",196:"bcfd5c3820ea61e1c87a",213:"6bf3b73f1172b1d63b7a",242:"c005189abcadf4093e10",246:"795029de2ad87c91a125",262:"235069585cc4e1e002f9",280:"a074bb4c0d862b6d9df0",304:"24ac8d65bc35fd78ba49",317:"40ec99047b7ffce721bf",351:"46398e6541c3f38f4aa8",364:"7af2fba1c7709b5750c0",381:"57989f9c04ad82522232",384:"0182284dc532d56c7ad4",401:"2b98e9cc223fd38e88ec",465:"6a34e8ccc791f74b1507",472:"2025ae33d2877e964050",491:"f8c3edc6de505aeec14f",526:"ea05b41c20e86fa70d21",558:"ba804581a97b71472d27",583:"b194233d6c451418e77c",661:"594dc58669decbfbab9b",698:"ecd7f40bcdfd53bbc8fe",710:"49692a2cb00c34f863fe",736:"d95ab53224fa3595b9bd",752:"016a765e7df0415093e4",852:"45937c028278d8ab91fe",869:"9e39c694067b5ad5f4b0",920:"98dfc505ffd182b14f4f",933:"a95bb267eebefc2b77ec"}[e]+".js"},c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o={},a="Excalidraw:",c.l=function(e,t,n){if(o[e])o[e].push(t);else{var r,i;if(void 0!==n)for(var l=document.getElementsByTagName("script"),s=0;s<l.length;s++){var u=l[s];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==a+n){r=u;break}}r||(i=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,c.nc&&r.setAttribute("nonce",c.nc),r.setAttribute("data-webpack",a+n),r.src=e),o[e]=[t];var d=function(t,n){r.onerror=r.onload=null,clearTimeout(p);var a=o[e];if(delete o[e],r.parentNode&&r.parentNode.removeChild(r),a&&a.forEach((function(e){return e(n)})),t)return t(n)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=d.bind(null,r.onerror),r.onload=d.bind(null,r.onload),i&&document.head.appendChild(r)}},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.p="",function(){var e={163:0};c.f.j=function(t,n){var r=c.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var o=new Promise((function(n,o){r=e[t]=[n,o]}));n.push(r[2]=o);var a=c.p+c.u(t),i=new Error;c.l(a,(function(n){if(c.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;i.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,r[1](i)}}),"chunk-"+t)}};var t=function(t,n){for(var r,o,a=n[0],i=n[1],l=n[2],s=0,u=[];s<a.length;s++)o=a[s],c.o(e,o)&&e[o]&&u.push(e[o][0]),e[o]=0;for(r in i)c.o(i,r)&&(c.m[r]=i[r]);for(l&&l(c),t&&t(n);u.length;)u.shift()()},n=self.webpackChunkExcalidraw=self.webpackChunkExcalidraw||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}(),c(5992)}()}));