forked from excalidraw/excalidraw
/
excalidraw.min.js
2 lines (2 loc) · 432 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,a,o,i={2608:function(e,t,n){"use strict";function r(e,t,n,r,a,o,i){try{var l=e[o](i),c=l.value}catch(e){return void n(e)}l.done?t(c):Promise.resolve(c).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,o){var i=e.apply(t,n);function l(e){r(i,a,o,l,c,"next",e)}function c(e){r(i,a,o,l,c,"throw",e)}l(void 0)}))}}n.d(t,{Z:function(){return a}})},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,a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",i=a.asyncIterator||"@@asyncIterator",l=a.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 a=t&&t.prototype instanceof g?t:g,o=Object.create(a.prototype),i=new I(r||[]);return o._invoke=function(e,t,n){var r=d;return function(a,o){if(r===f)throw new Error("Generator is already running");if(r===h){if("throw"===a)throw o;return P()}for(n.method=a,n.arg=o;;){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),o}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[o]=function(){return this};var w=Object.getPrototypeOf,x=w&&w(w(T([])));x&&x!==n&&r.call(x,o)&&(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(a,o,i,l){var c=u(e[a],e,o);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 a;this._invoke=function(e,r){function o(){return new t((function(t,a){n(e,r,t,a)}))}return a=a?a.then(o,o):o()}}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 a=u(r,e.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,m;var o=a.arg;return o?o.done?(n[e.resultName]=o.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,m):o:(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[o];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,i=function n(){for(;++a<e.length;)if(r.call(e,a))return n.value=e[a],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,a,o){void 0===o&&(o=Promise);var i=new S(s(t,n,r,a),o);return e.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},k(E),c(E,l,"Generator"),E[o]=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 a(r,a){return l.type="throw",l.arg=e,n.next=r,a&&(n.method="next",n.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],l=i.completion;if("root"===i.tryLoc)return a("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 a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.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 a=r.arg;M(n)}return a}}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),a=n(8328);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},566:function(e,t,n){var r=n(487),a=n(6121);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},3211:function(e,t,n){var r=n(487),a=n(2510);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},5574:function(e,t,n){var r=n(487),a=n(7972);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},4518:function(e,t,n){var r=n(487),a=n(190);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},3040:function(e,t,n){var r=n(487),a=n(6718);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},8623:function(e,t,n){var r=n(487),a=n(3623);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},4193:function(e,t,n){var r=n(487),a=n(103);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},341:function(e,t,n){var r=n(487),a=n(7061);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},9705:function(e,t,n){var r=n(487),a=n(1498);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},7143:function(e,t,n){var r=n(487),a=n(666);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},7428:function(e,t,n){var r=n(487),a=n(849);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},8465:function(e,t,n){var r=n(487),a=n(6915);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},8680:function(e,t,n){var r=n(487),a=n(7030);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},205:function(e,t,n){var r=n(487),a=n(3994);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},8416:function(e,t,n){var r=n(487),a=n(700);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},2816:function(e,t,n){var r=n(487),a=n(287);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},1575:function(e,t,n){var r=n(487),a=n(5657);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},7287:function(e,t,n){var r=n(487),a=n(7392);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},8518:function(e,t,n){var r=n(487),a=n(6065);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},5849:function(e,t,n){var r=n(487),a=n(83);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},9478:function(e,t,n){var r=n(487),a=n(1554);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},2680:function(e,t,n){var r=n(487),a=n(1970);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},3142:function(e,t,n){var r=n(487),a=n(961);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},8234:function(e,t,n){var r=n(487),a=n(4878);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},4651:function(e,t,n){var r=n(487),a=n(1988);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},2189:function(e,t,n){var r=n(487),a=n(3245);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},487:function(e,t,n){"use strict";var r,a=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},o=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=[],a=0;a<e.length;a++){var o=e[a],c=t.base?o[0]+t.base:o[0],s=n[c]||0,u="".concat(c," ").concat(s);n[c]=s+1;var d=l(u),p={css:o[1],media:o[2],sourceMap:o[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 a=n.nc;a&&(r.nonce=a)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var i=o(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 a=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=d(t,a);else{var o=document.createTextNode(a),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(o,i[t]):e.appendChild(o)}}function f(e,t,n){var r=n.css,a=n.media,o=n.sourceMap;if(a?e.setAttribute("media",a):e.removeAttribute("media"),o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),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,a;if(t.singleton){var o=m++;n=h||(h=s(t)),r=p.bind(null,n,o,!1),a=p.bind(null,n,o,!0)}else n=s(t),r=f.bind(null,n,t),a=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 a()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=a());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 a=l(n[r]);i[a].references--}for(var o=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=o}}}},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","share":"Share"},"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","invalidSceneUrl":"Couldn\'t import scene from the supplied URL. It\'s either malformed, or doesn\'t contain valid Excalidraw JSON data.","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.","shareTitle":"Join a live collaboration session on Excalidraw"},"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 {{exportSelection}} to clipboard as PNG\\n({{exportColorScheme}})","fileSaved":"File saved.","fileSavedToFilename":"Saved to {filename}","canvas":"canvas","selection":"selection"}}')},2051:function(e){"use strict";e.exports=JSON.parse('{"ar-SA":84,"bg-BG":95,"ca-ES":95,"de-DE":100,"el-GR":99,"en":100,"es-ES":100,"fa-IR":91,"fi-FI":100,"fr-FR":100,"he-IL":92,"hi-IN":93,"hu-HU":83,"id-ID":99,"it-IT":100,"ja-JP":97,"kab-KAB":98,"ko-KR":95,"my-MM":78,"nb-NO":100,"nl-NL":99,"nn-NO":86,"oc-FR":100,"pa-IN":96,"pl-PL":97,"pt-BR":100,"pt-PT":98,"ro-RO":100,"ru-RU":100,"sk-SK":99,"sv-SE":100,"tr-TR":83,"uk-UA":96,"zh-CN":98,"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],"./oc-FR.json":[9945,565],"./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 a(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],a=t[0];return Promise.all(t.slice(1).map(n.e)).then((function(){return n.t(a,3)}))}a.keys=function(){return Object.keys(r)},a.id=788,e.exports=a},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,a,o=r(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},7316:function(e){e.exports=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}},8328:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r),o=n(1667),i=n.n(o),l=n(7464),c=n(9638),s=a()((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),a=n.n(r)()((function(e){return e[1]}));a.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=a},2510:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},7972:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},190:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},6718:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},3623:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},103:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},7061:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},1498:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},666:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},849:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},6915:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},7030:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},3994:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},700:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},287:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.push([e.id,".excalidraw .popover{position:fixed;z-index:10}",""]),t.default=a},5657:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},7392:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},6065:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},83:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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);white-space:pre-wrap}@keyframes fade-in{from{opacity:0}to{opacity:1}}",""]),t.default=a},1554:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},1970:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.push([e.id,":export{isMobileQuery:(max-width: 600px), (max-height: 500px) and (max-width: 1000px);appearanceFilter:invert(93%) hue-rotate(180deg)}.ExcalidrawTooltip{position:absolute;display:none;background:#000;color:#fff;text-align:center;border-radius:6px;padding:8px;z-index:1000;font-size:13px;line-height:1.5;font-weight:500;word-wrap:break-word;pointer-events:none;box-sizing:border-box}.ExcalidrawTooltip.is-shown{display:block}",""]),t.default=a},961:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},4878:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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=a},1988:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.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)}.excalidraw{--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{position:relative;overflow:hidden;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=a},3245:function(e,t,n){"use strict";n.r(t);var r=n(3645),a=n.n(r)()((function(e){return e[1]}));a.push([e.id,"",""]),a.locals={isMobileQuery:"(max-width: 600px), (max-height: 500px) and (max-width: 1000px)",appearanceFilter:"invert(93%) hue-rotate(180deg)"},t.default=a},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 a={};if(r)for(var o=0;o<this.length;o++){var i=this[o][0];null!=i&&(a[i]=!0)}for(var l=0;l<e.length;l++){var c=[].concat(e[l]);r&&a[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"},7464:function(e,t,n){"use strict";t.Z=n.p+"excalidraw-assets/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,a=n(2189),o=n.n(a),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=100,A=.1,L={VIEW:"viewMode",ZEN:"zenMode",GRID:"gridMode"},_=o().appearanceFilter},5992:function(e,t,n){"use strict";n.r(t),n.d(t,{cleanAppStateForExport:function(){return rr},clearAppStateForLocalStorage:function(){return nr},default:function(){return Pf},defaultLang:function(){return C},exportToBlob:function(){return kf},exportToCanvas:function(){return Ef},exportToClipboard:function(){return Cf},exportToSvg:function(){return Sf},getDefaultAppState:function(){return Jn},getElementMap:function(){return hi},getSceneVersion:function(){return mi},getSyncableElements:function(){return fi},languages:function(){return O},restore:function(){return qs},restoreAppState:function(){return Xs},restoreElements:function(){return Zs}});var r=n(7154),a=n.n(r),o=n(6479),i=n.n(o),l=n(4698),c=n.n(l),s=n(8288),u=JSON.parse('{"u2":"@excalidraw/excalidraw","i8":"0.4.2"}');"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:"oc-FR",label:"Occitan"},{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("."),a=L(T,r)||L(k,r);if(void 0===a)throw new Error("Can't find translation for ".concat(e));if(t)for(var o in t)a=a.replace("{{".concat(o,"}}"),t[o]);return a},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 a=E(this).constructor;n=Reflect.construct(r,arguments,a)}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 a=arguments.length,o=new Array(a),i=0;i<a;i++)o[i]=arguments[i];return x(t,(e=t=n.call.apply(n,[this].concat(o)),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,a=!1,o=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){a=!0,o=e}finally{try{r||null==l.return||l.return()}finally{if(a)throw o}}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 a=((e[0]-t[0])*(n[0]-t[0])+(e[1]-t[1])*(n[1]-t[1]))/r;return a=Math.max(0,Math.min(1,a)),W(e,V(t,n,a))}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 a=r||[];if(function(e,t){const n=e[t+0],r=e[t+1],a=e[t+2],o=e[t+3];let i=3*r[0]-2*n[0]-o[0];i*=i;let l=3*r[1]-2*n[1]-o[1];l*=l;let c=3*a[0]-2*o[0]-n[0];c*=c;let s=3*a[1]-2*o[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(a.length){(o=a[a.length-1],i=n,Math.sqrt(W(o,i)))>1&&a.push(n)}else a.push(n);a.push(e[t+3])}else{const r=.5,o=e[t+0],i=e[t+1],l=e[t+2],c=e[t+3],s=V(o,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([o,s,p,h],0,n,a),K([h,f,d,c],0,n,a)}var o,i;return a}function U(e,t){return Y(e,0,e.length,t)}function Y(e,t,n,r,a){const o=a||[],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,o),Y(e,s,n,r,o)):(o.length||o.push(i),o.push(l)),o}function Z(e,t=.15,n){const r=[],a=(e.length-1)/3;for(let n=0;n<a;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,a]=t,o=Math.PI/180*n,i=Math.cos(o),l=Math.sin(o);e.forEach((e=>{const[t,n]=e;e[0]=(t-r)*i-(n-a)*l+r,e[1]=(t-r)*l+(n-a)*i+a}))}}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 a=t[1]-e[1],o=e[0]-t[0],i=a*e[0]+o*e[1],l=r[1]-n[1],c=n[0]-r[0],s=l*n[0]+c*n[1],u=a*c-l*o;return u?[(c*i-o*s)/u,(a*s-l*i)/u]:null}function Q(e,t,n){const r=e.length;if(r<3)return!1;const a=[Number.MAX_SAFE_INTEGER,n],o=[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,o,a)){if(0===ee(n,o,l))return J(n,o,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 a=ee(e,t,n),o=ee(e,t,r),i=ee(n,r,e),l=ee(n,r,t);return a!==o&&i!==l||(!(0!==a||!J(e,n,t))||(!(0!==o||!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 a=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 a=[];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]);a.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(a.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))),!a.length)return r;let o=[],i=a[0].ymin;for(;o.length||a.length;){if(a.length){let e=-1;for(let t=0;t<a.length&&!(a[t].ymin>i);t++)e=t;a.splice(0,e+1).forEach((e=>{o.push({s:i,edge:e})}))}if(o=o.filter((e=>!(e.edge.ymax<=i))),o.sort(((e,t)=>e.edge.x===t.edge.x?0:(e.edge.x-t.edge.x)/Math.abs(e.edge.x-t.edge.x))),o.length>1)for(let e=0;e<o.length;e+=2){const t=e+1;if(t>=o.length)break;const n=o[e].edge,a=o[t].edge;r.push([[Math.round(n.x),i],[Math.round(a.x),i]])}i+=e,o.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)}(a,n,-r)),a}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 a=t[r-1];if(q(a)<3)continue;const o=[t[r][0],a[1]];if(q(o)>3){const t=this.splitOnIntersections(e,o);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 a=0;a<e.length;a++){const o=e[a],i=e[(a+1)%e.length];if(te(o,i,...t)){const e=$(o,i,t[0],t[1]);if(e){const a=q([e,t[0]]),o=q([e,t[1]]);a>n&&o>n&&r.push({point:e,distance:a})}}}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 a=[t[0],...n,t[1]],o=[];for(let t=0;t<a.length-1;t+=2){const n=[a[t],a[t+1]];this.midPointInPolygon(e,n)&&o.push(n)}return o}return this.midPointInPolygon(e,t)?[t]:[]}}class ae extends re{fillPolygon(e,t){return this._fillPolygon(e,t,!0)}}class oe extends re{fillPolygon(e,t){const n=this._fillPolygon(e,t),r=Object.assign({},t,{hachureAngle:t.hachureAngle+90}),a=this._fillPolygon(e,r);return n.ops=n.ops.concat(a.ops),n}}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 a=t.fillWeight;a<0&&(a=t.strokeWidth/2);const o=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-o,u+o,t),c=this.helper.randOffsetWithRange(i-o,i+o,t),p=this.helper.ellipse(l,c,a,a,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,a=[];return e.forEach((e=>{const o=q(e),i=Math.floor(o/(n+r)),l=(o+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 o=e*(n+r),i=o+n,s=[c[0]+o*Math.cos(u)+l*Math.cos(u),c[1]+o*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)];a.push(...this.helper.doubleLineOps(s[0],s[1],d[0],d[1],t))}})),a}}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,a=ne(e,t=Object.assign({},t,{hachureGap:n+r}));return{type:"fillSketch",ops:this.zigzagLines(a,r,t)}}zigzagLines(e,t,n){const r=[];return e.forEach((e=>{const a=q(e),o=Math.round(a/(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<o;e++){const a=2*e*t,o=2*(e+1)*t,l=Math.sqrt(2*Math.pow(t,2)),s=[i[0]+a*Math.cos(c),i[1]+a*Math.sin(c)],u=[i[0]+o*Math.cos(c),i[1]+o*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",a=0,o=n[a];for(;!pe(o,2);){let i=0;const l=[];if("BOD"===r){if("M"!==o.text&&"m"!==o.text)return fe("M0,0"+e);a++,i=de[o.text],r=o.text}else pe(o,1)?i=de[r]:(a++,i=de[o.text],r=o.text);if(!(a+i<n.length))throw new Error("Path data ended short");for(let e=a;e<a+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),a+=i,o=n[a],"M"===r&&(r="L"),"m"===r&&(r="l")}}return t}function he(e){let t=0,n=0,r=0,a=0;const o=[];for(const{key:i,data:l}of e)switch(i){case"M":o.push({key:"M",data:[...l]}),[t,n]=l,[r,a]=l;break;case"m":t+=l[0],n+=l[1],o.push({key:"M",data:[t,n]}),r=t,a=n;break;case"L":o.push({key:"L",data:[...l]}),[t,n]=l;break;case"l":t+=l[0],n+=l[1],o.push({key:"L",data:[t,n]});break;case"C":o.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));o.push({key:"C",data:e}),t=e[4],n=e[5];break}case"Q":o.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));o.push({key:"Q",data:e}),t=e[2],n=e[3];break}case"A":o.push({key:"A",data:[...l]}),t=l[5],n=l[6];break;case"a":t+=l[5],n+=l[6],o.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],t,n]});break;case"H":o.push({key:"H",data:[...l]}),t=l[0];break;case"h":t+=l[0],o.push({key:"H",data:[t]});break;case"V":o.push({key:"V",data:[...l]}),n=l[0];break;case"v":n+=l[0],o.push({key:"V",data:[n]});break;case"S":o.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));o.push({key:"S",data:e}),t=e[2],n=e[3];break}case"T":o.push({key:"T",data:[...l]}),t=l[0],n=l[1];break;case"t":t+=l[0],n+=l[1],o.push({key:"T",data:[t,n]});break;case"Z":case"z":o.push({key:"Z",data:[]}),t=r,n=a}return o}function me(e){const t=[];let n="",r=0,a=0,o=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,a]=u,[o,i]=u;break;case"C":t.push({key:"C",data:[...u]}),r=u[4],a=u[5],l=u[2],c=u[3];break;case"L":t.push({key:"L",data:[...u]}),[r,a]=u;break;case"H":r=u[0],t.push({key:"L",data:[r,a]});break;case"V":a=u[0],t.push({key:"L",data:[r,a]});break;case"S":{let e=0,o=0;"C"===n||"S"===n?(e=r+(r-l),o=a+(a-c)):(e=r,o=a),t.push({key:"C",data:[e,o,...u]}),l=u[0],c=u[1],r=u[2],a=u[3];break}case"T":{const[e,o]=u;let i=0,s=0;"Q"===n||"T"===n?(i=r+(r-l),s=a+(a-c)):(i=r,s=a);const d=r+2*(i-r)/3,p=a+2*(s-a)/3,f=e+2*(i-e)/3,h=o+2*(s-o)/3;t.push({key:"C",data:[d,p,f,h,e,o]}),l=i,c=s,r=e,a=o;break}case"Q":{const[e,n,o,i]=u,s=r+2*(e-r)/3,d=a+2*(n-a)/3,p=o+2*(e-o)/3,f=i+2*(n-i)/3;t.push({key:"C",data:[s,d,p,f,o,i]}),l=e,c=n,r=o,a=i;break}case"A":{const e=Math.abs(u[0]),n=Math.abs(u[1]),o=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,a,c,s,c,s]}),r=c,a=s;else if(r!==c||a!==s){ve(r,a,c,s,e,n,o,i,l).forEach((function(e){t.push({key:"C",data:e})})),r=c,a=s}break}case"Z":t.push({key:"Z",data:[]}),r=o,a=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,a,o,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/(a*a)+s*s/(o*o);d>1&&(d=Math.sqrt(d),a*=d,o*=d);const p=a*a,v=o*o,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*a*s/o+(e+n)/2,g=w*-o*i/a+(t+r)/2,f=Math.asin(parseFloat(((t-g)/o).toFixed(9))),h=Math.asin(parseFloat(((r-g)/o).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+a*Math.cos(h),r=g+o*Math.sin(h),t,l,a,o,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*a*E,S=4/3*o*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),a=ge(p[t+2][0],p[t+2][1],u);e.push([n[0],n[1],r[0],r[1],a[0],a[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,a){const o=ke(n,r,a);return Se(e,t,a,o).opset},doubleLineOps:function(e,t,n,r,a){return Ae(e,t,n,r,a,!0)}};function ye(e,t,n,r,a){return{type:"path",ops:Ae(e,t,n,r,a)}}function we(e,t,n){const r=(e||[]).length;if(r>2){const a=[];for(let t=0;t<r-1;t++)a.push(...Ae(e[t][0],e[t][1],e[t+1][0],e[t+1][1],n));return t&&a.push(...Ae(e[r-1][0],e[r-1][1],e[0][0],e[0][1],n)),{type:"path",ops:a}}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,a){return function(e,t){return we(e,!0,t)}([[e,t],[e+n,t],[e+n,t+r],[e,t+r]],a)}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)),a=Math.max(n.curveStepCount,n.curveStepCount/Math.sqrt(200)*r),o=2*Math.PI/a;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:o,rx:i,ry:l}}function Se(e,t,n,r){const[a,o]=je(r.increment,e,t,r.rx,r.ry,1,r.increment*Te(.1,Te(.4,1,n),n),n);let i=De(a,null,n);if(!n.disableMultiStroke){const[a]=je(r.increment,e,t,r.rx,r.ry,1.5,0,n),o=De(a,null,n);i=i.concat(o)}return{estimatedPoints:o,opset:{type:"path",ops:i}}}function Ce(e,t,n,r,a,o,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=a,h=o;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,a=e.length;if(a>2){n.push({op:"move",data:[e[0][0]+Pe(r,t),e[0][1]+Pe(r,t)]});for(let o=1;o<a;o++)n.push({op:"lineTo",data:[e[o][0]+Pe(r,t),e[o][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 ae(t));break;case"cross-hatch":se[n]||(se[n]=new oe(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,a,o=!1){const i=o?a.disableMultiStrokeFill:a.disableMultiStroke,l=Le(e,t,n,r,a,!0,!1);if(i)return l;const c=Le(e,t,n,r,a,!0,!0);return l.concat(c)}function Le(e,t,n,r,a,o,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=a.maxRandomnessOffset||0;u*u*100>l&&(u=c/10);const d=u/2,p=.2+.2*Ie(a);let f=a.bowing*a.maxRandomnessOffset*(r-t)/200,h=a.bowing*a.maxRandomnessOffset*(e-n)/200;f=Pe(f,a,s),h=Pe(h,a,s);const m=[],g=()=>Pe(d,a,s),v=()=>Pe(u,a,s);return o&&(i?m.push({op:"move",data:[e+g(),t+g()]}):m.push({op:"move",data:[e+Pe(u,a,s),t+Pe(u,a,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 a=1;a<e.length;a++)r.push([e[a][0]+Pe(t,n),e[a][1]+Pe(t,n)]),a===e.length-1&&r.push([e[a][0]+Pe(t,n),e[a][1]+Pe(t,n)]);return De(r,null,n)}function De(e,t,n){const r=e.length,a=[];if(r>3){const o=[],i=1-n.curveTightness;a.push({op:"move",data:[e[1][0],e[1][1]]});for(let t=1;t+2<r;t++){const n=e[t];o[0]=[n[0],n[1]],o[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],o[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],o[3]=[e[t+1][0],e[t+1][1]],a.push({op:"bcurveTo",data:[o[1][0],o[1][1],o[2][0],o[2][1],o[3][0],o[3][1]]})}if(t&&2===t.length){const e=n.maxRandomnessOffset;a.push({op:"lineTo",data:[t[0]+Pe(e,n),t[1]+Pe(e,n)]})}}else 3===r?(a.push({op:"move",data:[e[1][0],e[1][1]]}),a.push({op:"bcurveTo",data:[e[1][0],e[1][1],e[2][0],e[2][1],e[2][0],e[2][1]]})):2===r&&a.push(...Ae(e[0][0],e[0][1],e[1][0],e[1][1],n));return a}function je(e,t,n,r,a,o,i,l){const c=[],s=[],u=Pe(.5,l)-Math.PI/2;s.push([Pe(o,l)+t+.9*r*Math.cos(u-e),Pe(o,l)+n+.9*a*Math.sin(u-e)]);for(let i=u;i<2*Math.PI+u-.01;i+=e){const e=[Pe(o,l)+t+r*Math.cos(i),Pe(o,l)+n+a*Math.sin(i)];c.push(e),s.push(e)}return s.push([Pe(o,l)+t+r*Math.cos(u+2*Math.PI+.5*i),Pe(o,l)+n+a*Math.sin(u+2*Math.PI+.5*i)]),s.push([Pe(o,l)+t+.98*r*Math.cos(u+i),Pe(o,l)+n+.98*a*Math.sin(u+i)]),s.push([Pe(o,l)+t+.9*r*Math.cos(u+.5*i),Pe(o,l)+n+.9*a*Math.sin(u+.5*i)]),[s,c]}function ze(e,t,n,r,a,o,i,l,c){const s=o+Pe(.1,c),u=[];u.push([Pe(l,c)+t+.9*r*Math.cos(s-e),Pe(l,c)+n+.9*a*Math.sin(s-e)]);for(let o=s;o<=i;o+=e)u.push([Pe(l,c)+t+r*Math.cos(o),Pe(l,c)+n+a*Math.sin(o)]);return u.push([t+r*Math.cos(i),n+a*Math.sin(i)]),u.push([t+r*Math.cos(i),n+a*Math.sin(i)]),De(u,null,c)}function Be(e,t,n,r,a,o,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=[a+Pe(s[p],l),o+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,a){const o=this._o(a);return this._d("line",[ye(e,t,n,r,o)],o)}rectangle(e,t,n,r,a){const o=this._o(a),i=[],l=xe(e,t,n,r,o);if(o.fill){const a=[[e,t],[e+n,t],[e+n,t+r],[e,t+r]];"solid"===o.fillStyle?i.push(Oe(a,o)):i.push(Me(a,o))}return o.stroke!==Ne&&i.push(l),this._d("rectangle",i,o)}ellipse(e,t,n,r,a){const o=this._o(a),i=[],l=ke(n,r,o),c=Se(e,t,o,l);if(o.fill)if("solid"===o.fillStyle){const n=Se(e,t,o,l).opset;n.type="fillPath",i.push(n)}else i.push(Me(c.estimatedPoints,o));return o.stroke!==Ne&&i.push(c.opset),this._d("ellipse",i,o)}circle(e,t,n,r){const a=this.ellipse(e,t,n,n,r);return a.shape="circle",a}linearPath(e,t){const n=this._o(t);return this._d("linearPath",[we(e,!1,n)],n)}arc(e,t,n,r,a,o,i=!1,l){const c=this._o(l),s=[],u=Ce(e,t,n,r,a,o,i,!0,c);if(i&&c.fill)if("solid"===c.fillStyle){const i=Ce(e,t,n,r,a,o,!0,!1,c);i.type="fillPath",s.push(i)}else s.push(function(e,t,n,r,a,o,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=a,p=o;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,a,o,c));return c.stroke!==Ne&&s.push(u),this._d("arc",s,c)}curve(e,t){const n=this._o(t),r=[],a=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 a=[],o=1-t;r.push(He(n[0]));for(let e=1;e+2<n.length;e++){const t=n[e];a[0]=[t[0],t[1]],a[1]=[t[0]+(o*n[e+1][0]-o*n[e-1][0])/6,t[1]+(o*n[e+1][1]-o*n[e-1][1])/6],a[2]=[n[e+1][0]+(o*n[e][0]-o*n[e+2][0])/6,n[e+1][1]+(o*n[e][1]-o*n[e+2][1])/6],a[3]=[n[e+1][0],n[e+1][1]],r.push(a[1],a[2],a[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(a),this._d("curve",r,n)}polygon(e,t){const n=this._o(t),r=[],a=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(a),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 a=n.fill&&"transparent"!==n.fill&&n.fill!==Ne,o=n.stroke!==Ne,i=!!(n.simplification&&n.simplification<1),l=function(e,t,n){const r=me(he(fe(e))),a=[];let o=[],i=[0,0],l=[];const c=()=>{l.length>=4&&o.push(...Z(l,t)),l=[]},s=()=>{c(),o.length&&(a.push(o),o=[])};for(const{key:e,data:t}of r)switch(e){case"M":s(),i=[t[0],t[1]],o.push(i);break;case"L":c(),o.push([t[0],t[1]]);break;case"C":if(!l.length){const e=o.length?o[o.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(),o.push([i[0],i[1]])}if(s(),!n)return a;const u=[];for(const e of a){const t=U(e,n);t.length&&u.push(t)}return u}(e,1,i?4-4*n.simplification:(1+n.roughness)/2);if(a)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 o&&(i?l.forEach((e=>{r.push(we(e,!1,n))})):r.push(function(e,t){const n=me(he(fe(e))),r=[];let a=[0,0],o=[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)))}),o=[i[0],i[1]],a=[i[0],i[1]];break}case"L":r.push(...Ae(o[0],o[1],i[0],i[1],t)),o=[i[0],i[1]];break;case"C":{const[e,n,a,l,c,s]=i;r.push(...Be(e,n,a,l,c,s,o,t)),o=[c,s];break}case"Z":r.push(...Ae(o[0],o[1],a[0],a[1],t)),o=[a[0],a[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 a of t)switch(a.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,a),r.restore();break;case"fillPath":r.save(),r.fillStyle=n.fill||"";const t="curve"===e.shape||"polygon"===e.shape?"evenodd":"nonzero";this._drawToContext(r,a,t),r.restore();break;case"fillSketch":this.fillSketch(r,a,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,a){const o=this.gen.line(e,t,n,r,a);return this.draw(o),o}rectangle(e,t,n,r,a){const o=this.gen.rectangle(e,t,n,r,a);return this.draw(o),o}ellipse(e,t,n,r,a){const o=this.gen.ellipse(e,t,n,r,a);return this.draw(o),o}circle(e,t,n,r){const a=this.gen.circle(e,t,n,r);return this.draw(a),a}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,a,o,i=!1,l){const c=this.gen.arc(e,t,n,r,a,o,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,a=r.createElementNS(We,"g");for(const o of t){let t=null;switch(o.type){case"path":t=r.createElementNS(We,"path"),t.setAttribute("d",this.opsToPath(o)),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(o)),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,o,n)}t&&a.appendChild(t)}return a}fillSketch(e,t,n){let r=n.fillWeight;r<0&&(r=n.strokeWidth/2);const a=e.createElementNS(We,"path");return a.setAttribute("d",this.opsToPath(t)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",r+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e){return this.gen.opsToPath(e)}line(e,t,n,r,a){const o=this.gen.line(e,t,n,r,a);return this.draw(o)}rectangle(e,t,n,r,a){const o=this.gen.rectangle(e,t,n,r,a);return this.draw(o)}ellipse(e,t,n,r,a){const o=this.gen.ellipse(e,t,n,r,a);return this.draw(o)}circle(e,t,n,r){const a=this.gen.circle(e,t,n,r);return this.draw(a)}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,a,o,i=!1,l){const c=this.gen.arc(e,t,n,r,a,o,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,a){return[(e-n)*Math.cos(a)-(t-r)*Math.sin(a)+n,(e-n)*Math.sin(a)+(t-r)*Math.cos(a)+r]},et=function(e,t,n){return Je(e[0],e[1],t[0],t[1],n)},tt=function(e,t,n,r,a,o,i,l){var c=Math.cos(r),s=Math.sin(r);return e.e&&e.w?t+=a+i:e.e?(t+=a*(1+c),n+=a*s,t+=i*(1-c),n+=i*-s):e.w&&(t+=a*(1-c),n+=a*-s,t+=i*(1+c),n+=i*s),e.n&&e.s?n+=o+l:e.n?(t+=o*s,n+=o*(1-c),t+=l*-s,n+=l*(1+c)):e.s&&(t+=o*-s,n+=o*(1+c),t+=l*s,n+=l*(1-c)),[t,n]},nt=function(e,t,n,r){var a=n-e,o=r-t;return Math.hypot(a,o)},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],a=n[1],o=nt(r[0],r[1],a[0],a[1]);return o<=s.qx/t}return!1},at=function(e,t,n){var r=e.length;if(r<3)return!1;for(var a=[Number.MAX_SAFE_INTEGER,n],o=[t,n],i=0,l=0;l<r;l++){var c=e[l],s=e[(l+1)%r];if(lt(c,s,o,a)){if(0===it(c,o,s))return ot(c,o,s);i++}}return i%2==1},ot=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 a=it(e,t,n),o=it(e,t,r),i=it(n,r,e),l=it(n,r,t);return a!==o&&i!==l||(!(0!==a||!ot(e,n,t))||(!(0!==o||!ot(e,r,t))||(!(0!==i||!ot(n,e,r))||!(0!==l||!ot(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]})),a=Math.max.apply(Math,R(r)),o=Math.min.apply(Math,R(r)),i=a-o,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=o-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,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}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 a=r.op,o=r.data;if("move"===a)n=o;else if("bcurveTo"===a){var i=[o[0],o[1]],l=[o[2],o[3]],c=[o[4],o[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||!fr(e)){var t=e.points.reduce((function(e,t){var n=N(t,2),r=n[0],a=n[1];return e.minY=Math.min(e.minY,a),e.minX=Math.min(e.minX,r),e.maxX=Math.max(e.maxX,r),e.maxY=Math.max(e.maxY,a),e}),{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}),n=t.minX,r=t.minY,a=t.maxX,o=t.maxY;return[n+e.x,r+e.y,a+e.x,o+e.y]}var i=fr(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],a=t[2],o=t[3],i=(n+a)/2,l=(r+o)/2;if(Ze(e))return function(e,t,n){if(e.points.length<2||!fr(e)){var r=e.points.reduce((function(r,a){var o=N(a,2),i=o[0],l=o[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 a=fr(e),o=ft(a[0]);return ht(o,(function(r,a){return Je(e.x+r,e.y+a,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,o,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(a,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=(a-n)/2,x=(o-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,o,i,l,e.angle),2),P=T[0],A=T[1],L=N(Je(a,o,i,l,e.angle),2),_=L[0],D=L[1],j=N(Je(a,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,a=-1/0;return e.forEach((function(e){var o=N(gt(e),4),i=o[0],l=o[1],c=o[2],s=o[3];t=Math.min(t,i),r=Math.min(r,l),n=Math.max(n,c),a=Math.max(a,s)})),[t,r,n,a]},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)),a=Ve.generator(),o="sharp"===e.strokeSharpness?a.linearPath(r,mr(e)):a.curve(r,mr(e)),i=ft(o),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(),a="sharp"===n?r.linearPath(t,mr(e)):r.curve(t,mr(e)),o=ft(a),i=N(ht(o),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=" ",an="Tab",on="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"),a="".concat(e.getHours()).padStart(2,"0"),o="".concat(e.getMinutes()).padStart(2,"0");return"".concat(t,"-").concat(n,"-").concat(r,"-").concat(a).concat(o)},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 a=n.offsetWidth,o=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:a,height:o,baseline:l}},Ln=function(e,t){var n,r=0,a=function(){for(var a=arguments.length,o=new Array(a),i=0;i<a;i++)o[i]=arguments[i];n=o,clearTimeout(r),r=window.setTimeout((function(){return e.apply(void 0,o)}),t)};return a.flush=function(){clearTimeout(r),n&&e.apply(void 0,R(n||[]))},a.cancel=function(){clearTimeout(r)},a},_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(e){e&&(e.style.cursor="")},Bn=function(e,t){e&&(e.style.cursor=t)},Hn=function(e,t){e&&("selection"===t?zn(e):e.style.cursor=s.oc.CROSSHAIR)},Nn=function(){var e;return"HTML"===(null===(e=document.fullscreenElement)||void 0===e?void 0:e.nodeName)},Rn=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")},Fn=function(e,t){var n=e.clientX,r=e.clientY,a=t.zoom,o=t.offsetLeft,i=t.offsetTop,l=t.scrollX,c=t.scrollY,s=1/a.value;return{x:(n-a.translation.x-o)*s-l,y:(r-a.translation.y-i)*s-c}},Wn=function(e,t){var n=e.sceneX,r=e.sceneY,a=t.zoom,o=t.offsetLeft,i=t.offsetTop,l=t.scrollX,c=t.scrollY;return{x:(n+l+o)*a.value+a.translation.x,y:(r+c+i)*a.value+a.translation.y}},Gn=function(e){return getComputedStyle(document.documentElement).getPropertyValue("--".concat(e))},Vn=new RegExp("^[^".concat("A-Za-zÀ-ÖØ-öø-ʸ̀-ࠀ-Ⰰ-﷾--","]*[").concat("֑-߿יִ-﷽ﹰ-ﻼ","]")),Kn=function(e){return Vn.test(e)},Un=function(e){var t=N(e,2);return{x:t[0],y:t[1]}},Yn=function(e){if("AbortError"!==(null==e?void 0:e.name))throw e},Zn=function(e){return function(t){(0,kt.unstable_batchedUpdates)(e,t)}},Xn=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},qn=function(){var e;return(null===(e=document.querySelector('meta[name="version"]'))||void 0===e?void 0:e.content)||s.eQ};function $n(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 Qn(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 Qn(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function Qn(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 Jn=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}},er={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}},tr=function(e,t){var n,r={},a=$n(Object.keys(e));try{for(a.s();!(n=a.n()).done;){var o=n.value,i=er[o];null!=i&&i[t]&&(r[o]=e[o])}}catch(e){a.e(e)}finally{a.f()}return r},nr=function(e){return tr(e,"browser")},rr=function(e){return tr(e,"export")};function ar(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?ar(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ar(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ir=Jn(),lr=20,cr=[12,8],sr=[3,6],ur=function(e,t,n){switch(n.globalAlpha=e.opacity/100,e.type){case"rectangle":case"diamond":case"ellipse":t.draw(fr(e));break;case"arrow":case"draw":case"line":fr(e).forEach((function(e){t.draw(e)}));break;default:if(!Ye(e))throw new Error("Unimplemented type ".concat(e.type));var r=Kn(e.text),a=r&&!n.canvas.isConnected;a&&document.body.appendChild(n.canvas),n.canvas.setAttribute("dir",r?"rtl":"ltr");var o=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=o,n.textAlign=l,a&&n.canvas.remove()}n.globalAlpha=1},dr=new WeakMap,pr=new WeakMap,fr=function(e){return pr.get(e)},hr=function(e){return pr.delete(e)},mr=function(e){var t={seed:e.seed,strokeLineDash:"dashed"===e.strokeStyle?cr:"dotted"===e.strokeStyle?sr: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))}},gr=function(e,t){var n=pr.get(e)||null;if(!n){switch(dr.delete(e),e.type){case"rectangle":if("round"===e.strokeSharpness){var r=e.width,a=e.height,o=.25*Math.min(r,a);n=t.path("M ".concat(o," 0 L ").concat(r-o," 0 Q ").concat(r," 0, ").concat(r," ").concat(o," L ").concat(r," ").concat(a-o," Q ").concat(r," ").concat(a,", ").concat(r-o," ").concat(a," L ").concat(o," ").concat(a," Q 0 ").concat(a,", 0 ").concat(a-o," L 0 ").concat(o," Q 0 0, ").concat(o," 0"),mr(e))}else n=t.rectangle(0,0,e.width,e.height,mr(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]],mr(e));break;case"ellipse":n=t.ellipse(e.width/2,e.height/2,e.width,e.height,mr(e));break;case"line":case"draw":case"arrow":var m=mr(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,a){var o=function(e,t,n,r){var a=ft(t[0]);if(a.length<1)return null;var o="start"===n?1:a.length-1,i=a[o].data,l=[i[4],i[5]],c=[i[2],i[3]],s=[i[0],i[1]],u=a[o-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 a=N(t,2),o=a[0],i=a[1],l=N(n>0?r[n-1]:[0,0],2),c=l[0],s=l[1];return e+Math.hypot(o-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,a);if(null===o)return[];if("dot"===a){var i=N(o,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(o,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=[]}pr.set(e,n)}},vr=function(e,t){var n=t?t.zoom:ir.zoom,r=dr.get(e),a=r&&r.canvasZoom!==n.value&&!(null!=t&&t.shouldCacheIgnoreZoom);if(!r||a){var o=function(e,t){var n=document.createElement("canvas"),r=n.getContext("2d"),a=0,o=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+lr*t.value*2,n.height=jn(c,u)*window.devicePixelRatio*t.value+lr*t.value*2,a=e.x>l?Math.floor(jn(e.x,l))*window.devicePixelRatio*t.value:0,o=e.y>c?Math.floor(jn(e.y,c))*window.devicePixelRatio*t.value:0,r.translate(a,o)}else n.width=e.width*window.devicePixelRatio*t.value+lr*t.value*2,n.height=e.height*window.devicePixelRatio*t.value+lr*t.value*2;r.translate(lr*t.value,lr*t.value),r.scale(window.devicePixelRatio*t.value,window.devicePixelRatio*t.value);var d=Ve.canvas(n);return ur(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:a,canvasOffsetY:o}}(e,n);return dr.set(e,o),o}return r},br=function(e,t,n,r,a){var o=t.generator;switch(e.type){case"selection":n.translate(e.x+a.scrollX,e.y+a.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-a.scrollX,-e.y-a.scrollY);break;case"rectangle":case"diamond":case"ellipse":case"line":case"draw":case"arrow":case"text":if(gr(e,o),r){!function(e,t,n,r){var a=e.element,o=N(pt(a),4),i=o[0],l=o[1],c=o[2],s=o[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(a.angle),n.drawImage(e.canvas,-(c-i)/2*window.devicePixelRatio-lr*e.canvasZoom/e.canvasZoom,-(s-l)/2*window.devicePixelRatio-lr*e.canvasZoom/e.canvasZoom,e.canvas.width/e.canvasZoom,e.canvas.height/e.canvasZoom),n.rotate(-a.angle),n.translate(-u,-d),n.scale(window.devicePixelRatio,window.devicePixelRatio)}(vr(e,a),0,n,a)}else{var l=N(pt(e),4),c=l[0],s=l[1],u=l[2],d=l[3],p=(c+u)/2+a.scrollX,f=(s+d)/2+a.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),ur(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))}},yr=function(e,t,n,r,a){var o=N(pt(e),4),i=o[0],l=o[1],c=o[2],s=o[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":gr(e,f);var h=t.draw(fr(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(a||0,") rotate(").concat(p," ").concat(u," ").concat(d,")")),n.appendChild(h);break;case"line":case"draw":case"arrow":gr(e,f);var g=n.ownerDocument.createElementNS(Sn,"g"),v=e.opacity/100;fr(e).forEach((function(n){var o=t.draw(n);1!==v&&(o.setAttribute("stroke-opacity","".concat(v)),o.setAttribute("fill-opacity","".concat(v))),o.setAttribute("transform","translate(".concat(r||0," ").concat(a||0,") rotate(").concat(p," ").concat(u," ").concat(d,")")),"line"!==e.type&&"draw"!==e.type||!rt(e.points)||"transparent"===e.backgroundColor||o.setAttribute("fill-rule","evenodd"),g.appendChild(o)})),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(a||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=Kn(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)}},wr=function(e){return"string"==typeof e},xr=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&&vi(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=gi(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){wr(e)?this.sceneMapById.set(e,t):this.sceneMapByElement.set(e,t)}},{key:"getScene",value:function(e){return wr(e)?this.sceneMapById.get(e)||null:this.sceneMapByElement.get(e)||null}}]),e}();xr.sceneMapByElement=new WeakMap,xr.sceneMapById=new Map;var Er=xr;var kr=new ue(Date.now()),Sr=function(){return Math.floor(kr.next()*Math.pow(2,31))},Cr=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 Or(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 Mr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Or(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Or(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ir=function(e,t){var n,r=!1,a=t.points;for(var o in void 0!==a&&(t=Mr(Mr({},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))}}(a)),t)),t){var i=t[o];if(void 0!==i){if(e[o]===i&&("object"!=typeof i||null===i||"groupIds"===o))continue;if("points"===o){var l=e[o],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[o]=i,r=!0}}r&&(void 0===t.height&&void 0===t.width&&void 0===a||hr(e),e.version++,e.versionNonce=Sr(),null===(n=Er.getScene(e))||void 0===n||n.informMutation())},Tr=function(e,t){var n=!1;for(var r in t){var a=t[r];if(void 0!==a){if(e[r]===a&&("object"!=typeof a||null===a||"groupIds"===r))continue;n=!0}}return n?Mr(Mr(Mr({},e),t),{},{version:e.version+1,versionNonce:Sr()}):e},Pr=function(e){return Ze(e)?e.points.length<2:0===e.width&&0===e.height},Ar=function(e,t,n){var r=Math.abs(t),a=Math.abs(n);if("line"===e||"arrow"===e||"draw"===e){var o=Math.round(Math.atan(a/r)/s.ay)*s.ay;0===o?n=0:o===Math.PI/2?t=0:n=Math.round(r*Math.tan(o))*Math.sign(n)||n}else"selection"!==e&&(n=r*Math.sign(n));return{width:t,height:n}},Lr=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 _r(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function Dr(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 jr(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 jr(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function jr(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 zr(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 Br(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zr(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Hr=function(e,t,n){var r,a,o=n.filter((function(t){return t.groupIds.includes(e)}));return o.length<2?t.selectedGroupIds[e]||t.editingGroupId===e?Br(Br({},t),{},{selectedGroupIds:Br(Br({},t.selectedGroupIds),{},(r={},r[e]=!1,r)),editingGroupId:null}):t:Br(Br({},t),{},{selectedGroupIds:Br(Br({},t.selectedGroupIds),{},(a={},a[e]=!0,a)),selectedElementIds:Br(Br({},t.selectedElementIds),Object.fromEntries(o.map((function(e){return[e.id,!0]}))))})},Nr=function(e,t){return null!=Rr(e,t)},Rr=function(e,t){return t.groupIds.filter((function(t){return t!==e.editingGroupId})).find((function(t){return e.selectedGroupIds[t]}))},Fr=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}))},Wr=function(e,t){var n,r=Br({},e),a=Dr(Si(t,e));try{for(a.s();!(n=a.n()).done;){var o=n.value.groupIds;if(e.editingGroupId){var i=o.indexOf(e.editingGroupId);i>-1&&(o=o.slice(0,i))}if(o.length>0){var l=o[o.length-1];r=Hr(l,r,t)}}}catch(e){a.e(e)}finally{a.f()}return r},Gr=function(e,t){return e.groupIds.includes(t)},Vr=function(e,t){return e.filter((function(e){return Gr(e,t)}))},Kr=function(e,t,n){var r=R(e),a=n?r.indexOf(n):-1,o=a>-1?a:r.length;return r.splice(o,0,t),r};function Ur(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 Yr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ur(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ur(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Zr=function(e,t){var n,r,a=t.x,o=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=_r(t,["x","y","strokeColor","backgroundColor","fillStyle","strokeWidth","strokeStyle","roughness","opacity","width","height","angle","groupIds","strokeSharpness","boundElementIds"]);return{id:S.id||Cr(),type:e,x:a,y:o,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:Sr(),version:S.version||1,versionNonce:null!==(r=S.versionNonce)&&void 0!==r?r:0,isDeleted:!1,boundElementIds:k}},Xr=function(e){return Zr(e.type,e)},qr=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}},$r=function(e){var t=An(e.text,Pn(e)),n=qr(e,t);return Tr(Yr(Yr({},Zr("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}),{})},Qr=function(e,t){var n=t.text,r=t.isDeleted;return Tr(e,Yr({text:n,isDeleted:null!=r?r:e.isDeleted},function(e,t){var n,r,a=An(t,Pn(e)),o=a.width,i=a.height,l=a.baseline,c=e.textAlign,s=e.verticalAlign;if("center"===c&&"middle"===s){var u=An(e.text,Pn(e)),d=qr(e,{width:o-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,o,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:o,height:i,x:Number.isFinite(n)?n:e.x,y:Number.isFinite(r)?r:e.y,baseline:l}}(e,n)))},Jr=function(e){return Yr(Yr({},Zr(e.type,e)),{},{points:e.points||[],lastCommittedPoint:null,startBinding:null,endBinding:null,startArrowhead:e.startArrowhead,endArrowhead:e.endArrowhead})},ea=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 a in t)if(t.hasOwnProperty(a)){if(0===n&&("shape"===a||"canvas"===a))continue;r[a]=e(t[a],n+1)}return r}if(Array.isArray(t)){for(var o=t.length,i=new Array(o);o--;)i[o]=e(t[o],n+1);return i}return t},ta=function(e,t,n,r){var a=ea(n);return a.id=Cr(),a.seed=Sr(),a.groupIds=function(e,t,n){for(var r=R(e),a=t?e.indexOf(t):-1,o=a>-1?a:e.length,i=0;i<o;i++)r[i]=n(r[i]);return r}(a.groupIds,e,(function(e){return t.has(e)||t.set(e,Cr()),t.get(e)})),r&&(a=Object.assign(a,r)),a},na={mouse:8,pen:16,touch:28},ra={e:!0,s:!0,n:!0,w:!0},aa={e:!0,s:!0,n:!0,w:!0},oa={e:!0,s:!0,n:!0,w:!0,nw:!0,se:!0},ia={e:!0,s:!0,n:!0,w:!0,ne:!0,sw:!0},la=function(e,t,n,r,a,o,i){var l=N(Je(e+n/2,t+r/2,a,o,i),2);return[l[0]-n/2,l[1]-r/2,n,r]},ca=function(e,t,n,r){var a=N(e,4),o=a[0],i=a[1],l=a[2],c=a[3],s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},u=na[r],d=u/n.value,p=u/n.value,f=u/n.value,h=u/n.value,m=l-o,g=c-i,v=(o+l)/2,b=(i+c)/2,y=4/n.value,w=(u-8)/(2*n.value),x={nw:s.nw?void 0:la(o-y-f+w,i-y-h+w,d,p,v,b,t),ne:s.ne?void 0:la(l+y-w,i-y-h+w,d,p,v,b,t),sw:s.sw?void 0:la(o-y-f+w,c+y-w,d,p,v,b,t),se:s.se?void 0:la(l+y-w,c+y-w,d,p,v,b,t),rotation:s.rotation?void 0:la(o+m/2-d/2,i-y-h+w-16/n.value,d,p,v,b,t)},E=5*na.mouse/n.value;return Math.abs(m)>E&&(s.n||(x.n=la(o+m/2-d/2,i-y-h+w,d,p,v,b,t)),s.s||(x.s=la(o+m/2-d/2,c+y-w,d,p,v,b,t))),Math.abs(g)>E&&(s.w||(x.w=la(o-y-f+w,i+g/2-p/2,d,p,v,b,t)),s.e||(x.e=la(l+y-w,i+g/2-p/2,d,p,v,b,t))),x},sa=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 a=N(e.points,2),o=a[1];0===o[0]||0===o[1]?r=ia:o[0]>0&&o[1]<0?r=oa:o[0]>0&&o[1]>0?r=ia:o[0]<0&&o[1]>0?r=oa:o[0]<0&&o[1]<0&&(r=ia)}}else"text"===e.type&&(r=aa);return ca(pt(e),e.angle,t,n,r)},ua=function(e,t){return[0,0,0,0,t,e,1,0]},da=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},pa=function(e){return[e[0],e[1],e[2],e[3],-e[4],-e[5],-e[6],-e[7]]},fa=function(e,t){return xa(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]]},ha=function(e,t){return xa(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]:[ma(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]]},ma=function(e,t){return t[0]*e[0]+t[2]*e[2]+t[3]*e[3]-t[6]*e[6]},ga=function(e,t){return[va(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]]},va=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]},ba=function(e){return Math.sqrt(Math.abs(e[0]*e[0]-e[2]*e[2]-e[3]*e[3]+e[6]*e[6]))},ya=function(e){var t=ba(e);if(0===t||1===t)return e;var n=e[6]<0?-1:1;return ha(e,n/t)},wa=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:ha(e,1/t)},xa=function(e){return"number"==typeof e},Ea=(da(1,1),da(1,2),da(1,3),da(1,4),da(1,5),da(1,6),da(1,7),function(e,t,n){return ya([0,n,e,t,0,0,0,0])}),ka=function(e,t){return ya(ga(t,e))},Sa=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},Ca=function(e){var t=N(e,2),n=t[0];return[0,0,0,0,t[1],n,1,0]},Oa=function(e){return[e[5],e[4]]},Ma=function(e,t){return ya((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},Ia=function(e,t){return ba(ga(e,t))},Ta=function(e,t){return va(e,t)},Pa=function(e){return[0,0,0,0,e[4],e[5],0,0]},Aa=function(e,t){return n=ha(e,Math.sin(t/2)),r=Math.cos(t/2),xa(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},La=function(e,t){return ya(ha(ha(e,t),pa(e)))};function _a(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 Da(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 Da(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function Da(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 ja=function(e,t,n,r){var a=10/t.zoom.value;return!za(e,t,[n,r])&&Ha(e,[n,r],a)},za=function(e,t,n){var r=10/t.zoom.value,a="text"===e.type?Ga: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)?Va:Ka;return Fa({element:e,point:n,threshold:r,check:a})},Ba=function(e,t){return e.selectedElementIds[t.id]},Ha=function(e,t,n){var r=N(t,2),a=r[0],o=r[1],i=N(pt(e),4),l=i[0],c=i[1],s=i[2],u=i[3],d=N(Je(a,o,(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},Na=function(e,t){var n=t.x,r=t.y,a=Ra(e,e.width,e.height);return Fa({element:e,point:[n,r],threshold:a,check:Ua})},Ra=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))},Fa=function(e){switch(e.element.type){case"rectangle":case"text":case"diamond":case"ellipse":var t=Wa(e.element,e.point);return e.check(t,e.threshold);case"arrow":case"line":case"draw":return $a(e);case"selection":return console.warn("This should not happen, we need to investigate why it does."),!1}},Wa=function(e,t){switch(e.type){case"rectangle":case"text":return Ya(e,t);case"diamond":return Za(e,t);case"ellipse":return Xa(e,t)}},Ga=function(e,t){return e<0},Va=function(e,t){return e<t},Ka=function(e,t){return Math.abs(e)<t},Ua=function(e,t){return 0<=e&&e<t},Ya=function(e,t){var n=N(Qa(e,t),4),r=n[1],a=n[2],o=n[3];return Math.max(Ta(r,Ea(0,1,-o)),Ta(r,Ea(1,0,-a)))},Za=function(e,t){var n=N(Qa(e,t),4),r=n[1],a=n[2],o=n[3],i=Ea(o,a,-o*a);return Ta(r,i)},Xa=function(e,t){var n=N(qa(e,t),2),r=n[0],a=n[1];return-function(e){return Math.sign(e[1])}(a)*Ta(r,a)},qa=function(e,t){var n=N(Qa(e,t),4),r=n[1],a=n[2],o=n[3],i=N(Oa(r),2),l=i[0],c=i[1],s=.707,u=.707,d=a,p=o;[0,1,2,3].forEach((function(e){var t=d*s,n=p*u,r=(d*d-p*p)*Math.pow(s,3)/d,a=(p*p-d*d)*Math.pow(u,3)/p,o=t-r,i=n-a,f=l-r,h=c-a,m=Math.hypot(i,o),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+a)/p));var v=Math.hypot(u,s);s/=v,u/=v}));var f,h=ua(d*s,p*u);return[r,Sa(ka(r,f=h),f)]},$a=function(e){var t=e.element,n=e.threshold;if(!fr(t))return!1;var r=N(Qa(e.element,e.point),4),a=r[0],o=r[1],i=r[2],l=r[3],c=Ea(0,1,-l),s=Ea(1,0,-i);if(!Va(Ta(o,c),n)||!Va(Ta(o,s),n))return!1;var u=N(Oa(a),2),d=u[0],p=u[1],f=fr(t);if(e.check===Va&&f.some((function(e){return uo(e,d,p,t.strokeSharpness)})))return!0;return f.some((function(e){return po(e,d,p,n)}))},Qa=function(e,t){var n,r=Ca(t),a=pt(e),o=eo(a),i=Aa(o,e.angle),l=La(i,r),c=function(e){return[0,0,0,0,Math.abs(e[4]),Math.abs(e[5]),1,0]}(fa(l,Pa(o))),s=(n=e.x,[0,0,0,0,e.y,n,0,0]),u=fa(l,s),d=N(a,4),p=d[0],f=d[1];return[u,c,(d[2]-p)/2,(d[3]-f)/2]},Ja=function(e){var t=pt(e),n=eo(t),r=Aa(n,e.angle),a=pa(function(e){return[1,0,0,0,-.5*e[5],.5*e[4],0,0]}(Pa(n)));return ha(a,r)},eo=function(e){var t=N(e,4),n=t[0],r=t[1],a=t[2],o=t[3];return ua((n+a)/2,(r+o)/2)},to=function(e,t,n){var r=Ja(e),a=La(r,Ca(t)),o=La(r,Ca(n)),i=ka(a,o),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)))}},no=function(e,t,n){var r,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;switch(e.type){case"rectangle":case"text":case"diamond":var o=ro(e);r=o.flatMap((function(e,n){var r=[e,o[(n+1)%4]];return ao(t,oo(r,a))})).concat(o.flatMap((function(e){return lo(e,a,t)})));break;case"ellipse":r=io(e,a,t)}if(r.length<2)return[];var i=r.sort((function(e,t){return Ia(e,n)-Ia(t,n)}));return[i[0],i[i.length-1]]},ro=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[ua(n,r),ua(n,-r),ua(-n,-r),ua(-n,r)];case"diamond":return[ua(0,r),ua(n,0),ua(0,-r),ua(-n,0)]}},ao=function(e,t){var n=N(t,2),r=n[0],a=n[1];return Ta(r,e)*Ta(a,e)>=0?[]:[Ma(e,ka(r,a))]},oo=function(e,t){var n=N(e,2),r=n[0],a=n[1],o=function(e,t){var n=.5*t;return[1,0,0,0,n*e[4],n*e[5],0,0]}(function(e,t){return wa([0,0,0,0,t[4]-e[4],t[5]-e[5],0,0])}(r,a),t);return[La(o,r),La(o,a)]},io=function(e,t,n){var r=e.width/2+t,a=e.height/2+t,o=n[2],i=n[3],l=n[1],c=r*r*o*o+a*a*i*i,s=c-l*l;if(0===c||s<=0)return[];var u=Math.sqrt(s),d=-r*r*o*l,p=-a*a*i*l;return[ua((d+r*a*i*u)/c,(p-r*a*o*u)/c),ua((d-r*a*i*u)/c,(p+r*a*o*u)/c)]},lo=function(e,t,n){if(0===t)return 0===Ta(n,e)?[e]:[];var r=n[2],a=n[3],o=n[1],i=N(Oa(e),2),l=i[0],c=i[1],s=r*r+a*a,u=t*t*s-Math.pow(r*l+a*c+o,2);if(0===s||u<=0)return[];var d=Math.sqrt(u),p=l*a*a-c*r*a-r*o,f=c*r*r-l*r*a-a*o;return[ua((p+a*d)/s,(f-r*d)/s),ua((p-a*d)/s,(f+r*d)/s)]},co=function(e,t,n){var r=Math.abs(t),a=e.width*r/2,o=e.height*r/2,i=Math.sign(t),l=N(Oa(n),2),c=l[0],s=l[1],u=0===s?1e-4:s,d=Math.pow(c,2)*Math.pow(o,2)+Math.pow(u,2)*Math.pow(a,2),p=(-c*Math.pow(o,2)+i*u*Math.sqrt(Math.max(0,d-Math.pow(a,2)*Math.pow(o,2))))/d,f=(-p*c-1)/u,h=-Math.pow(a,2)*p/(Math.pow(f,2)*Math.pow(o,2)+Math.pow(p,2)*Math.pow(a,2));return ua(h,(-p*h-1)/f)},so=function(e,t,n){var r=Math.abs(t),a=Math.sign(t),o=ro(e,r),i=0,l=null;return o.forEach((function(e){var t=a*ka(n,e)[1];t>i&&(i=t,l=e)})),l},uo=function(e,t,n,r){var a,o=[],i=!1,l=_a(ft(e));try{for(l.s();!(a=l.n()).done;){var c=a.value;"move"===c.op?(i=!i)&&o.push([c.data[0],c.data[1]]):"bcurveTo"===c.op&&i&&(o.push([c.data[0],c.data[1]]),o.push([c.data[2],c.data[3]]),o.push([c.data[4],c.data[5]]))}}catch(e){l.e(e)}finally{l.f()}if(o.length>=4){if("sharp"===r)return at(o,t,n);var s=Z(o,10,5);return at(s,t,n)}return!1},po=function(e,t,n,r){var a=ft(e),o=[0,0];return a.some((function(e,a){var i=e.op,l=e.data;if("move"===i)o=l;else if("bcurveTo"===i){var c=[l[0],l[1]],s=[l[2],l[3]],u=[l[4],l[5]],d=o;return o=u,function(e,t,n,r,a,o){for(var i=N(a,2),l=i[0],c=i[1],s=function(a,o){return Math.pow(1-a,3)*r[o]+3*a*Math.pow(1-a,2)*n[o]+3*Math.pow(a,2)*(1-a)*t[o]+e[o]*Math.pow(a,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))<o)return!0;u+=.01}return!1}(d,c,s,u,[t,n],r)}return!1}))},fo=function(e,t,n){return t>=e[0]&&t<=e[0]+e[2]&&n>=e[1]&&n<=e[1]+e[3]},ho=function(e,t,n,r,a,o){return e.reduce((function(e,i){if(e)return e;var l=function(e,t,n,r,a,o){if(!t.selectedElementIds[e.id])return!1;var i=sa(e,a,o),l=i.rotation,c=_r(i,["rotation"]);if(l&&fo(l,n,r))return"rotation";var s=Object.keys(c).filter((function(e){var t=c[e];return!!t&&fo(t,n,r)}));return s.length>0&&s[0]}(i,t,n,r,a,o);return l?{element:i,transformHandleType:l}:null}),null)},mo=function(e,t,n,r,a){var o=N(e,4),i=o[0],l=o[1],c=o[2],s=o[3],u=ca([i,l,c,s],0,r,a,ra);return Object.keys(u).find((function(e){var r=u[e];return r&&fo(r,t,n)}))||!1},go=["ns","nesw","ew","nwse"],vo=function(e){var t=e.element,n=e.transformHandleType,r=t&&Math.sign(t.height)*Math.sign(t.width)==-1,a=null;switch(n){case"n":case"s":a="ns";break;case"w":case"e":a="ew";break;case"nw":case"se":a=r?"nesw":"nwse";break;case"ne":case"sw":a=r?"nwse":"nesw";break;case"rotation":return"grab"}return a&&t&&(a=function(e,t){var n=go.indexOf(e);if(n>=0){var r=Math.round(t/(Math.PI/4));e=go[(n+r)%go.length]}return e}(a,t.angle)),a?"".concat(a,"-resize"):""};function bo(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 yo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bo(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var wo=function(){function e(t,n){h(this,e),this.elementId=t.id,Er.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=Er.getScene(e))||void 0===t?void 0:t.getNonDeletedElement(e);return n||null}},{key:"handlePointDragging",value:function(t,n,r,a,o){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:yo(yo({},i),{},{isDragging:!0})});var d=e.createPointAt(u,r-i.pointerOffset.x,a-i.pointerOffset.y,t.gridSize);return e.movePoint(u,l,d),qe(u)&&o(u,0===l?"start":"end"),!0}return!1}},{key:"handlePointerUp",value:function(t,n,r){var a,o=n.elementId,i=n.activePointIndex,l=n.isDragging,c=e.getElement(o);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=Eo(r)?_o(Un(e.getPointAtIndexGlobalCoordinates(c,i)),Er.getScene(c)):null;(a={})[0===i?"startBindingElement":"endBindingElement"]=u,s=a}return yo(yo(yo({},n),s),{},{isDragging:!1,pointerOffset:{x:0,y:0}})}},{key:"handlePointerDown",value:function(t,n,r,a,o){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&&Ir(c,{points:[].concat(R(c.points),[e.createPointAt(c,o.x,o.y,n.gridSize)])}),a.resumeRecording(),r({editingLinearElement:yo(yo({},n.editingLinearElement),{},{activePointIndex:c.points.length-1,lastUncommittedPoint:null,endBindingElement:_o(o,Er.getScene(c))})}),i.didAddPoint=!0,i;var s=e.getPointIndexUnderCursor(c,n.zoom,o.x,o.y);if(s>-1)i.hitElement=c;else{var u=n.editingLinearElement,d=u.startBindingElement,p=u.endBindingElement;Eo(n)&&qe(c)&&ko(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:yo(yo({},n.editingLinearElement),{},{activePointIndex:s>-1?s:null,pointerOffset:b?{x:o.x-b[0],y:o.y-b[1]}:{x:0,y:0}})}),i}},{key:"handlePointerMove",value:function(t,n,r,a,o){var i=a.elementId,l=a.lastUncommittedPoint,c=e.getElement(i);if(!c)return a;var s=c.points,u=s[s.length-1];if(!t.altKey)return u===l&&e.movePoint(c,s.length-1,"delete"),yo(yo({},a),{},{lastUncommittedPoint:null});var d=e.createPointAt(c,n-a.pointerOffset.x,r-a.pointerOffset.y,o);return u===l?e.movePoint(c,c.points.length-1,d):e.movePoint(c,"new",d),yo(yo({},a),{},{lastUncommittedPoint:c.points[c.points.length-1]})}},{key:"getPointsGlobalCoordinates",value:function(e){var t=N(pt(e),4),n=t[0],r=t[1],a=t[2],o=t[3],i=(n+a)/2,l=(r+o)/2;return e.points.map((function(t){var n=e.x,r=e.y,a=N(Je(n+t[0],r+t[1],i,l,e.angle),2);return[n=a[0],r=a[1]]}))}},{key:"getPointAtIndexGlobalCoordinates",value:function(e,t){var n=t<0?e.points.length+t:t,r=N(pt(e),4),a=r[0],o=r[1],i=(a+r[2])/2,l=(o+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],a=n[1],o=(r+n[2])/2,i=(a+n[3])/2,l=N(Je(t[0],t[1],o,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 a=this.getPointsGlobalCoordinates(e),o=a.length;--o>-1;){var i=a[o];if(nt(n,r,i[0],i[1])*t.value<this.POINT_HANDLE_SIZE/2+1)return o}return-1}},{key:"createPointAt",value:function(e,t,n,r){var a=ct(t,n,r),o=N(pt(e),4),i=o[0],l=o[1],c=(i+o[2])/2,s=(l+o[3])/2,u=N(Je(a[0],a[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];Ir(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 a=N(t.points[n],2),o=a[0],i=a[1];e.movePoint(t,n,[o+r.x,i+r.y])}},{key:"movePoint",value:function(e,t,n,r){var a,o=e.points,i=0,l=0;if("delete"===n){if("new"===t)throw new Error("invalid args in movePoint");(a=o.slice()).splice(t,1),0===t&&(i=a[0][0],l=a[0][1],a=a.map((function(e,t){return 0===t?[0,0]:[e[0]-i,e[1]-l]})))}else if("new"===t)a=[].concat(R(o),[n]);else{var c=n[0]-o[t][0],s=n[1]-o[t][1];a=o.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,a,e.strokeSharpness||"round"),d=yt(e,o,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);Ir(e,yo(yo({},r),{},{points:a,x:e.x+g[0],y:e.y+g[1]}))}}]),e}();function xo(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}wo.POINT_HANDLE_SIZE=20;var Eo=function(e){return e.isBindingEnabled},ko=function(e,t,n){var r=new Set,a=new Set;So(e,t,n,"start",r,a),So(e,n,t,"end",r,a);var o=Array.from(a).filter((function(e){return!r.has(e)}));Er.getScene(e).getNonDeletedElements(o).forEach((function(t){var n;Ir(t,{boundElementIds:null===(n=t.boundElementIds)||void 0===n?void 0:n.filter((function(t){return t!==e.id}))})}))},So=function(e,t,n,r,a,o){if("keep"!==t)if(null!=t)null!=n&&("keep"===n?To(e,t,r):"start"!==r&&n.id===t.id)||(Io(e,t,r),a.add(t.id));else{var i=Lo(e,r);null!=i&&o.add(i)}},Co=function(e){e.forEach((function(e){qe(e)?ko(e,Fo(e,"start"),Fo(e,"end")):Qe(e)&&Oo(e)}))},Oo=function(e){Go(e).forEach((function(t){var n=N(t,2),r=n[0],a=n[1];return ko(r,"end"===a?"keep":e,"start"===a?"keep":e)}))},Mo=function(e,t,n,r){null!=t.startBoundElement&&Io(e,t.startBoundElement,"start");var a=_o(r,n);null==a||To(e,a,"end")||Io(e,a,"end")},Io=function(e,t,n){var r,a;Ir(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?xo(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({elementId:t.id},Do(e,t,n)),r)),Ir(t,{boundElementIds:Array.from(new Set([].concat(R(null!==(a=t.boundElementIds)&&void 0!==a?a:[]),[e.id])))})},To=function(e,t,n){var r=e["start"===n?"endBinding":"startBinding"];return Po(e,null==r?void 0:r.elementId,t)},Po=function(e,t,n){return t===n.id&&e.points.length<3},Ao=function(e){e.forEach((function(e){qe(e)&&ko(e,null,null)}))},Lo=function(e,t){var n,r="start"===t?"startBinding":"endBinding",a=e[r];return null==a?null:(Ir(e,((n={})[r]=null,n)),a.elementId)},_o=function(e,t){return _i(t.getElements(),(function(t){return Qe(t)&&Na(t,e)}))},Do=function(e,t,n){var r="start"===n?-1:1,a=-1===r?0:e.points.length-1,o=a-r,i=wo.getPointAtIndexGlobalCoordinates(e,a),l=wo.getPointAtIndexGlobalCoordinates(e,o);return{focus:to(t,l,i),gap:Math.max(1,Wa(t,i))}},jo=function(e,t){var n,r=null!==(n=e.boundElementIds)&&void 0!==n?n:[];if(0!==r.length){var a=null!=t?t:{},o=a.newSize,i=a.simultaneouslyUpdated,l=Bo(i);Er.getScene(e).getNonDeletedElements(r).forEach((function(t){var n=e;if(zo(t,n)){var r=No(n,t.startBinding,o),a=No(n,t.endBinding,o);l.has(t.id)?Ir(t,{startBinding:r,endBinding:a}):(Ho(t,"start",r,e),Ho(t,"end",a,e))}}))}},zo=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},Bo=function(e){return new Set((e||[]).map((function(e){return e.id})))},Ho=function(e,t,n,r){var a;if(!(null==n||n.elementId!==r.id&&e.points.length>2)){var o=Er.getScene(e).getElement(n.elementId);if(null!=o){var i,l="start"===t?-1:1,c=-1===l?0:e.points.length-1,s=c-l,u=wo.getPointAtIndexGlobalCoordinates(e,s),d=function(e,t,n){if(0===t){var r=pt(e),a=eo(r);return Oa(a)}var o,i=Ja(e),l=La(i,Ca(n)),c=pa(i);switch(e.type){case"rectangle":case"text":case"diamond":o=so(e,t,l);break;case"ellipse":o=co(e,t,l)}return Oa(La(c,o))}(o,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,a=Ja(e),o=La(a,Ca(t)),i=La(a,Ca(n)),l=ka(o,i),c=pa(a);return no(e,l,o,r).map((function(e){return Oa(La(c,e))}))}(o,u,d,n.gap);i=0===p.length?d:p[0]}wo.movePoint(e,c,wo.pointFromAbsoluteCoords(e,i),((a={})["start"===t?"startBinding":"endBinding"]=n,a))}}},No=function(e,t,n){if(null==t||null==n)return t;var r=t.gap,a=t.focus,o=t.elementId,i=n.width,l=n.height,c=e.width,s=e.height;return{elementId:o,gap:Math.max(1,Math.min(Ra(e,i,l),r*(i<l?i/c:l/s))),focus:a}},Ro=function(e){return[Fo(e,"start"),Fo(e,"end")].filter((function(e){return null!=e}))},Fo=function(e,t){return _o(Wo(e,t),Er.getScene(e))},Wo=function(e,t){var n="start"===t?0:-1;return Un(wo.getPointAtIndexGlobalCoordinates(e,n))},Go=function(e){return Er.getScene(e).getElements().map((function(t){if(!qe(t))return null;var n=Vo(t,"start",e),r=Vo(t,"end",e);return n||r?[t,n&&r?"both":n?"start":"end",e]:null})).filter((function(e){return null!=e}))},Vo=function(e,t,n){return null==e["start"===t?"startBinding":"endBinding"]&&!To(e,n,t)&&Na(n,Wo(e,t))},Ko=function(e,t,n,r){var a=new Set,o=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)&&a.add(e)})),o.add(n.get(e.id))),qe(e)){if(null!=e.startBinding){var r=e.startBinding.elementId;i&&!n.has(r)&&o.add(r)}if(null!=e.endBinding){var l=e.endBinding.elementId;i&&!n.has(l)&&o.add(l)}null==e.startBinding&&null==e.endBinding||a.add(n.get(e.id))}})),e.filter((function(e){var t=e.id;return a.has(t)})).forEach((function(e){var t=e.startBinding,r=e.endBinding;Ir(e,{startBinding:Uo(t,n),endBinding:Uo(r,n)})})),e.filter((function(e){var t=e.id;return o.has(t)})).forEach((function(e){var t=e.boundElementIds;null!=t&&t.length>0&&Ir(e,{boundElementIds:t.map((function(e){var t;return null!==(t=n.get(e))&&void 0!==t?t:e}))})}))},Uo=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}},Yo=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;Ir(e,{startBinding:Zo(t,n),endBinding:Zo(r,n)})}))},Zo=function(e,t){return null==e||t.has(e.elementId)?null:e};function Xo(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 qo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Xo(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var $o=function(e){return e>=2*Math.PI?e-2*Math.PI:e},Qo=function(e,t,n,r){var a=N(pt(e),4),o=a[0],i=a[1],l=(o+a[2])/2,c=(i+a[3])/2,u=5*Math.PI/2+Math.atan2(n-c,t-l);r&&(u+=s.ay/2,u-=u%s.ay),u=$o(u),Ir(e,{angle:u})},Jo=function(e,t,n,r,a){var o=N(pt(e),4),i=o[0],l=o[1],c=o[2],s=o[3],u=N(Je(r,a,(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 a=Ar.apply(void 0,[e].concat(R(Je(t,n,0,0,r))));return Je(a.width,a.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];Ir(e,{x:b,y:y,points:[[0,0],[h,m]]})},ei=function(e,t,n){return Ze(e)?{points:st(0,t,st(1,n,e.points))}:{}},ti=function(e,t,n){var r=e.fontSize*(t/e.width);if(r<1)return null;var a=An(e.text,Pn({fontSize:r,fontFamily:e.fontFamily}));return{size:r,baseline:a.baseline+(n-a.height)}},ni=function(e,t,n,r,a){var o,i=N(pt(e),4),l=i[0],c=i[1],s=i[2],u=i[3],d=N(Je(r,a,(l+s)/2,(c+u)/2,-e.angle),2),p=d[0],f=d[1];switch(t){case"se":o=Math.max((p-l)/(s-l),(f-c)/(u-c));break;case"nw":o=Math.max((s-p)/(s-l),(u-f)/(u-c));break;case"ne":o=Math.max((p-l)/(s-l),(u-f)/(u-c));break;case"sw":o=Math.max((s-p)/(s-l),(f-c)/(u-c))}if(o>0){var h=e.width*o,m=e.height*o,g=ti(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];Ir(e,{fontSize:g.size,width:h,height:m,baseline:g.baseline,x:k,y:S})}},ri=function(e,t,n,r,a,o,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([o,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(a&&(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))),a&&(_[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=ei(e,k,S),G=R(_);G[0]+=e.x-T,G[1]+=e.y-P;var V=qo({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)&&(jo(n,{newSize:{width:V.width,height:V.height}}),Ir(n,V))},ai=function(e,t,n,r){var a,o,i=N(vt(e),4),l=i[0],c=i[1],s=i[2],u=i[3];switch(t){case"se":a=Math.max((n-l)/(s-l),(r-c)/(u-c)),o=function(e,t,n){var r=N(t,2),o=r[0],i=r[1],s=N(n,2),u=s[0],d=s[1];return{x:e.x+(o-l)*(a-1)+o-u,y:e.y+(i-c)*(a-1)+i-d}};break;case"nw":a=Math.max((s-n)/(s-l),(u-r)/(u-c)),o=function(e,t,n){var r=N(t,4),o=r[2],i=r[3],l=N(n,4),c=l[2],d=l[3];return{x:e.x-(s-o)*(a-1)+o-c,y:e.y-(u-i)*(a-1)+i-d}};break;case"ne":a=Math.max((n-l)/(s-l),(u-r)/(u-c)),o=function(e,t,n){var r=N(t,4),o=r[0],i=r[3],c=N(n,4),s=c[0],d=c[3];return{x:e.x+(o-l)*(a-1)+o-s,y:e.y-(u-i)*(a-1)+i-d}};break;case"sw":a=Math.max((s-n)/(s-l),(r-c)/(u-c)),o=function(e,t,n){var r=N(t,3),o=r[1],i=r[2],l=N(n,3),u=l[1],d=l[2];return{x:e.x-(s-i)*(a-1)+i-d,y:e.y+(o-c)*(a-1)+o-u}}}if(a>0){var d=e.reduce((function(t,n){if(!t)return t;var r=n.width*a,i=n.height*a,l={};if("text"===n.type){var c=ti(n,r,i);if(null===c)return null;l={fontSize:c.size,baseline:c.baseline}}var s=pt(n),u=ei(n,r,i);jo(n,{newSize:{width:r,height:i},simultaneouslyUpdated:e});var d=bt(qo(qo({},n),u),r,i),p=o(n,s,d),f=p.x,h=p.y;return[].concat(R(t),[qo(qo({width:r,height:i,x:f,y:h},u),l)])}),[]);d&&e.forEach((function(e,t){Ir(e,d[t])}))}},oi=function(e,t,n,r,a,o,i){var l=5*Math.PI/2+Math.atan2(r-i,n-o);a&&(l+=s.ay/2,l-=l%s.ay),t.forEach((function(t,n){var r,a,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===(a=e.originalElements.get(t.id))||void 0===a?void 0:a.angle)&&void 0!==r?r:t.angle,h=N(Je(d,p,o,i,l+f-t.angle),2),m=h[0],g=h[1];Ir(t,{x:t.x+(m-d),y:t.y+(g-p),angle:$o(l+f)})}))},ii=function(e,t,n,r,a,o,i,l,c,s){if(c){var u=Ar(t,i,o<r?-l:l);i=u.width,(l=u.height)<0&&(l=-l)}var d=a<n?n-i:n,p=o<r?r-l:r;s&&(d=n-(i+=i)/2,p=r-(l+=l)/2),0!==i&&0!==l&&Ir(e,{x:d,y:p,width:i,height:l})},li=function(e){return e.replace(/\t/g," ").replace(/\r?\n|\r/g,"\n")},ci=function(e,t,n,r,a){var o=r.zoom,i=r.offsetTop,l=r.offsetLeft,c=180*n/Math.PI,s=(e-2*l)*(o.value-1)/2,u=(t-2*i)*(o.value-1)/2;return e>a&&1!==o.value&&(s=a/2*(o.value-1)),"translate(".concat(s,"px, ").concat(u,"px) scale(").concat(o.value,") rotate(").concat(c,"deg)")},si=function(e){var t=An(e.text,Pn(e));Ir(e,{width:t.width,height:t.height,baseline:t.baseline})},ui=function(e,t){return Boolean(!e.viewModeEnabled&&(e.editingElement||Si(t,e).length||"selection"!==e.elementType))};function di(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 pi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?di(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):di(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var fi=function(e){return e.filter((function(e){return e.isDeleted||!Pr(e)}))},hi=function(e){return e.reduce((function(e,t){return e[t.id]=t,e}),{})},mi=function(e){return e.reduce((function(e,t){return e+t.version}),0)},gi=function(e){return e.filter((function(e){return!e.isDeleted}))},vi=function(e){return!e.isDeleted},bi=function(e){return gi(e).map((function(e){return Xe(e.type)?pi(pi({},e),{},{lastCommittedPoint:null}):e}))},yi=function(e){return bi(e)},wi="rgba(0,0,0,0.3)",xi=function(e,t,n,r){var a=r.scrollX,o=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(Gn("sat")),bottom:parseInt(Gn("sab")),left:parseInt(Gn("sal")),right:parseInt(Gn("sar"))},v=A().rtl,b=h/2-a+g.left,y=m/2-o+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)}}},Ei=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),a=r[0],o=r[1];return{isOverEither:a||o,isOverHorizontal:a,isOverVertical:o}},ki=function(e,t){return e.some((function(e){return t.selectedElementIds[e.id]}))},Si=function(e,t){return e.filter((function(e){return t.selectedElementIds[e.id]}))},Ci=function(e,t){return t.editingElement?[t.editingElement]:Si(e,t)},Oi=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)}},Mi=function(e,t,n){if(!e.length)return{scrollX:0,scrollY:0};var r=N(vt(e),4),a=r[0],o=r[1],i=r[2],l=r[3];if(function(e,t,n){var r=N(n,4),a=r[0],o=r[1],i=r[2],l=r[3],c=Wn({sceneX:a,sceneY:o},e),s=c.x,u=c.y,d=Wn({sceneX:i,sceneY:l},e),p=d.x,f=d.y;return p-s>e.width||f-u>e.height}(t,0,[a,o,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 a=N(gt(e),4),o=a[0],i=a[1],l=a[2],c=a[3],s=nt((o+l)/2,(i+c)/2,t.x,t.y);s<n&&(n=s,r=e)})),gt(r)}(e,Fn({clientX:t.scrollX,clientY:t.scrollY},t)),s=N(c,4);a=s[0],o=s[1],i=s[2],l=s[3]}return Oi({scenePoint:{x:(a+i)/2,y:(o+l)/2},viewportDimensions:{width:t.width,height:t.height},zoom:t.zoom})},Ii=function(e){return"rectangle"===e||"ellipse"===e||"diamond"===e||"draw"===e||"line"===e},Ti=function(e){return"rectangle"===e||"ellipse"===e||"diamond"===e||"arrow"===e||"draw"===e||"line"===e},Pi=function(e){return"rectangle"===e||"arrow"===e||"draw"===e||"line"===e},Ai=function(e){return"text"===e},Li=function(e){return"arrow"===e},_i=function(e,t){for(var n=null,r=e.length-1;r>=0;--r){var a=e[r];if(!a.isDeleted&&t(a)){n=a;break}}return n},Di=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)}}},ji=function(e){var t=parseFloat(e.toFixed(2));return Math.max(.1,Math.min(t,10))},zi=(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)))})));zi.defaultProps={visible:!0,className:""};var Bi=function(e){return"light"===e?wt.$y[4]:wt.$y[9]},Hi=function(e){return"light"===e?wt.Sn:wt.MA[4]},Ni=function(e){return"light"===e?wt.ix:"#1e1e1e"},Ri=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:512,n="number"==typeof t?{width:t}:t,r=n.width,a=void 0===r?512:r,o=n.height,i=void 0===o?a:o,l=n.mirror,s=n.style;return c().createElement("svg",{"aria-hidden":"true",focusable:"false",role:"img",viewBox:"0 0 ".concat(a," ").concat(i),className:Ue({"rtl-mirror":l}),style:s},"string"==typeof e?c().createElement("path",{fill:"currentColor",d:e}):e)},Fi=Ri("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}),Wi=Ri("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}),Gi=Ri("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}),Vi=Ri("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}),Ki=Ri("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}),Ui=Ri("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}),Yi=Ri("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"),Zi=Ri("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}),Xi=Ri("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}),qi=Ri("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}),$i=Ri("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"),Qi=Ri("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"),Ji=Ri("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}),el=Ri("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}),tl=Ri("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}),nl=(Ri("M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z",{width:24,height:24}),Ri("M16 5l-1.42 1.42-1.59-1.59V16h-1.98V4.83L9.42 6.42 8 5l4-4 4 4zm4 5v11c0 1.1-.9 2-2 2H6c-1.11 0-2-.9-2-2V10c0-1.11.89-2 2-2h3v2H6v11h12V10h-3V8h3c1.1 0 2 .89 2 2z",{width:24,height:24}),Ri(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})),rl=c().memo((function(e){var t=e.appearance;return Ri(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:Hi(t),stroke:Hi(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:Bi(t),stroke:Bi(t),strokeWidth:"2"})),{width:24,mirror:!0})})),al=c().memo((function(e){var t=e.appearance;return Ri(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:Bi(t),stroke:Bi(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:Hi(t),stroke:Hi(t),strokeWidth:"2"})),{width:24,mirror:!0})})),ol=c().memo((function(e){var t=e.appearance;return Ri(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:Hi(t),stroke:Hi(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:Bi(t),stroke:Bi(t),strokeWidth:"2"})),{width:24,mirror:!0})})),il=c().memo((function(e){var t=e.appearance;return Ri(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:Bi(t),stroke:Bi(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:Hi(t),stroke:Hi(t),strokeLinejoin:"round",strokeWidth:"2"})),{width:24,mirror:!0})})),ll=c().memo((function(e){var t=e.appearance;return Ri(c().createElement(c().Fragment,null,c().createElement("path",{d:"M 2,5 H 22",fill:Hi(t),stroke:Hi(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:Bi(t),stroke:Bi(t),strokeWidth:"2"})),{width:24,mirror:!0})})),cl=c().memo((function(e){var t=e.appearance;return Ri(c().createElement(c().Fragment,null,c().createElement("path",{d:"M 2,19 H 22",fill:Hi(t),stroke:Hi(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:Bi(t),stroke:Bi(t),strokeWidth:"2"})),{width:24,mirror:!0})})),sl=c().memo((function(e){var t=e.appearance;return Ri(c().createElement(c().Fragment,null,c().createElement("path",{d:"M 5,2 V 22",fill:Hi(t),stroke:Hi(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:Bi(t),stroke:Bi(t),strokeWidth:"2"})),{width:24})})),ul=c().memo((function(e){var t=e.appearance;return Ri(c().createElement(c().Fragment,null,c().createElement("path",{d:"M 19,2 V 22",fill:Hi(t),stroke:Hi(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:Bi(t),stroke:Bi(t),strokeWidth:"2"})),{width:24})})),dl=c().memo((function(e){var t=e.appearance;return Ri(c().createElement(c().Fragment,null,c().createElement("path",{d:"M5 5V19Z",fill:"black"}),c().createElement("path",{d:"M19 5V19M5 5V19",stroke:Hi(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:Bi(t),stroke:Bi(t),strokeWidth:"2"})),{width:24})})),pl=c().memo((function(e){var t=e.appearance;return Ri(c().createElement(c().Fragment,null,c().createElement("path",{d:"M5 5L19 5M5 19H19",fill:Hi(t),stroke:Hi(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:Bi(t),stroke:Bi(t),strokeWidth:"2"})),{width:24})})),fl=c().memo((function(e){var t=e.appearance;return Ri(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:Bi(t),stroke:Bi(t),strokeWidth:"2"}),c().createElement("path",{d:"M 2,12 H 22",fill:Hi(t),stroke:Hi(t),strokeWidth:"2",strokeDasharray:"1, 2.8",strokeLinecap:"round"})),{width:24,mirror:!0})})),hl=c().memo((function(e){var t=e.appearance;return Ri(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:Bi(t),stroke:Bi(t),strokeWidth:"2"}),c().createElement("path",{d:"M 12,2 V 22",fill:Hi(t),stroke:Hi(t),strokeWidth:"2",strokeDasharray:"1, 2.8",strokeLinecap:"round"})),{width:24})})),ml=Ri("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}),gl=(Ri("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"),Ri("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"),Ri("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})),vl=Ri("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}),bl=Ri("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}),yl=(Ri("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 Ri(c().createElement(c().Fragment,null,c().createElement("path",{d:"M25 26H111V111H25",fill:Hi(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:Hi(t),strokeWidth:"2"}),c().createElement("path",{d:"M100 100H160V160H100",fill:Hi(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:Hi(t),strokeWidth:"2"}),c().createElement("rect",{x:"2.5",y:"2.5",width:"30",height:"30",fill:Ni(t),stroke:Hi(t),strokeWidth:"6"}),c().createElement("rect",{x:"2.5",y:"149.5",width:"30",height:"30",fill:Ni(t),stroke:Hi(t),strokeWidth:"6"}),c().createElement("rect",{x:"147.5",y:"149.5",width:"30",height:"30",fill:Ni(t),stroke:Hi(t),strokeWidth:"6"}),c().createElement("rect",{x:"147.5",y:"2.5",width:"30",height:"30",fill:Ni(t),stroke:Hi(t),strokeWidth:"6"})),{width:182,height:182,mirror:!0})}))),wl=c().memo((function(e){var t=e.appearance;return Ri(c().createElement(c().Fragment,null,c().createElement("path",{d:"M25 26H111V111H25",fill:Hi(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:Hi(t),strokeWidth:"2"}),c().createElement("path",{d:"M100 100H160V160H100",fill:Hi(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:Hi(t),strokeWidth:"2"}),c().createElement("rect",{x:"2.5",y:"2.5",width:"30",height:"30",fill:Ni(t),stroke:Hi(t),strokeWidth:"6"}),c().createElement("rect",{x:"78.5",y:"149.5",width:"30",height:"30",fill:Ni(t),stroke:Hi(t),strokeWidth:"6"}),c().createElement("rect",{x:"147.5",y:"149.5",width:"30",height:"30",fill:Ni(t),stroke:Hi(t),strokeWidth:"6"}),c().createElement("rect",{x:"147.5",y:"78.5",width:"30",height:"30",fill:Ni(t),stroke:Hi(t),strokeWidth:"6"}),c().createElement("rect",{x:"105.5",y:"2.5",width:"30",height:"30",fill:Ni(t),stroke:Hi(t),strokeWidth:"6"}),c().createElement("rect",{x:"2.5",y:"102.5",width:"30",height:"30",fill:Ni(t),stroke:Hi(t),strokeWidth:"6"})),{width:182,height:182,mirror:!0})})),xl=c().memo((function(e){var t=e.appearance;return Ri(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:Hi(t)}),{width:40,height:20})})),El=c().memo((function(e){var t=e.appearance;return Ri(c().createElement("g",{fill:Hi(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})})),kl=c().memo((function(e){var t=e.appearance;return Ri(c().createElement("path",{d:"M2 2H38V18H2V2Z",fill:Hi(t)}),{width:40,height:20})})),Sl=c().memo((function(e){var t=e.appearance,n=e.strokeWidth;return Ri(c().createElement("path",{d:"M6 10H34",stroke:Hi(t),strokeWidth:n,fill:"none"}),{width:40,height:20})})),Cl=c().memo((function(e){var t=e.appearance;return Ri(c().createElement("path",{d:"M6 10H34",stroke:Hi(t),strokeWidth:2,fill:"none"}),{width:40,height:20})})),Ol=c().memo((function(e){var t=e.appearance;return Ri(c().createElement("path",{d:"M6 10H34",stroke:Hi(t),strokeWidth:2.5,strokeDasharray:"10, 8",fill:"none"}),{width:40,height:20})})),Ml=c().memo((function(e){var t=e.appearance;return Ri(c().createElement("path",{d:"M6 10H34",stroke:Hi(t),strokeWidth:2.5,strokeDasharray:"4, 4",fill:"none"}),{width:40,height:20})})),Il=c().memo((function(e){var t=e.appearance;return Ri(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:Hi(t),strokeWidth:2,fill:"none"}),{width:40,height:20,mirror:!0})})),Tl=c().memo((function(e){var t=e.appearance;return Ri(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:Hi(t),strokeWidth:2,fill:"none"}),{width:40,height:20,mirror:!0})})),Pl=c().memo((function(e){var t=e.appearance;return Ri(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:Hi(t),strokeWidth:2,fill:"none"}),{width:40,height:20,mirror:!0})})),Al=c().memo((function(e){var t=e.appearance;return Ri(c().createElement("path",{d:"M10 17L10 5L35 5",stroke:Hi(t),strokeWidth:2,fill:"none"}),{width:40,height:20,mirror:!0})})),Ll=c().memo((function(e){var t=e.appearance;return Ri(c().createElement("path",{d:"M10 17V15C10 8 13 5 21 5L33.5 5",stroke:Hi(t),strokeWidth:2,fill:"none"}),{width:40,height:20,mirror:!0})})),_l=c().memo((function(e){var t=e.appearance;return Ri(c().createElement("path",{d:"M6 10H34",stroke:Hi(t),strokeWidth:2,fill:"none"}),{width:40,height:20})})),Dl=c().memo((function(e){var t=e.appearance,n=e.flip,r=void 0!==n&&n;return Ri(c().createElement("g",{transform:r?"translate(40, 0) scale(-1, 1)":"",stroke:Hi(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})})),jl=c().memo((function(e){var t=e.appearance,n=e.flip,r=void 0!==n&&n;return Ri(c().createElement("g",{stroke:Hi(t),fill:Hi(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})})),zl=c().memo((function(e){var t=e.appearance,n=e.flip,r=void 0!==n&&n;return Ri(c().createElement("g",{transform:r?"translate(40, 0) scale(-1, 1)":""},c().createElement("path",{d:"M34 10H5.99996M34 10L34 5M34 10L34 15",stroke:Hi(t),strokeWidth:2,fill:"none"})),{width:40,height:20})})),Bl=Ri("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"),Hl=(Ri("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"),[]),Nl=function(e){return Hl=Hl.concat(e),e};function Rl(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 Fl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Rl(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Rl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Wl=function(e,t){var n;if(e.editingGroupId){var r=Vr(gi(t),e.editingGroupId);if(r.length)return Fl(Fl({},e),{},{selectedElementIds:(n={},n[r[0].id]=!0,n)})}return e},Gl=Nl({name:"deleteSelectedElements",perform:function(e,t){if(t.editingLinearElement){var n=t.editingLinearElement,r=n.elementId,a=n.activePointIndex,o=n.startBindingElement,i=n.endBindingElement,l=wo.getElement(r);if(!l)return!1;if(null==a||-1===a||l.points.length<2){var c=e.filter((function(e){return e.id!==l.id}));return{elements:c,appState:Fl(Fl({},Wl(t,c)),{},{editingLinearElement:null}),commitToHistory:!1}}var s={startBindingElement:0===a?null:o,endBindingElement:a===l.points.length-1?null:i};return wo.movePoint(l,a,"delete"),{elements:e,appState:Fl(Fl({},t),{},{editingLinearElement:Fl(Fl(Fl({},t.editingLinearElement),s),{},{activePointIndex:a>0?a-1:0})}),commitToHistory:!0}}var u=function(e,t){return{elements:e.map((function(e){return t.selectedElementIds[e.id]?Tr(e,{isDeleted:!0}):e})),appState:Fl(Fl({},t),{},{selectedElementIds:{}})}}(e,t),d=u.elements,p=u.appState;return Yo(d,e.filter((function(e){var n=e.id;return t.selectedElementIds[n]}))),{elements:d,appState:Fl(Fl({},p=Wl(p,d)),{},{elementType:"selection",multiElement:null}),commitToHistory:ki(gi(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(zi,{type:"button",icon:Ui,title:_("labels.delete"),"aria-label":_("labels.delete"),onClick:function(){return r(null)},visible:ki(gi(t),n)})}}),Vl=function(e,t){for(var n=[],r=[],a=null,o=-1;++o<e.length;)t.selectedElementIds[e[o].id]?(r.length&&(n=n.concat(r),r=[]),n.push(o),a=o+1):e[o].isDeleted&&a===o?(a=o+1,r.push(o)):r=[];return n},Kl=function(e,t,n,r){var a=t[n],o=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,o,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,o,n+1),l=t[i];if(!l)return-1;if(e.editingGroupId){if((null==a?void 0:a.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=Vr(t,c);return s.length?"left"===r?t.indexOf(s[0]):t.indexOf(s[s.length-1]):i},Ul=function(e,t,n){var r,a,o=Vl(t,e),i=(a=0,(r=o).reduce((function(e,t,n){return n>0&&r[n-1]!==t-1&&(a=++a),(e[a]||(e[a]=[])).push(t),e}),[]));return"right"===n&&(i=i.reverse()),i.forEach((function(r,a){var o=r[0],i=r[r.length-1],l="left"===n?o:i,c=Kl(e,t,l,n);if(-1!==c&&l!==c){var s="left"===n?t.slice(0,c):t.slice(0,o),u=t.slice(o,i+1),d="left"===n?t.slice(c,o):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},Yl=function(e,t,n){var r,a,o=Vl(e,t),i=[],l=[];if("left"===n){if(t.editingGroupId){var c=Vr(e,t.editingGroupId);if(!c.length)return e;r=e.indexOf(c[0])}else r=0;a=o[o.length-1]}else{if(t.editingGroupId){var s=Vr(e,t.editingGroupId);if(!s.length)return e;a=e.indexOf(s[s.length-1])}else a=e.length-1;r=o[0]}for(var u=r;u<a+1;u++)o.includes(u)?i.push(e[u]):l.push(e[u]);var d=e.slice(0,r),p=e.slice(a+1);return"left"===n?[].concat(R(d),i,l,R(p)):[].concat(R(d),l,i,R(p))},Zl=function(e,t){return Ul(t,e.slice(),"left")},Xl=function(e,t){return Ul(t,e.slice(),"right")},ql=function(e,t){return Yl(e,t,"left")},$l=function(e,t){return Yl(e,t,"right")},Ql=Nl({name:"sendBackward",perform:function(e,t){return{elements:Zl(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(Rn("CtrlOrCmd+["))},c().createElement(al,{appearance:n.appearance}))}}),Jl=Nl({name:"bringForward",perform:function(e,t){return{elements:Xl(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(Rn("CtrlOrCmd+]"))},c().createElement(rl,{appearance:n.appearance}))}}),ec=Nl({name:"sendToBack",perform:function(e,t){return{elements:ql(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(Rn(St?"CtrlOrCmd+Alt+[":"CtrlOrCmd+Shift+["))},c().createElement(il,{appearance:n.appearance}))}}),tc=Nl({name:"bringToFront",perform:function(e,t){return{elements:$l(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(Rn(St?"CtrlOrCmd+Alt+]":"CtrlOrCmd+Shift+]"))},c().createElement(ol,{appearance:n.appearance}))}});function nc(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 rc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nc(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ac=Nl({name:"selectAll",perform:function(e,t){return!t.editingLinearElement&&{appState:Wr(rc(rc({},t),{},{editingGroupId:null,selectedElementIds:e.reduce((function(e,t){return t.isDeleted||(e[t.id]=!0),e}),{})}),gi(e)),commitToHistory:!0}},contextItemLabel:"labels.selectAll",keyTest:function(e){return e[Qt]&&e.key===on}});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 ic(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 lc=Nl({name:"duplicateSelection",perform:function(e,t){if(t.editingLinearElement){var n=t.editingLinearElement,r=n.activePointIndex,a=n.elementId,o=wo.getElement(a);if(!o||null===r)return!1;var i=o.points,l=i[r],c=i[r+1];return Ir(o,{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:ic(ic({},t),{},{editingLinearElement:ic(ic({},t.editingLinearElement),{},{activePointIndex:r+1})}),elements:e,commitToHistory:!0}}return ic(ic({},cc(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(zi,{type:"button",icon:bl,title:"".concat(_("labels.duplicateSelection")," — ").concat(Rn("CtrlOrCmd+D")),"aria-label":_("labels.duplicateSelection"),onClick:function(){return r(null)},visible:ki(gi(t),n)})}}),cc=function(e,t){for(var n=new Map,r=[],a=[],o=new Map,i=function(e){var i=ta(t.editingGroupId,n,e,{x:e.x+s.k/2,y:e.y+s.k/2});return o.set(e.id,i.id),a.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=Rr(t,u);if(d){var p=Vr(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 Ko(l,a,o),{elements:l,appState:Wr(ic(ic({},t),{},{selectedGroupIds:{},selectedElementIds:r.reduce((function(e,t){return e[t.id]=!0,e}),{})}),gi(l))}},sc=function(e){var t=e.options,n=e.value,r=e.onChange,a=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:a,onChange:function(){return r(e.value)},checked:n===e.value}),e.icon)})))},uc=function(e){var t=e.options,n=e.value,r=e.onChange,a=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:a,onChange:function(){return r(e.value)},checked:n===e.value}),e.text)})))},dc=(n(2816),function(e){var t=e.children,n=e.left,r=e.top,a=e.onCloseRequest,o=e.fitInViewport,i=void 0!==o&&o,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,a=t.width,o=t.height,l=window.innerWidth;n+a>l&&(e.style.left="".concat(l-a,"px"));var c=window.innerHeight;r+o>c&&(e.style.top="".concat(c-o,"px"))}}),[i]),(0,l.useEffect)((function(){if(a){var e=function(e){var t;null!==(t=s.current)&&void 0!==t&&t.contains(e.target)||(0,kt.unstable_batchedUpdates)((function(){return a(e)}))};return document.addEventListener("pointerdown",e,!1),function(){return document.removeEventListener("pointerdown",e,!1)}}}),[a]),c().createElement("div",{className:"popover",style:{top:r,left:n},ref:s},t)}),pc=(n(5574),function(e){var t=(new Option).style;return t.color=e,!!t.color}),fc=[["1","2","3","4","5"],["q","w","e","r","t"],["a","s","d","f","g"]].flat(),hc=function(e){var t=e.colors,n=e.color,r=e.onChange,a=e.onClose,o=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===an){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 o=document.activeElement,i=A().rtl,c=Array.prototype.indexOf.call(p.current.children,o);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(fc.includes(e.key.toLowerCase())&&!In(e.target)){var h=fc.indexOf(e.key.toLowerCase());p.current.children[h].focus(),e.preventDefault()}else e.key!==tn&&e.key!==en||(e.preventDefault(),a());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(fc[t].toUpperCase()),"aria-label":e,"aria-keyshortcuts":fc[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"},fc[t]))})),l&&c().createElement(mc,{color:n,label:o,onChange:function(e){r(e)},ref:f})))},mc=c().forwardRef((function(e,t){var n=e.color,r=e.onChange,a=e.label,o=N(c().useState(n),2),i=o[0],l=o[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||pc(e)?e:pc("#".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":a,onChange:function(e){return u(e.target.value)},value:(i||"").replace(/^#/,""),onBlur:function(){return l(n)},ref:s}))})),gc=function(e){var t=e.type,n=e.color,r=e.onChange,a=e.label,o=N(c().useState(!1),2),i=o[0],l=o[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":a,style:n?{"--swatch-color":n}:void 0,onClick:function(){return l(!i)},ref:s}),c().createElement(mc,{color:n,label:a,onChange:function(e){r(e)}})),c().createElement(c().Suspense,{fallback:""},i?c().createElement(dc,{onCloseRequest:function(e){return e.target!==s.current&&l(!1)}},c().createElement(hc,{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:a,showInput:!1,type:t})):null))};function vc(){return(vc=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 bc(e){var t=e.options,n=e.value,r=e.label,a=e.onChange,o=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===an)setTimeout((function(){l.current!==document.activeElement&&o()}),0);else if(wn(e.key)){var r=document.activeElement,a=A().rtl,i=Array.prototype.indexOf.call(s.current.children,r);if(-1!==i){var c=t.length,u=i;switch(e.key){case a?Yt:Zt:case Ut:u=(i+1)%c;break;case a?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(),o());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(),a(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(){a(e.value)}},e.icon,c().createElement("span",{className:"picker-keybinding"},e.keyBinding))}))))}function yc(e){var t,n=e.value,r=e.label,a=e.options,o=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=a.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(dc,vc({onCloseRequest:function(e){return e.target!==p.current&&d(!1)}},f?{right:5.5}:{left:-5.5}),c().createElement(bc,{options:a,value:n,label:r,onChange:o,onClose:function(){var e;d(!1),null===(e=p.current)||void 0===e||e.focus()}})),c().createElement("div",{className:"picker-triangle"})):null))}function wc(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 xc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?wc(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ec=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}))},kc=function(e,t,n,r){var a,o,i=t.editingElement,l=gi(e);return null!==(a=null!==(o=i&&n(i))&&void 0!==o?o:ki(l,t)?function(e,t,n){var r=Array.from(new Set(Si(e,t).map((function(e){return n(e)}))));return 1===r.length?r[0]:null}(l,t,n):r)&&void 0!==a?a:null},Sc=(Nl({name:"changeStrokeColor",perform:function(e,t,n){return{elements:Ec(e,t,(function(e){return Tr(e,{strokeColor:n})})),appState:xc(xc({},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(gc,{type:"elementStroke",label:_("labels.stroke"),color:kc(t,n,(function(e){return e.strokeColor}),n.currentItemStrokeColor),onChange:r}))}}),Nl({name:"changeBackgroundColor",perform:function(e,t,n){return{elements:Ec(e,t,(function(e){return Tr(e,{backgroundColor:n})})),appState:xc(xc({},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(gc,{type:"elementBackground",label:_("labels.background"),color:kc(t,n,(function(e){return e.backgroundColor}),n.currentItemBackgroundColor),onChange:r}))}}),Nl({name:"changeFillStyle",perform:function(e,t,n){return{elements:Ec(e,t,(function(e){return Tr(e,{fillStyle:n})})),appState:xc(xc({},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(sc,{options:[{value:"hachure",text:_("labels.hachure"),icon:c().createElement(xl,{appearance:n.appearance})},{value:"cross-hatch",text:_("labels.crossHatch"),icon:c().createElement(El,{appearance:n.appearance})},{value:"solid",text:_("labels.solid"),icon:c().createElement(kl,{appearance:n.appearance})}],group:"fill",value:kc(t,n,(function(e){return e.fillStyle}),n.currentItemFillStyle),onChange:function(e){r(e)}}))}}),Nl({name:"changeStrokeWidth",perform:function(e,t,n){return{elements:Ec(e,t,(function(e){return Tr(e,{strokeWidth:n})})),appState:xc(xc({},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(sc,{group:"stroke-width",options:[{value:1,text:_("labels.thin"),icon:c().createElement(Sl,{appearance:n.appearance,strokeWidth:2})},{value:2,text:_("labels.bold"),icon:c().createElement(Sl,{appearance:n.appearance,strokeWidth:6})},{value:4,text:_("labels.extraBold"),icon:c().createElement(Sl,{appearance:n.appearance,strokeWidth:10})}],value:kc(t,n,(function(e){return e.strokeWidth}),n.currentItemStrokeWidth),onChange:function(e){return r(e)}}))}}),Nl({name:"changeSloppiness",perform:function(e,t,n){return{elements:Ec(e,t,(function(e){return Tr(e,{seed:Sr(),roughness:n})})),appState:xc(xc({},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(sc,{group:"sloppiness",options:[{value:0,text:_("labels.architect"),icon:c().createElement(Il,{appearance:n.appearance})},{value:1,text:_("labels.artist"),icon:c().createElement(Tl,{appearance:n.appearance})},{value:2,text:_("labels.cartoonist"),icon:c().createElement(Pl,{appearance:n.appearance})}],value:kc(t,n,(function(e){return e.roughness}),n.currentItemRoughness),onChange:function(e){return r(e)}}))}}),Nl({name:"changeStrokeStyle",perform:function(e,t,n){return{elements:Ec(e,t,(function(e){return Tr(e,{strokeStyle:n})})),appState:xc(xc({},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(sc,{group:"strokeStyle",options:[{value:"solid",text:_("labels.strokeStyle_solid"),icon:c().createElement(Cl,{appearance:n.appearance})},{value:"dashed",text:_("labels.strokeStyle_dashed"),icon:c().createElement(Ol,{appearance:n.appearance})},{value:"dotted",text:_("labels.strokeStyle_dotted"),icon:c().createElement(Ml,{appearance:n.appearance})}],value:kc(t,n,(function(e){return e.strokeStyle}),n.currentItemStrokeStyle),onChange:function(e){return r(e)}}))}}),Nl({name:"changeOpacity",perform:function(e,t,n){return{elements:Ec(e,t,(function(e){return Tr(e,{opacity:n})})),appState:xc(xc({},t),{},{currentItemOpacity:n}),commitToHistory:!0}},PanelComponent:function(e){var t,n=e.elements,r=e.appState,a=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 a(+e.target.value)},onWheel:function(e){e.stopPropagation();var t=+e.target.value;e.deltaY<0&&t<100?a(t+10):e.deltaY>0&&t>0&&a(t-10)},value:null!==(t=kc(n,r,(function(e){return e.opacity}),r.currentItemOpacity))&&void 0!==t?t:void 0}))}}),Nl({name:"changeFontSize",perform:function(e,t,n){return{elements:Ec(e,t,(function(e){if(Ye(e)){var t=Tr(e,{fontSize:n});return si(t),t}return e})),appState:xc(xc({},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(uc,{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:kc(t,n,(function(e){return Ye(e)&&e.fontSize}),n.currentItemFontSize||s.n5),onChange:function(e){return r(e)}}))}}),Nl({name:"changeFontFamily",perform:function(e,t,n){return{elements:Ec(e,t,(function(e){if(Ye(e)){var t=Tr(e,{fontFamily:n});return si(t),t}return e})),appState:xc(xc({},t),{},{currentItemFontFamily:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData,a=[{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(uc,{group:"font-family",options:a,value:kc(t,n,(function(e){return Ye(e)&&e.fontFamily}),n.currentItemFontFamily||s.rk),onChange:function(e){return r(e)}}))}}),Nl({name:"changeTextAlign",perform:function(e,t,n){return{elements:Ec(e,t,(function(e){if(Ye(e)){var t=Tr(e,{textAlign:n});return si(t),t}return e})),appState:xc(xc({},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(uc,{group:"text-align",options:[{value:"left",text:_("labels.left")},{value:"center",text:_("labels.center")},{value:"right",text:_("labels.right")}],value:kc(t,n,(function(e){return Ye(e)&&e.textAlign}),n.currentItemTextAlign),onChange:function(e){return r(e)}}))}}),Nl({name:"changeSharpness",perform:function(e,t,n){var r=Ci(gi(e),t),a=r.length?r.every((function(e){return!Ze(e)})):!Xe(t.elementType),o=r.length?r.every(Ze):Xe(t.elementType);return{elements:Ec(e,t,(function(e){return Tr(e,{strokeSharpness:n})})),appState:xc(xc({},t),{},{currentItemStrokeSharpness:a?n:t.currentItemStrokeSharpness,currentItemLinearStrokeSharpness:o?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(sc,{group:"edges",options:[{value:"sharp",text:_("labels.sharp"),icon:c().createElement(Al,{appearance:n.appearance})},{value:"round",text:_("labels.round"),icon:c().createElement(Ll,{appearance:n.appearance})}],value:kc(t,n,(function(e){return e.strokeSharpness}),Pi(n.elementType)&&(Xe(n.elementType)?n.currentItemLinearStrokeSharpness:n.currentItemStrokeSharpness)||null),onChange:function(e){return r(e)}}))}}),Nl({name:"changeArrowhead",perform:function(e,t,n){var r;return{elements:Ec(e,t,(function(e){if(Ze(e)){var t=n.position,r=n.type;if("start"===t)return Tr(e,{startArrowhead:r});if("end"===t)return Tr(e,{endArrowhead:r})}return e})),appState:xc(xc({},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,a=A().rtl;return c().createElement("fieldset",null,c().createElement("legend",null,_("labels.arrowheads")),c().createElement("div",{className:"iconSelectList"},c().createElement(yc,{label:"arrowhead_start",options:[{value:null,text:_("labels.arrowhead_none"),icon:c().createElement(_l,{appearance:n.appearance}),keyBinding:"q"},{value:"arrow",text:_("labels.arrowhead_arrow"),icon:c().createElement(Dl,{appearance:n.appearance,flip:!a}),keyBinding:"w"},{value:"bar",text:_("labels.arrowhead_bar"),icon:c().createElement(zl,{appearance:n.appearance,flip:!a}),keyBinding:"e"},{value:"dot",text:_("labels.arrowhead_dot"),icon:c().createElement(jl,{appearance:n.appearance,flip:!a}),keyBinding:"r"}],value:kc(t,n,(function(e){return Ze(e)&&Li(e.type)?e.startArrowhead:n.currentItemStartArrowhead}),n.currentItemStartArrowhead),onChange:function(e){return r({position:"start",type:e})}}),c().createElement(yc,{label:"arrowhead_end",group:"arrowheads",options:[{value:null,text:_("labels.arrowhead_none"),keyBinding:"q",icon:c().createElement(_l,{appearance:n.appearance})},{value:"arrow",text:_("labels.arrowhead_arrow"),keyBinding:"w",icon:c().createElement(Dl,{appearance:n.appearance,flip:a})},{value:"bar",text:_("labels.arrowhead_bar"),keyBinding:"e",icon:c().createElement(zl,{appearance:n.appearance,flip:a})},{value:"dot",text:_("labels.arrowhead_dot"),keyBinding:"r",icon:c().createElement(jl,{appearance:n.appearance,flip:a})}],value:kc(t,n,(function(e){return Ze(e)&&Li(e.type)?e.endArrowhead:n.currentItemEndArrowhead}),n.currentItemEndArrowhead),onChange:function(e){return r({position:"end",type:e})}})))}}),n(2189)),Cc=n.n(Sc),Oc=c().createContext(!1),Mc=function(){return window.matchMedia?window.matchMedia(Cc().isMobileQuery):{matches:!1,addListener:function(){},removeListener:function(){}}},Ic=function(e){var t=e.children,n=(0,l.useRef)();n.current||(n.current=Mc());var r=N((0,l.useState)(n.current.matches),2),a=r[0],o=r[1];return(0,l.useEffect)((function(){var e=function(){return o(n.current.matches)};return n.current.addListener(e),function(){return n.current.removeListener(e)}}),[]),c().createElement(Oc.Provider,{value:a},t)},Tc=function(){return Mc().matches};function Pc(){return(0,l.useContext)(Oc)}function Ac(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 Lc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ac(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ac(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}Nl({name:"changeViewBackgroundColor",perform:function(e,t,n){return{appState:Lc(Lc({},t),{},{viewBackgroundColor:n}),commitToHistory:!0}},PanelComponent:function(e){var t=e.appState,n=e.updateData;return c().createElement("div",{style:{position:"relative"}},c().createElement(gc,{label:_("labels.canvasBackground"),type:"canvasBackground",color:t.viewBackgroundColor,onChange:function(e){return n(e)}}))}}),Nl({name:"clearCanvas",perform:function(e,t){return{elements:e.map((function(e){return Tr(e,{isDeleted:!0})})),appState:Lc(Lc({},Jn()),{},{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(zi,{type:"button",icon:Ui,title:_("buttons.clearReset"),"aria-label":_("buttons.clearReset"),showAriaLabel:Pc(),onClick:function(){window.confirm(_("alerts.clearReset"))&&t(null)}})}}),Nl({name:"zoomIn",perform:function(e,t){var n=Di(ji(t.zoom.value+s.V4),t.zoom,{left:t.offsetLeft,top:t.offsetTop},{x:t.width/2,y:t.height/2});return{appState:Lc(Lc({},t),{},{zoom:n}),commitToHistory:!1}},PanelComponent:function(e){var t=e.updateData;return c().createElement(zi,{type:"button",icon:Xi,title:"".concat(_("buttons.zoomIn")," — ").concat(Rn("CtrlOrCmd++")),"aria-label":_("buttons.zoomIn"),onClick:function(){t(null)}})},keyTest:function(e){return(e.code===Ot||e.code===It)&&(e[Qt]||e.shiftKey)}}),Nl({name:"zoomOut",perform:function(e,t){var n=Di(ji(t.zoom.value-s.V4),t.zoom,{left:t.offsetLeft,top:t.offsetTop},{x:t.width/2,y:t.height/2});return{appState:Lc(Lc({},t),{},{zoom:n}),commitToHistory:!1}},PanelComponent:function(e){var t=e.updateData;return c().createElement(zi,{type:"button",icon:qi,title:"".concat(_("buttons.zoomOut")," — ").concat(Rn("CtrlOrCmd+-")),"aria-label":_("buttons.zoomOut"),onClick:function(){t(null)}})},keyTest:function(e){return(e.code===Mt||e.code===Tt)&&(e[Qt]||e.shiftKey)}}),Nl({name:"resetZoom",perform:function(e,t){return{appState:Lc(Lc({},t),{},{zoom:Di(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(zi,{type:"button",icon:nl,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 _c=function(e,t,n){var r=gi(e),a=Si(r,t),o=n&&a.length>0?vt(a):vt(r),i=function(e,t){var n=N(e,4),r=n[0],a=n[1],o=n[2],i=n[3],l=o-r,c=t.width/l,u=i-a,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)}(o,{width:t.width,height:t.height}),l=Di(i,t.zoom,{left:t.offsetLeft,top:t.offsetTop}),c=N(o,4),u=c[0],d=c[1],p=(u+c[2])/2,f=(d+c[3])/2;return{appState:Lc(Lc(Lc({},t),Oi({scenePoint:{x:p,y:f},viewportDimensions:{width:t.width,height:t.height},zoom:l})),{},{zoom:l}),commitToHistory:!1}};Nl({name:"zoomToSelection",perform:function(e,t){return _c(e,t,!0)},keyTest:function(e){return e.code===Dt&&e.shiftKey&&!e.altKey&&!e[Qt]}}),Nl({name:"zoomToFit",perform:function(e,t){return _c(e,t,!1)},keyTest:function(e){return e.code===_t&&e.shiftKey&&!e.altKey&&!e[Qt]}});function Dc(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 jc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dc(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var zc,Bc,Hc=Nl({name:"finalize",perform:function(e,t,n,r){var a,o,i=r.canvas;if(t.editingLinearElement){var l=t.editingLinearElement,c=l.elementId,s=l.startBindingElement,u=l.endBindingElement,d=wo.getElement(c);if(d)return qe(d)&&ko(d,s,u),{elements:d.points.length<2||Pr(d)?e.filter((function(e){return e.id!==d.id})):void 0,appState:jc(jc({},t),{},{editingLinearElement:null}),commitToHistory:!0}}var p=e;window.document.activeElement instanceof HTMLElement&&window.document.activeElement.blur();var f=t.multiElement?t.multiElement:"draw"===(null===(o=t.editingElement)||void 0===o?void 0:o.type)?t.editingElement:null;if(f){if("draw"!==f.type&&"touch"!==t.lastPointerDownWith){var h=f.points,m=f.lastCommittedPoint;m&&h[h.length-1]===m||Ir(f,{points:f.points.slice(0,-1)})}Pr(f)&&(p=p.slice(0,-1));var g=rt(f.points,t.zoom.value);if(("line"===f.type||"draw"===f.type)&&g){var v=f.points,b=v[0];Ir(f,{points:v.map((function(e,t){return t===v.length-1?[b[0],b[1]]:e}))})}if(qe(f)&&!g&&f.points.length>1){var y=N(wo.getPointAtIndexGlobalCoordinates(f,-1),2),w=y[0],x=y[1];Mo(f,t,Er.getScene(f),{x:w,y:x})}t.elementLocked||"draw"===t.elementType||(t.selectedElementIds[f.id]=!0)}return(t.elementLocked||"draw"===t.elementType)&&f||zn(i),{elements:p,appState:jc(jc({},t),{},{elementType:(t.elementLocked||"draw"===t.elementType)&&f?t.elementType:"selection",draggingElement:null,multiElement:null,editingElement:null,startBoundElement:null,suggestedBindings:[],selectedElementIds:f&&!t.elementLocked&&"draw"!==t.elementType?jc(jc({},t.selectedElementIds),{},(a={},a[f.id]=!0,a)):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(zi,{type:"button",icon:$i,title:_("buttons.done"),"aria-label":_("buttons.done"),onClick:n,visible:null!=t.multiElement})}}),Nc="undefined"!=typeof process&&null!==(zc=process.env)&&void 0!==zc&&zc.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!==(Bc=process.env)&&void 0!==Bc&&Bc.JEST_WORKER_ID,function(e,t,n,r){});n(8518);function Rc(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 a=E(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return x(this,n)}}var Fc=function(e){b(n,e);var t=Rc(n);function n(){var e,r;h(this,n);for(var a=arguments.length,o=new Array(a),i=0;i<a;i++)o[i]=arguments[i];return x(r,(e=r=t.call.apply(t,[this].concat(o)),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),Wc=(n(2680),function(){var e=document.querySelector(".ExcalidrawTooltip");if(e)return e;var t=document.createElement("div");return document.body.appendChild(t),t.classList.add("ExcalidrawTooltip"),t}),Gc=function(e){var t=e.children,n=e.label,r=e.long,a=void 0!==r&&r;return(0,l.useEffect)((function(){return function(){return Wc().classList.remove("is-shown")}}),[]),c().createElement("div",{onPointerEnter:function(e){return function(e,t,n,r){t.classList.add("is-shown"),t.style.width=r?"50ch":"10ch",t.textContent=n;var a=e.getBoundingClientRect(),o=a.x,i=a.bottom,l=a.width,c=t.getBoundingClientRect(),s=c.width,u=c.height,d=window.innerWidth,p=o+l/2-s/2,f=p+s>=d?p+s-d:0,h=window.innerHeight,m=i+3,g=m+u>=h?m+u-h:0;Object.assign(t.style,{top:"".concat(m-g,"px"),left:"".concat(p-f,"px")})}(e.currentTarget,Wc(),n,a)},onPointerLeave:function(){return Wc().classList.remove("is-shown")}},t)},Vc=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?Kc.MOON:Kc.SUN))},Kc={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 Uc="chooseFileSystemEntries"in self?"chooseFileSystemEntries":"showOpenFilePicker"in self&&"showOpenFilePicker";const Yc=Uc?"chooseFileSystemEntries"===Uc?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 Zc(...e){return(await Yc).default(...e)}Uc?"chooseFileSystemEntries"===Uc?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 Xc=Uc?"chooseFileSystemEntries"===Uc?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 qc(...e){return(await Xc).default(...e)}var $c,Qc=function(e,t,n,r,a,o){e.beginPath(),e.moveTo(t+o,n),e.lineTo(t+r-o,n),e.quadraticCurveTo(t+r,n,t+r,n+o),e.lineTo(t+r,n+a-o),e.quadraticCurveTo(t+r,n+a,t+r-o,n+a),e.lineTo(t+o,n+a),e.quadraticCurveTo(t,n+a,t,n+a-o),e.lineTo(t,n+o),e.quadraticCurveTo(t,n,t+o,n),e.closePath(),e.fill(),e.stroke()},Jc=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),a=Et.elementBackground.slice(1),o=Et.elementStroke.slice(1);return{background:a[r%a.length],stroke:o[r%o.length]}};function es(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 ts(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 ts(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function ts(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"}($c||($c={}));var ns=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]}(),rs=function(e,t,n,r,a,o,i,l){var c=arguments.length>8&&void 0!==arguments[8]&&arguments[8];e.translate(o,i),e.rotate(l),c&&e.fillRect(t-o,n-i,r,a),e.strokeRect(t-o,n-i,r,a),e.rotate(-l),e.translate(-o,-i)},as=function(e,t,n,r){e.beginPath(),e.arc(t,n,r,0,2*Math.PI),e.fill(),e.stroke()},os=function(e,t,n,r,a,o){var i=e.strokeStyle;e.strokeStyle="rgba(0,0,0,0.1)",e.beginPath();for(var l=n;l<n+a+2*t;l+=t)e.moveTo(l,r-t),e.lineTo(l,r+o+2*t);for(var c=r;c<r+o+2*t;c+=t)e.moveTo(n-t,c),e.lineTo(n+a+2*t,c);e.stroke(),e.strokeStyle=i},is=function(e,t,n,r){e.translate(n.scrollX,n.scrollY);var a=e.strokeStyle,o=e.lineWidth;e.lineWidth=1/n.zoom.value,wo.getPointsGlobalCoordinates(r).forEach((function(r,a){var o;e.strokeStyle="red",e.setLineDash([]),e.fillStyle=(null===(o=t.editingLinearElement)||void 0===o?void 0:o.activePointIndex)===a?"rgba(255, 127, 127, 0.9)":"rgba(255, 255, 255, 0.9)";var i=wo.POINT_HANDLE_SIZE;as(e,r[0],r[1],i/2/n.zoom.value)})),e.setLineDash([]),e.lineWidth=o,e.translate(-n.scrollX,-n.scrollY),e.strokeStyle=a},ls=function(e,t,n,r,a,o,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(!o)return{atLeastOneVisibleElement:!1};var v=o.getContext("2d");v.scale(r,r);var b=o.width/r,y=o.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&&os(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 fs(e,b,y,{zoom:i.zoom,offsetLeft:t.offsetLeft,offsetTop:t.offsetTop,scrollX:i.scrollX,scrollY:i.scrollY})}));if(C.forEach((function(e){br(e,a,v,h,i)})),t.editingLinearElement){var O=wo.getElement(t.editingLinearElement.elementId);O&&is(v,t,i,O)}if(n&&br(n,a,v,h,i),Eo(t)&&t.suggestedBindings.filter((function(e){return null!=e})).forEach((function(e){us(v,i,e)})),p&&!t.multiElement&&!t.editingLinearElement){var M,I=e.reduce((function(e,n){var r=[];if(t.selectedElementIds[n.id]&&!Nr(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 Jc(r||e,t).background})))),r.length){var a=N(pt(n),4),o=a[0],l=a[1],c=a[2],s=a[3];e.push({angle:n.angle,elementX1:o,elementY1:l,elementX2:c,elementY2:s,selectionColors:r})}return e}),[]),T=function(t){var n=Vr(e,t),r=N(vt(n),4),a=r[0],o=r[1],i=r[2],l=r[3];I.push({angle:0,elementX1:a,elementX2:i,elementY1:o,elementY2:l,selectionColors:[wt.Sn]})},P=es(Fr(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 ss(v,i,e)}));var L=Si(e,t);if(v.translate(i.scrollX,i.scrollY),1===L.length){v.fillStyle=wt.ix;var _=sa(L[0],i.zoom,"mouse");t.viewModeEnabled||cs(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,rs(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=ca([B,H,F,W],0,i.zoom,"mouse",ra);cs(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=Jc(ee||U,t),ne=te.background,re=te.stroke,ae=v.strokeStyle,oe=v.fillStyle,ie=v.globalAlpha;v.strokeStyle=re,v.fillStyle=ne;var le=i.remotePointerUserStates[U];(J||le===$c.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===$c.AWAY?se=ns?"⚫️":" (".concat($c.AWAY,")"):le===$c.IDLE?se=ns?"💤":" (".concat($c.IDLE,")"):le===$c.ACTIVE&&(se=ns?"🟢":"");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=ae,v.fillStyle=oe,v.globalAlpha=ie,v.closePath()}if(u){S=xi(e,b,y,i);var ve=v.fillStyle,be=v.strokeStyle;v.fillStyle=wi,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}},cs=function(e,t,n,r){Object.keys(n).forEach((function(a){var o=n[a];if(void 0!==o){var i=e.lineWidth;e.lineWidth=1/t.zoom.value,"rotation"===a?as(e,o[0]+o[2]/2,o[1]+o[3]/2,o[2]/2):rs(e,o[0],o[1],o[2],o[3],o[0]+o[2]/2,o[1]+o[3]/2,r,!0),e.lineWidth=i}}))},ss=function(e,t,n){var r=n.angle,a=n.elementX1,o=n.elementY1,i=n.elementX2,l=n.elementY2,c=n.selectionColors,s=i-a,u=l-o,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,rs(e,a-m,o-m,s+2*m,u+2*m,a+s/2,o+u/2,r);e.lineDashOffset=f,e.strokeStyle=h,e.lineWidth=p,e.setLineDash(d),e.translate(-t.scrollX,-t.scrollY)},us=function(e,t,n){var r=e.strokeStyle,a=e.lineWidth,o=Array.isArray(n)?ps:ds;e.translate(t.scrollX,t.scrollY),o(e,n),e.strokeStyle=r,e.lineWidth=a,e.translate(-t.scrollX,-t.scrollY)},ds=function(e,t){var n=N(pt(t),4),r=n[0],a=n[1],o=n[2]-r,i=n[3]-a,l=Ra(t,o,i);e.strokeStyle="rgba(0,0,0,.05)",e.lineWidth=l-4;var c=2+l/2;switch(t.type){case"rectangle":case"text":rs(e,r-c,a-c,o+2*c,i+2*c,r+o/2,a+i/2,t.angle);break;case"diamond":var s=Math.hypot(o,i);!function(e,t,n,r,a,o){e.translate(r,a),e.rotate(o),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(-o),e.translate(-r,-a)}(e,o+2*(c*s/i),i+2*(c*s/o),r+o/2,a+i/2,t.angle);break;case"ellipse":!function(e,t,n,r,a,o){e.beginPath(),e.ellipse(r,a,t/2,n/2,o,0,2*Math.PI),e.stroke()}(e,o+2*c,i+2*c,r+o/2,a+i/2,t.angle)}},ps=function(e,t){var n=N(t,3),r=n[0],a=n[1],o=n[2],i=Ra(o,o.width,o.height);e.strokeStyle="rgba(0,0,0,0)",e.fillStyle="rgba(0,0,0,.05)",("both"===a?[0,-1]:"start"===a?[0]:[-1]).forEach((function(t){var n=N(wo.getPointAtIndexGlobalCoordinates(r,t),2),a=n[0],o=n[1];as(e,a,o,i)}))},fs=function(e,t,n,r){var a=N(gt(e),4),o=a[0],i=a[1],l=a[2],c=a[3],s=Fn({clientX:r.offsetLeft,clientY:r.offsetTop},r),u=Fn({clientX:r.offsetLeft+t,clientY:r.offsetTop+n},r);return s.x<=l&&s.y<=c&&u.x>=o&&u.y>=i},hs="\x3c!-- svg-source:excalidraw --\x3e",ms=function(e,t,n){var r=n.exportBackground,a=n.exportPadding,o=void 0===a?10:a,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=vs(e,s),p=ys(d,o,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 ls(d,t,null,x,Ve.canvas(y),y,{viewBackgroundColor:r?i:null,exportWithDarkMode:t.exportWithDarkMode,scrollX:-h+o,scrollY:-m+o,zoom:Jn().zoom,remotePointerViewportCoords:{},remoteSelectedElementIds:{},shouldCacheIgnoreZoom:!1,remotePointerUsernames:{},remotePointerUserStates:{}},{renderScrollbars:!1,renderSelection:!1,renderOptimizations:!1,renderGrid:!1}),y},gs=function(e,t){var n=t.exportBackground,r=t.exportPadding,a=void 0===r?10:r,o=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=vs(e,u),h=N(ys(f,a,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(hs,"\n ").concat(p,'\n <defs>\n <style>\n @font-face {\n font-family: "Virgil";\n src: url("https://excalidraw.com/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&&o){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",o),y.appendChild(w)}return function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=r.offsetX,o=void 0===a?0:a,i=r.offsetY,l=void 0===i?0:i;n&&e.forEach((function(e){e.isDeleted||yr(e,t,n,e.x+o,e.y+l)}))}(f,Ve.svg(y),y,{offsetX:-m+a,offsetY:-g+a}),y},vs=function(e,t){var n=R(e);if(t){var r=N(vt(e),4),a=r[2],o=r[3];n=[].concat(R(n),[bs(a,o)])}return n},bs=function(e,t){return $r({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"})},ys=function(e,t,n){var r=N(vt(e),4),a=r[0],o=r[1],i=r[2],l=r[3];return[a,o,jn(a,i)+2*t,jn(o,l)+t+(n?0:t)]};function ws(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 xs(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 xs(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function xs(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 Es(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 ks(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Es(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Es(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ss=32,Cs=12,Os=256,Ms="NOT_SPREADSHEET",Is="VALID_SPREADSHEET",Ts=function(e){var t=/^[$€£¥₩]?([0-9,]+(\.[0-9]+)?)$/.exec(e);return t?parseFloat(t[1].replace(/,/g,"")):null},Ps=function(e,t){return e.slice(1).every((function(e){return null!==Ts(e[t])}))},As=function(e){var t=e[0].length;if(t>2)return{type:Ms,reason:"More than 2 columns"};if(1===t){if(!Ps(e,0))return{type:Ms,reason:"Value is not numeric"};var n=null===Ts(e[0][0]),r=(n?e.slice(1):e).map((function(e){return Ts(e[0])}));return r.length<2?{type:Ms,reason:"Less than two rows"}:{type:Is,spreadsheet:{title:n?e[0][0]:null,labels:null,values:r}}}var a=Ps(e,0)?0:1;if(!Ps(e,a))return{type:Ms,reason:"Value is not numeric"};var o=(a+1)%2,i=null===Ts(e[0][a]),l=i?e.slice(1):e;return l.length<2?{type:Ms,reason:"Less than 2 rows"}:{type:Is,spreadsheet:{title:i?e[0][a]:null,labels:l.map((function(e){return e[o]})),values:l.map((function(e){return Ts(e[a])}))}}},Ls=Et.elementBackground.slice(2,Et.elementBackground.length),_s={fillStyle:"hachure",fontFamily:s.rk,fontSize:s.n5,opacity:100,roughness:1,strokeColor:Et.elementStroke[0],strokeSharpness:"sharp",strokeStyle:"solid",strokeWidth:1,verticalAlign:"middle"},Ds=function(e){return{chartWidth:44*e.values.length+Cs,chartHeight:280}},js=function(e,t,n,r,a,o){var i=Ds(e),l=i.chartWidth,c=i.chartHeight,u=e.title?$r(ks(ks({backgroundColor:a,groupIds:[r]},_s),{},{text:e.title,x:t+l/2,y:n-Os-24-s.n5,strokeSharpness:"sharp",strokeStyle:"solid",textAlign:"center"})):null,d=o?Xr(ks(ks({backgroundColor:a,groupIds:[r]},_s),{},{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,a){var o;return(null===(o=e.labels)||void 0===o?void 0:o.map((function(e,o){return $r(ks(ks({groupIds:[r],backgroundColor:a},_s),{},{text:e.length>8?"".concat(e.slice(0,5),"..."):e,x:t+44*o+24,y:n+6,width:Ss,angle:5.87,fontSize:16,textAlign:"center",verticalAlign:"top"}))})))||[]}(e,t,n,r,a)),R(function(e,t,n,r,a){var o=$r(ks(ks({groupIds:[r],backgroundColor:a},_s),{},{x:t-Cs,y:n-Cs,text:"0",textAlign:"right"}));return[o,$r(ks(ks({groupIds:[r],backgroundColor:a},_s),{},{x:t-Cs,y:n-Os-o.height/2,text:Math.max.apply(Math,R(e.values)).toLocaleString(),textAlign:"right"}))]}(e,t,n,r,a)),R(function(e,t,n,r,a){var o=Ds(e),i=o.chartWidth,l=o.chartHeight;return[Jr(ks(ks({backgroundColor:a,groupIds:[r]},_s),{},{type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,width:i,points:[[0,0],[i,0]]})),Jr(ks(ks({backgroundColor:a,groupIds:[r]},_s),{},{type:"line",x:t,y:n,startArrowhead:null,endArrowhead:null,height:l,points:[[0,0],[0,-l]]})),Jr(ks(ks({backgroundColor:a,groupIds:[r]},_s),{},{type:"line",x:t,y:n-Os-Cs,startArrowhead:null,endArrowhead:null,strokeStyle:"dotted",width:i,opacity:50,points:[[0,0],[i,0]]}))]}(e,t,n,r,a)))},zs=function(e,t,n,r){return"line"===e?function(e,t,n){var r,a=Math.max.apply(Math,R(e.values)),o=Cr(),i=Ls[Math.floor(Math.random()*Ls.length)],l=0,c=[],u=ws(e.values);try{for(u.s();!(r=u.n()).done;){var d=r.value,p=44*l,f=-d/a*Os;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=Jr(ks(ks({backgroundColor:i,groupIds:[o]},_s),{},{type:"line",x:t+Cs+16,y:n-Cs,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/a*Os+6;return Xr(ks(ks({backgroundColor:i,groupIds:[o]},_s),{},{fillStyle:"solid",strokeWidth:2,type:"ellipse",x:t+l+16,y:n+c-24,width:Cs,height:Cs}))})),w=e.values.map((function(e,r){var l=44*r+6,c=e/a*Os+6+Cs;return Jr(ks(ks({backgroundColor:i,groupIds:[o]},_s),{},{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(js(e,t,n,o,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)),a=Cr(),o=Ls[Math.floor(Math.random()*Ls.length)],i=e.values.map((function(e,i){var l=e/r*Os;return Xr(ks(ks({backgroundColor:o,groupIds:[a]},_s),{},{type:"rectangle",x:t+44*i+Cs,y:n-l-Cs,width:Ss,height:l}))}));return[].concat(R(i),R(js(e,t,n,a,o,"production"===s.Vi.DEVELOPMENT)))}(t,n,r)};function Bs(){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 Hs(e,t,n){return(Hs=Bs()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&v(a,n.prototype),a}).apply(null,arguments)}function Ns(e){var t="function"==typeof Map?new Map:void 0;return(Ns=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 Hs(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 Rs(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 a=E(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return x(this,n)}}var Fs=function(e){b(n,e);var t=Rs(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Couldn't export canvas.",a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"CANVAS_ERROR";return h(this,n),(e=t.call(this)).name=a,e.message=r,e}return n}(Ns(Error));function Ws(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 Gs(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 Gs(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function Gs(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 Vs(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 Ks(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Vs(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Vs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Us=function(e,t){var n,r,a,o,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||Cr(),fillStyle:e.fillStyle||"hachure",strokeWidth:e.strokeWidth||1,strokeStyle:null!==(a=e.strokeStyle)&&void 0!==a?a:"solid",roughness:null!==(o=e.roughness)&&void 0!==o?o: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 Ks(Ks(Ks({},u),Lr(u)),t)},Ys=function(e){var t;switch(e.type){case"text":var n=e.fontSize,r=e.fontFamily;if("font"in e){var a=N(e.font.split(" "),2),o=a[0],i=a[1];n=parseInt(o,10),r=function(e){for(var t=0,n=Object.entries(s.ut);t<n.length;t++){var r=N(n[t],2),a=r[0];if(r[1].includes(e))return parseInt(a)}return s.rk}(i)}return Us(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 Us(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 Us(e,{})}},Zs=function(e){return(e||[]).reduce((function(e,t){if("selection"!==t.type&&!Pr(t)){var n=Ys(t);n&&e.push(n)}return e}),[])},Xs=function(e,t){e=e||{};var n,r=Jn(),a={},o=Ws(Object.entries(r));try{for(o.s();!(n=o.n()).done;){var i=N(n.value,2),l=i[0],c=i[1],s=e[l],u=t?t[l]:void 0;a[l]=void 0!==s?s:void 0!==u?u:c}}catch(e){o.e(e)}finally{o.f()}return Ks(Ks({},a),{},{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0,zoom:"number"==typeof e.zoom?{value:e.zoom,translation:r.zoom.translation}:e.zoom||r.zoom})},qs=function(e,t){return{elements:Zs(null==e?void 0:e.elements),appState:Xs(null==e?void 0:e.appState,t||null)}},$s=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,a,o,i;return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,uu(n);case 2:if((r=t.sent)&&r.library){t.next=5;break}return t.abrupt("return");case 5:return a=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:o=t.sent,i=r.library.reduce((function(e,t){var n=gi(Zs(t));return a(o,n)&&e.push(n),e}),[]),e.saveLibrary([].concat(R(o),R(i)));case 11:case"end":return t.stop()}}),t)}))),function(e){return t.apply(this,arguments)})}]),e}();$s.libraryCache=null,$s.resetLibrary=function(){$s.libraryCache=null,localStorage.removeItem(s.I.LOCAL_STORAGE_LIBRARY)},$s.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(!$s.libraryCache){e.next=2;break}return e.abrupt("return",t(JSON.parse(JSON.stringify($s.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 Zs(e)})),$s.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)}}())},$s.saveLibrary=function(e){var t=$s.libraryCache;try{var n=JSON.stringify(e);$s.libraryCache=JSON.parse(n),localStorage.setItem(s.I.LOCAL_STORAGE_LIBRARY,n)}catch(e){$s.libraryCache=t,console.error(e)}};var Qs=function(e,t){return JSON.stringify({type:"excalidraw",version:2,source:window.location.origin,elements:yi(e),appState:rr(t)},null,2)},Js=function(){var e=(0,f.Z)(p().mark((function e(t,n){var r,a,o;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=Qs(t,n),a=new Blob([r],{type:"application/json"}),e.next=4,qc(a,{fileName:n.name,description:"Excalidraw file",extensions:[".excalidraw"]},n.fileHandle);case 4:return o=e.sent,e.abrupt("return",{fileHandle:o});case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),eu=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,Zc({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",su(n,t));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),tu=function(e){return"excalidraw"===(null==e?void 0:e.type)&&(!e.elements||Array.isArray(e.elements)&&(!e.appState||"object"==typeof e.appState))},nu=function(e){return"object"==typeof e&&e&&"excalidrawlib"===e.type&&1===e.version},ru=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,$s.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,qc(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)}}(),au=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,Zc({description:"Excalidraw library files",extensions:[".json",".excalidrawlib"],mimeTypes:["application/json"]});case 2:t=e.sent,$s.importLibrary(t);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();function ou(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 iu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ou(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ou(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var lu=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)}}(),cu=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":""},su=function(){var e=(0,f.Z)(p().mark((function e(t,n){var r,a,o;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,lu(t);case 2:if(r=e.sent,e.prev=3,a=JSON.parse(r),tu(a)){e.next=7;break}throw new Error(_("alerts.couldNotLoadInvalidFile"));case 7:return o=qs({elements:yi(a.elements||[]),appState:iu(iu({appearance:null==n?void 0:n.appearance,fileHandle:t.handle&&["application/json",s.LO.excalidraw].includes(cu(t))?t.handle:null},rr(a.appState||{})),n?Mi(a.elements||[],n):{})},n),e.abrupt("return",o);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)}}(),uu=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,lu(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)}}(),du=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 Fs(_("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)}}(),pu="excalidraw/elements",fu="",hu=!1,mu="clipboard"in navigator&&"readText"in navigator.clipboard,gu="clipboard"in navigator&&"writeText"in navigator.clipboard,vu="clipboard"in navigator&&"write"in navigator.clipboard&&"ClipboardItem"in window&&"toBlob"in HTMLCanvasElement.prototype,bu=function(){var e=(0,f.Z)(p().mark((function e(t,n){var r,a;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={type:pu,created:Date.now(),elements:Si(t,n)},a=JSON.stringify(r),fu=a,e.prev=3,hu=!1,e.next=7,Su(a);case 7:e.next=13;break;case 9:e.prev=9,e.t0=e.catch(3),hu=!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)}}(),yu=function(){if(!fu)return{};try{return JSON.parse(fu)}catch(e){return console.error(e),{}}},wu=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:Ms,reason:"No values"};var n=t[0].length;if(!t.every((function(e){return e.length===n})))return{type:Ms,reason:"All rows don't have same number of columns"};var r=As(t);if(r.type!==Is){var a=As(function(e){for(var t=[],n=0;n<e[0].length;n++){for(var r=[],a=0;a<e.length;a++)r.push(e[a][n]);t.push(r)}return t}(t));if(a.type===Is)return a}return r}(e);return t.type===Is?{spreadsheet:t.spreadsheet}:null},xu=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=mu,!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)}}(),Eu=function(){var e=(0,f.Z)(p().mark((function e(t){var n,r,a,o;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,xu(t);case 2:if((n=e.sent)&&!n.includes(hs)){e.next=5;break}return e.abrupt("return",yu());case 5:if(!(r=wu(n))){e.next=8;break}return e.abrupt("return",r);case 8:if(a=yu(),e.prev=9,o=JSON.parse(n),(null==(i=o)?void 0:i.type)!==pu||null!=a&&a.created&&!(a.created<o.created)){e.next=13;break}return e.abrupt("return",{elements:o.elements});case 13:return e.abrupt("return",a);case 16:return e.prev=16,e.t0=e.catch(9),e.abrupt("return",hu&&a.elements?a:{text:n});case 19:case"end":return e.stop()}var i}),e,null,[[9,16]])})));return function(t){return e.apply(this,arguments)}}(),ku=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,du(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)}}(),Su=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,!gu){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||Cu(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)}}(),Cu=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 a=!1;try{n.select(),n.setSelectionRange(0,n.value.length),a=document.execCommand("copy")}catch(e){console.error(e)}return n.remove(),a},Ou=function(){var e=(0,f.Z)(p().mark((function e(t,r,a,o,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=gs,e.t1=r,e.t2=l,e.t3=a.exportWithDarkMode,e.t4=u,e.t5=s,e.t6=h,e.t7=m,!a.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:Qs(r,a)});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,qc(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 Su(g.outerHTML),e.abrupt("return");case 33:if((v=ms(r,a,{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,du(v);case 40:if(y=e.sent,!a.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:Qs(r,a)});case 46:y=e.sent;case 47:return e.next=49,qc(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,ku(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!==o&&v.remove();case 63:case"end":return e.stop()}}),e,null,[[52,57]])})));return function(t,n,r,a,o){return e.apply(this,arguments)}}();function Mu(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 Iu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Mu(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Tu,Pu,Au;Nl({name:"changeProjectName",perform:function(e,t,n){return Nc("change","title"),{appState:Iu(Iu({},t),{},{name:n}),commitToHistory:!1}},PanelComponent:function(e){var t=e.appState,n=e.updateData;return c().createElement(Fc,{label:_("labels.fileTitle"),value:t.name||"Unnamed",onChange:function(e){return n(e)}})}}),Nl({name:"changeExportBackground",perform:function(e,t,n){return{appState:Iu(Iu({},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"))}}),Nl({name:"changeExportEmbedScene",perform:function(e,t,n){return{appState:Iu(Iu({},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(Gc,{label:_("labels.exportEmbedScene_details"),long:!0},c().createElement("div",{className:"TooltipIcon"},tl)))}}),Nl({name:"changeShouldAddWatermark",perform:function(e,t,n){return{appState:Iu(Iu({},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"))}}),Nl({name:"saveScene",perform:(Tu=(0,f.Z)(p().mark((function e(t,n,r){var a,o,i;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=!!n.fileHandle,e.prev=1,e.next=4,Js(t,n);case 4:return o=e.sent,i=o.fileHandle,e.abrupt("return",{commitToHistory:!1,appState:Iu(Iu({},n),{},{fileHandle:i,toastMessage:a?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 Tu.apply(this,arguments)}),keyTest:function(e){return e.key===hn&&e[Qt]&&!e.shiftKey},PanelComponent:function(e){var t=e.updateData;return c().createElement(zi,{type:"button",icon:Wi,title:_("buttons.save"),"aria-label":_("buttons.save"),showAriaLabel:Pc(),onClick:function(){return t(null)}})}}),Nl({name:"saveAsScene",perform:(Pu=(0,f.Z)(p().mark((function e(t,n,r){var a,o;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Js(t,Iu(Iu({},n),{},{fileHandle:null}));case 3:return a=e.sent,o=a.fileHandle,e.abrupt("return",{commitToHistory:!1,appState:Iu(Iu({},n),{},{fileHandle:o})});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 Pu.apply(this,arguments)}),keyTest:function(e){return e.key===hn&&e.shiftKey&&e[Qt]},PanelComponent:function(e){var t=e.updateData;return c().createElement(zi,{type:"button",icon:Gi,title:_("buttons.saveAs"),"aria-label":_("buttons.saveAs"),showAriaLabel:Pc(),hidden:!("chooseFileSystemEntries"in window||"showOpenFilePicker"in window),onClick:function(){return t(null)}})}}),Nl({name:"loadScene",perform:(Au=(0,f.Z)(p().mark((function e(t,n){var r,a,o;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,eu(n);case 3:return r=e.sent,a=r.elements,o=r.appState,e.abrupt("return",{elements:a,appState:o,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:Iu(Iu({},n),{},{errorMessage:e.t0.message}),commitToHistory:!1});case 14:case"end":return e.stop()}}),e,null,[[0,9]])}))),function(e,t){return Au.apply(this,arguments)}),keyTest:function(e){return e[Qt]&&e.key===un},PanelComponent:function(e){var t=e.updateData;e.appState;return c().createElement(zi,{type:"button",icon:Vi,title:_("buttons.load"),"aria-label":_("buttons.load"),showAriaLabel:Pc(),onClick:t})}}),Nl({name:"exportWithDarkMode",perform:function(e,t,n){return{appState:Iu(Iu({},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(Vc,{value:t.exportWithDarkMode?"dark":"light",onChange:function(e){n("dark"===e)},title:_("labels.toggleExportColorScheme")}))}});function Lu(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 _u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Lu(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Du="{}",ju=Nl({name:"copyStyles",perform:function(e,t){var n=e.find((function(e){return t.selectedElementIds[e.id]}));return n&&(Du=JSON.stringify(n)),{appState:_u(_u({},t),{},{toastMessage:_("toast.copyStyles")}),commitToHistory:!1}},contextItemLabel:"labels.copyStyles",keyTest:function(e){return e[Qt]&&e.altKey&&e.code===Ht}}),zu=Nl({name:"pasteStyles",perform:function(e,t){var n,r=JSON.parse(Du);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=Tr(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)&&(Ir(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}),si(n)),n}return e})),commitToHistory:!0}},contextItemLabel:"labels.pasteStyles",keyTest:function(e){return e[Qt]&&e.altKey&&e.code===Wt}}),Bu=function(e){return c().createElement("label",{title:"".concat(e.title," — ?"),className:"help-icon"},c().createElement("div",{onClick:e.onClick},tl))};function Hu(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 Nu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Hu(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}Nl({name:"toggleCanvasMenu",perform:function(e,t){return{appState:Nu(Nu({},t),{},{openMenu:"canvas"===t.openMenu?null:"canvas"}),commitToHistory:!1}},PanelComponent:function(e){var t=e.appState,n=e.updateData;return c().createElement(zi,{type:"button",icon:Qi,"aria-label":_("buttons.menu"),onClick:n,selected:"canvas"===t.openMenu})}}),Nl({name:"toggleEditMenu",perform:function(e,t){return{appState:Nu(Nu({},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(zi,{visible:ui(n,gi(t)),type:"button",icon:Yi,"aria-label":_("buttons.edit"),onClick:r,selected:"shape"===n.openMenu})}}),Nl({name:"toggleFullScreen",perform:function(){return Nn()||document.documentElement.requestFullscreen(),Nn()&&document.exitFullscreen(),{commitToHistory:!1}},keyTest:function(e){return e.code===Rt&&!e[Qt]}}),Nl({name:"toggleShortcuts",perform:function(e,t){return{appState:Nu(Nu({},t),{},{showHelpDialog:!t.showHelpDialog}),commitToHistory:!1}},PanelComponent:function(e){var t=e.updateData;return c().createElement(Bu,{title:_("helpDialog.title"),onClick:t})},keyTest:function(e){return e.key===nn}});function Ru(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 Fu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ru(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ru(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Wu(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 Gu(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 Gu(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function Gu(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 Vu=function(e,t){var n=Si(gi(e),t);return n.length>=2&&!function(e){if(e.length>=2){var t,n=Wu(e[0].groupIds);try{var r=function(){var n=t.value;if(e.reduce((function(e,t){return e&&Gr(t,n)}),!0))return{v:!0}};for(n.s();!(t=n.n()).done;){var a=r();if("object"==typeof a)return a.v}}catch(e){n.e(e)}finally{n.f()}}return!1}(n)},Ku=Nl({name:"group",perform:function(e,t){var n=Si(gi(e),t);if(n.length<2)return{appState:t,elements:e,commitToHistory:!1};var r=Fr(t);if(1===r.length){var a=r[0],o=new Set(Vr(e,a).map((function(e){return e.id}))),i=new Set(n.map((function(e){return e.id})));if(new Set([].concat(R(Array.from(o)),R(Array.from(i)))).size===o.size)return{appState:t,elements:e,commitToHistory:!1}}var l=Cr(),c=e.map((function(e){return t.selectedElementIds[e.id]?Tr(e,{groupIds:Kr(e.groupIds,l,t.editingGroupId)}):e})),s=Vr(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!Gr(e,l)})),h=[].concat(R(f),R(s),R(p));return{appState:Hr(l,Fu(Fu({},t),{},{selectedGroupIds:{}}),gi(h)),elements:h,commitToHistory:!0}},contextItemLabel:"labels.group",contextItemPredicate:function(e,t){return Vu(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(zi,{hidden:!Vu(t,n),type:"button",icon:c().createElement(yl,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.group")," — ").concat(Rn("CtrlOrCmd+G")),"aria-label":_("labels.group"),visible:ki(gi(t),n)})}}),Uu=Nl({name:"ungroup",perform:function(e,t){if(0===Fr(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:Tr(e,{groupIds:n})}));return{appState:Wr(Fu(Fu({},t),{},{selectedGroupIds:{}}),gi(n)),elements:n,commitToHistory:!0}},keyTest:function(e){return e.shiftKey&&e[Qt]&&e.code===Nt},contextItemLabel:"labels.ungroup",contextItemPredicate:function(e,t){return Fr(t).length>0},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(zi,{type:"button",hidden:0===Fr(n).length,icon:c().createElement(wl,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.ungroup")," — ").concat(Rn("CtrlOrCmd+Shift+G")),"aria-label":_("labels.ungroup"),visible:ki(gi(t),n)})}}),Yu=(n(566),function(e){var t=e.children,n=e.color,r=e.border,a=e.onClick;return c().createElement("div",{className:"Avatar",style:{background:n,border:"2px solid ".concat(r)},onClick:a},t)});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}Nl({name:"goToCollaborator",perform:function(e,t,n){var r=n;return r?{appState:Xu(Xu(Xu({},t),Oi({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 a=t.collaborators.get(r);if(!a)return null;var o=Jc(r||r,t),i=o.background,l=o.stroke,s=a.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()}(a.username);return c().createElement(Yu,{color:i,border:s?"transparent":l,onClick:function(){return n(a.pointer)}},s?c().createElement("img",{referrerPolicy:"no-referrer",src:s,alt:u}):u)}});var qu=Nl({name:"addToLibrary",perform:function(e,t){var n=Si(gi(e),t);return $s.loadLibrary().then((function(e){$s.saveLibrary([].concat(R(e),[n.map(ea)]))})),!1},contextItemLabel:"labels.addToLibrary"});function $u(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 Qu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$u(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ju=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())},ed=function(e,t,n){var r,a,o,i=n.axis,l=n.position,c=td(e),s=N("x"===i?["minX","maxX"]:["minY","maxY"],2),u=s[0],d=s[1],p={x:0,y:0};return Qu(Qu({},p),{},"start"===l?((r={})[i]=t[u]-c[u],r):"end"===l?((a={})[i]=t[d]-c[d],a):((o={})[i]=(t[u]+t[d])/2-(c[u]+c[d])/2,o))},td=function(e){var t=N(vt(e),4);return{minX:t[0],minY:t[1],maxX:t[2],maxY:t[3]}},nd=function(e,t){return Si(gi(e),t).length>1},rd=function(e,t,n){var r=function(e,t){var n=Ju(e),r=td(e);return n.flatMap((function(e){var n=ed(e,r,t);return e.map((function(e){return Tr(e,{x:e.x+n.x,y:e.y+n.y})}))}))}(Si(gi(e),t),n),a=hi(r);return e.map((function(e){return a[e.id]||e}))};Nl({name:"alignTop",perform:function(e,t){return{appState:t,elements:rd(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(zi,{hidden:!nd(t,n),type:"button",icon:c().createElement(ll,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.alignTop")," — ").concat(Rn("CtrlOrCmd+Shift+Up")),"aria-label":_("labels.alignTop"),visible:ki(gi(t),n)})}}),Nl({name:"alignBottom",perform:function(e,t){return{appState:t,elements:rd(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(zi,{hidden:!nd(t,n),type:"button",icon:c().createElement(cl,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.alignBottom")," — ").concat(Rn("CtrlOrCmd+Shift+Down")),"aria-label":_("labels.alignBottom"),visible:ki(gi(t),n)})}}),Nl({name:"alignLeft",perform:function(e,t){return{appState:t,elements:rd(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(zi,{hidden:!nd(t,n),type:"button",icon:c().createElement(sl,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.alignLeft")," — ").concat(Rn("CtrlOrCmd+Shift+Left")),"aria-label":_("labels.alignLeft"),visible:ki(gi(t),n)})}}),Nl({name:"alignRight",perform:function(e,t){return{appState:t,elements:rd(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(zi,{hidden:!nd(t,n),type:"button",icon:c().createElement(ul,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.alignRight")," — ").concat(Rn("CtrlOrCmd+Shift+Right")),"aria-label":_("labels.alignRight"),visible:ki(gi(t),n)})}}),Nl({name:"alignVerticallyCentered",perform:function(e,t){return{appState:t,elements:rd(e,t,{position:"center",axis:"y"}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(zi,{hidden:!nd(t,n),type:"button",icon:c().createElement(fl,{appearance:n.appearance}),onClick:function(){return r(null)},title:_("labels.centerVertically"),"aria-label":_("labels.centerVertically"),visible:ki(gi(t),n)})}}),Nl({name:"alignHorizontallyCentered",perform:function(e,t){return{appState:t,elements:rd(e,t,{position:"center",axis:"x"}),commitToHistory:!0}},PanelComponent:function(e){var t=e.elements,n=e.appState,r=e.updateData;return c().createElement(zi,{hidden:!nd(t,n),type:"button",icon:c().createElement(hl,{appearance:n.appearance}),onClick:function(){return r(null)},title:_("labels.centerHorizontally"),"aria-label":_("labels.centerHorizontally"),visible:ki(gi(t),n)})}});function ad(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 od(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 od(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function od(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 id=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())},ld=function(e){var t=N(vt(e),4),n=t[0],r=t[1],a=t[2],o=t[3];return{minX:n,minY:r,maxX:a,maxY:o,width:a-n,height:o-r,midX:(n+a)/2,midY:(r+o)/2}},cd=function(e,t){return Si(gi(e),t).length>1},sd=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),a=r[0],o=r[1],i=r[2],l=r[3],c=ld(e),s=id(e).map((function(e){return[e,ld(e)]})).sort((function(e,t){return e[1][o]-t[1][o]})),u=0,d=ad(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][a]===c[a]})),h=s.findIndex((function(e){return e[1][i]===c[i]})),m=(s[h][1][o]-s[f][1][o])/(s.length-1),g=s[f][1][o];return s.flatMap((function(e,n){var r=N(e,2),a=r[0],i=r[1],l={x:0,y:0};return n!==f&&n!==h&&(g+=m,l[t.axis]=g-i[o]),a.map((function(e){return Tr(e,{x:e.x+l.x,y:e.y+l.y})}))}))}var v=c[a];return s.flatMap((function(e){var n=N(e,2),r=n[0],o=n[1],i={x:0,y:0};return i[t.axis]=v-o[a],v+=p,v+=o[l],r.map((function(e){return Tr(e,{x:e.x+i.x,y:e.y+i.y})}))}))}(Si(gi(e),t),n),a=hi(r);return e.map((function(e){return a[e.id]||e}))};Nl({name:"distributeHorizontally",perform:function(e,t){return{appState:t,elements:sd(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(zi,{hidden:!cd(t,n),type:"button",icon:c().createElement(dl,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.distributeHorizontally")," — ").concat(Rn("Alt+H")),"aria-label":_("labels.distributeHorizontally"),visible:ki(gi(t),n)})}}),Nl({name:"distributeVertically",perform:function(e,t){return{appState:t,elements:sd(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(zi,{hidden:!cd(t,n),type:"button",icon:c().createElement(pl,{appearance:n.appearance}),onClick:function(){return r(null)},title:"".concat(_("labels.distributeVertically")," — ").concat(Rn("Alt+V")),"aria-label":_("labels.distributeVertically"),visible:ki(gi(t),n)})}});function ud(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 dd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ud(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ud(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var pd=Nl({name:"copy",perform:function(e,t){return bu(gi(e),t),{commitToHistory:!1}},contextItemLabel:"labels.copy"}),fd=Nl({name:"cut",perform:function(e,t,n,r){return pd.perform(e,t,n,r),Gl.perform(e,t,n,r)},contextItemLabel:"labels.cut",keyTest:function(e){return e[Qt]&&e.code===Gt}}),hd=Nl({name:"copyAsSvg",perform:function(){var e=(0,f.Z)(p().mark((function e(t,n,r,a){var o;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a.canvas){e.next=2;break}return e.abrupt("return",{commitToHistory:!1});case 2:return o=Si(gi(t),n),e.prev=3,e.next=6,Ou("clipboard-svg",o.length?o:gi(t),n,a.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:dd(dd({},n),{},{errorMessage:e.t0.message}),commitToHistory:!1});case 13:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(t,n,r,a){return e.apply(this,arguments)}}(),contextItemLabel:"labels.copyAsSvg"}),md=Nl({name:"copyAsPng",perform:function(){var e=(0,f.Z)(p().mark((function e(t,n,r,a){var o;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a.canvas){e.next=2;break}return e.abrupt("return",{commitToHistory:!1});case 2:return o=Si(gi(t),n),e.prev=3,e.next=6,Ou("clipboard",o.length?o:gi(t),n,a.canvas,n);case 6:return e.abrupt("return",{appState:dd(dd({},n),{},{toastMessage:_("toast.copyToClipboardAsPng",{exportSelection:o.length?_("toast.selection"):_("toast.canvas"),exportColorScheme:n.exportWithDarkMode?_("buttons.darkMode"):_("buttons.lightMode")})}),commitToHistory:!1});case 9:return e.prev=9,e.t0=e.catch(3),console.error(e.t0),e.abrupt("return",{appState:dd(dd({},n),{},{errorMessage:e.t0.message}),commitToHistory:!1});case 13:case"end":return e.stop()}}),e,null,[[3,9]])})));return function(t,n,r,a){return e.apply(this,arguments)}}(),contextItemLabel:"labels.copyAsPng",keyTest:function(e){return e.code===Ht&&e.altKey&&e.shiftKey}});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=Nl({name:"gridMode",perform:function(e,t){return Nc("view","mode","grid"),{appState:vd(vd({},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 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=Nl({name:"zenMode",perform:function(e,t){return Nc("view","mode","zen"),{appState:wd(wd({},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 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=Nl({name:"stats",perform:function(e,t){return{appState:kd(kd({},t),{},{showStats:!this.checked(t)}),commitToHistory:!1}},checked:function(e){return e.showStats},contextItemLabel:"stats.title"});function Cd(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 Od(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cd(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Md=function(e,t,n){var r=!1;if(!(t.multiElement||t.resizingElement||t.editingElement||t.draggingElement)){var a=n();if(null===a)return{commitToHistory:r};var o=hi(e),i=a.elements,l=hi(i),c=e.filter((function(e){return!l.hasOwnProperty(e.id)})),s=i.map((function(e){return Tr(o[e.id]||e,e)})).concat(c.map((function(e){return Tr(e,{isDeleted:!0})})));return Yo(s,c),{elements:s,appState:Od(Od({},t),a.appState),commitToHistory:r,syncHistory:!0}}return{commitToHistory:r}},Id=function(){function e(t,n,r,a){var o=this;h(this,e),this.actions={},this.renderAction=function(e,t){if(o.actions[e]&&"PanelComponent"in o.actions[e]){var n=o.actions[e],r=n.PanelComponent;return c().createElement(r,{elements:o.getElementsIncludingDeleted(),appState:o.getAppState(),updateData:function(e){o.updater(n.perform(o.getElementsIncludingDeleted(),o.getAppState(),e,o.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=a}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}(),Td=function(e){var t=Array.from(e.values());return{x:Ad(t,(function(e){return e.x}))/t.length,y:Ad(t,(function(e){return e.y}))/t.length}},Pd=function(e){var t=N(e,2),n=t[0],r=t[1];return Math.hypot(n.x-r.x,n.y-r.y)},Ad=function(e,t){return e.reduce((function(e,n){return e+t(n)}),0)};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 _d(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 Dd,jd=function(e){return{selectedElementIds:e.selectedElementIds,viewBackgroundColor:e.viewBackgroundColor,editingLinearElement:e.editingLinearElement,editingGroupId:e.editingGroupId,name:e.name}},zd=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:jd(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(_d(_d({},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,ea(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 a=e.elements[r],o=n.elements[r];if(!a||!o||a.id!==o.id||a.versionNonce!==o.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}(),Bd=[{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:on},{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}],Hd=(n(4518),{cut:[Rn("CtrlOrCmd+X")],copy:[Rn("CtrlOrCmd+C")],paste:[Rn("CtrlOrCmd+V")],copyStyles:[Rn("CtrlOrCmd+Alt+C")],pasteStyles:[Rn("CtrlOrCmd+Alt+V")],selectAll:[Rn("CtrlOrCmd+A")],deleteSelectedElements:[Rn("Del")],duplicateSelection:[Rn("CtrlOrCmd+D"),Rn("Alt+".concat(_("helpDialog.drag")))],sendBackward:[Rn("CtrlOrCmd+[")],bringForward:[Rn("CtrlOrCmd+]")],sendToBack:[Rn(St?"CtrlOrCmd+Alt+[":"CtrlOrCmd+Shift+[")],bringToFront:[Rn(St?"CtrlOrCmd+Alt+]":"CtrlOrCmd+Shift+]")],copyAsPng:[Rn("Shift+Alt+C")],copyAsSvg:[],group:[Rn("CtrlOrCmd+G")],ungroup:[Rn("CtrlOrCmd+Shift+G")],gridMode:[Rn("CtrlOrCmd+'")],zenMode:[Rn("Alt+Z")],stats:[],addToLibrary:[],viewMode:[Rn("Alt+R")]}),Nd=function(e){var t,n=e.options,r=e.onCloseRequest,a=e.top,o=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(dc,{onCloseRequest:r,top:a,left:o,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 a,o=e.name,s=e.contextItemLabel?_(e.contextItemLabel):"";return c().createElement("li",{key:t,"data-testid":o,onClick:r},c().createElement("button",{className:Ue("context-menu-option",{dangerous:"deleteSelectedElements"===o,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"},o?(a=Hd[o])&&a.length>0?a[0]:"":"")))})))))},Rd=function(){if(Dd)return Dd;var e=document.createElement("div");return document.body.appendChild(e),Dd=e},Fd=function(){(0,kt.unmountComponentAtNode)(Rd())},Wd=function(e){var t=Array.of();e.options.forEach((function(e){e&&t.push(e)})),t.length&&(0,kt.render)(c().createElement(Nd,{top:e.top,left:e.left,options:t,onCloseRequest:Fd,actionManager:e.actionManager,appState:e.appState}),Rd())};n(1575);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 Kd=function(e){var t=e.children,n=e.gap,r=e.align,a=e.justifyContent,o=e.className,i=e.style;return c().createElement("div",{className:Ue("Stack Stack_horizontal",o),style:Vd({"--gap":n,alignItems:r,justifyContent:a},i)},t)},Ud=function(e){var t=e.children,n=e.gap,r=e.align,a=e.justifyContent,o=e.className;return c().createElement("div",{className:Ue("Stack Stack_vertical",o),style:{"--gap":n,justifyItems:r,justifyContent:a}},t)},Yd=function(e){var t=e.appState,n=e.elements,r=e.renderAction,a=e.elementType,o=Ci(gi(n),t),i=Boolean(t.editingElement),l=Pc(),s="rtl"===document.documentElement.getAttribute("dir"),u=Ii(a)||o.some((function(e){return Ii(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=Ii(a)||o.some((function(e){return Ii(e.type)}));return c().createElement("div",{className:"panelColumn"},r("changeStrokeColor"),d&&r("changeBackgroundColor"),u&&r("changeFillStyle"),(Ti(a)||o.some((function(e){return Ti(e.type)})))&&c().createElement(c().Fragment,null,r("changeStrokeWidth"),r("changeStrokeStyle"),r("changeSloppiness")),(Pi(a)||o.some((function(e){return Pi(e.type)})))&&c().createElement(c().Fragment,null,r("changeSharpness")),(Ai(a)||o.some((function(e){return Ai(e.type)})))&&c().createElement(c().Fragment,null,r("changeFontSize"),r("changeFontFamily"),r("changeTextAlign")),(Li(a)||o.some((function(e){return Li(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"))),o.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")),o.length>2&&r("distributeHorizontally"),c().createElement("div",{className:"iconRow"},r("alignTop"),r("alignVerticallyCentered"),r("alignBottom"),o.length>2&&r("distributeVertically")))),!l&&!i&&o.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"))))},Zd=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"})),Xd=function(e){var t=e.canvas,n=e.elementType,r=e.setAppState,a=e.isLibraryOpen;return c().createElement(c().Fragment,null,Bd.map((function(e,a){var o=e.value,i=e.icon,l=e.key,s=_("toolBar.".concat(o)),u="string"==typeof l?l:l[0],d="".concat(Mn(u)," ").concat(_("helpDialog.or")," ").concat(a+1);return c().createElement(zi,{className:"Shape",key:o,type:"radio",icon:i,checked:n===o,name:"editor-current-shape",title:"".concat(Mn(s)," — ").concat(d),keyBindingLabel:"".concat(a+1),"aria-label":Mn(s),"aria-keyshortcuts":d,"data-testid":o,onChange:function(){r({elementType:o,multiElement:null,selectedElementIds:{}}),Hn(t,o),r({})}})})),c().createElement(zi,{className:"Shape ToolIcon_type_button__library",type:"button",icon:Zd,name:"editor-library",keyBindingLabel:"9","aria-keyshortcuts":"9",title:"".concat(Mn(_("toolBar.library"))," — 9"),"aria-label":Mn(_("toolBar.library")),onClick:function(){r({isLibraryOpen:!a})}}))},qd=function(e){var t=e.renderAction,n=e.zoom;return c().createElement(Ud,{gap:1},c().createElement(Kd,{gap:1,align:"center"},t("zoomIn"),t("zoomOut"),t("resetZoom"),c().createElement("div",{style:{marginInlineStart:4}},(100*n.value).toFixed(0),"%")))},$d=function(e){e.appState,e.setAppState;var t=e.actionManager;return c().createElement("div",{style:{display:"flex"}},t.renderAction("changeViewBackgroundColor"))},Qd=(n(3211),function(e){var t=e.isCollaborating,n=(e.collaboratorCount,e.onClick);return c().createElement(c().Fragment,null,c().createElement(zi,{className:Ue("CollabButton",{"is-collaborating":t}),onClick:n,icon:ml,type:"button",title:_("labels.liveCollaboration"),"aria-label":_("labels.liveCollaboration"),showAriaLabel:Pc()}))});n(3040),n(7428);function Jd(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 ep(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Jd(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Jd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var tp=c().forwardRef((function(e,t){var n=e.children,r=e.padding,a=e.className,o=e.style;return c().createElement("div",{className:Ue("Island",a),style:ep({"--padding":r},o),ref:t},n)})),np=(n(205),function(e){var t=rp();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)}),rp=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},ap=function(e){var t,n,r,a=(t=N((0,l.useState)(null),2),n=t[0],r=t[1],[n,(0,l.useCallback)((function(e){return r(e)}),[])]),o=N(a,2),i=o[0],s=o[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===an){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(np,{className:Ue("Dialog",e.className),labelledBy:"dialog-title",maxWidth:e.small?550:800,onCloseRequest:e.onCloseRequest},c().createElement(tp,{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")},Pc()?vl:gl)),c().createElement("div",{className:"Dialog__content"},e.children)))},op=function(e){var t=e.message,n=e.onClose,r=N((0,l.useState)(!!t),2),a=r[0],o=r[1],i=c().useCallback((function(){o(!1),n&&n()}),[n]);return c().createElement(c().Fragment,null,a&&c().createElement(ap,{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))})))))},ip=(n(8623),[1,2,3]),lp=ip.includes(devicePixelRatio)?devicePixelRatio:1,cp="filter"in document.createElement("canvas").getContext("2d"),sp=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"),")"))},up=function(e,t){(0,kt.unmountComponentAtNode)(t),t.innerHTML="",e instanceof HTMLCanvasElement?t.appendChild(e):(0,kt.render)(c().createElement(sp,null),t)},dp=function(e){var t=e.elements,n=e.appState,r=e.exportPadding,a=void 0===r?10:r,o=e.actionManager,i=e.onExportToPng,s=e.onExportToSvg,u=e.onExportToClipboard,d=e.onExportToBackend,p=ki(t,n),f=N((0,l.useState)(lp),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?Si(t,n):t;return(0,l.useEffect)((function(){b(p)}),[p]),(0,l.useEffect)((function(){var e=y.current;if(e)try{var t=ms(k,n,{exportBackground:w,viewBackgroundColor:x,exportPadding:a,scale:h,shouldAddWatermark:E});du(t).then((function(){up(t,e)})).catch((function(t){console.error(t),up(new Fs,e)}))}catch(t){console.error(t),up(new Fs,e)}}),[n,k,w,a,x,h,E]),c().createElement("div",{className:"ExportDialog"},c().createElement("div",{className:"ExportDialog__preview",ref:y}),cp&&o.renderAction("exportWithDarkMode"),c().createElement(Ud,{gap:2,align:"center"},c().createElement("div",{className:"ExportDialog__actions"},c().createElement(Kd,{gap:2},c().createElement(zi,{type:"button",label:"PNG",title:_("buttons.exportToPng"),"aria-label":_("buttons.exportToPng"),onClick:function(){return i(k,h)}}),c().createElement(zi,{type:"button",label:"SVG",title:_("buttons.exportToSvg"),"aria-label":_("buttons.exportToSvg"),onClick:function(){return s(k,h)}}),vu&&c().createElement(zi,{type:"button",icon:Ki,title:_("buttons.copyPngToClipboard"),"aria-label":_("buttons.copyPngToClipboard"),onClick:function(){return u(k,h)}}),d&&c().createElement(zi,{type:"button",icon:Fi,title:_("buttons.getShareableLink"),"aria-label":_("buttons.getShareableLink"),onClick:function(){return d(k)}}),n.fileHandle&&o.renderAction("saveScene"),o.renderAction("saveAsScene")),c().createElement(Kd,{gap:2},ip.map((function(e){var t=function(e,t,n,r){var a=vs(e,n),o=N(ys(a,t,n).map((function(e){return Math.trunc(e*r)})),4);return[o[2],o[3]]}(k,a,E,e),n=N(t,2),r=n[0],o=n[1],i="".concat(_("buttons.scale")," ").concat(e,"x (").concat(r,"x").concat(o,")");return c().createElement(zi,{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)}})})))),o.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"))),o.renderAction("changeExportEmbedScene"),o.renderAction("changeShouldAddWatermark")))},pp=function(e){var t=e.elements,n=e.appState,r=e.exportPadding,a=void 0===r?10:r,o=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(zi,{onClick:function(){h(!0)},icon:Zi,type:"button","aria-label":_("buttons.export"),showAriaLabel:Pc(),title:_("buttons.export"),ref:m}),f&&c().createElement(ap,{onCloseRequest:g,title:_("buttons.export")},c().createElement(dp,{elements:t,appState:n,exportPadding:a,actionManager:o,onExportToPng:i,onExportToSvg:s,onExportToClipboard:u,onExportToBackend:d,onCloseRequest:g})))},fp=(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)}),hp=(n(9705),function(e){var t=function(e){var t=e.appState,n=e.elements,r=t.elementType,a=t.isResizing,o=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=Si(n,t);if(a&&"mouse"===i&&1===c.length){var s=c[0];return Ze(s)&&2===s.points.length?_("hints.lockAngle"):_("hints.resize")}return o&&"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=Rn(t),c().createElement("div",{className:"HintViewer"},c().createElement("span",null,t))):null});n(8465),n(8680);function mp(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 gp(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 gp(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function gp(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 vp=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"})),bp=function(e){var t=e.elements,n=e.pendingElements,r=e.onRemoveFromLibrary,a=e.onClick,o=(0,l.useRef)(null);(0,l.useEffect)((function(){var e=t||n;if(e){var r,a=gs(e,{exportBackground:!1,viewBackgroundColor:wt.ix,shouldAddWatermark:!1}),i=mp(o.current.children);try{for(i.s();!(r=i.n()).done;){var l=r.value;"svg"===l.tagName&&o.current.removeChild(l)}}catch(e){i.e(e)}finally{i.f()}o.current.appendChild(a);var c=o.current;return function(){c.removeChild(a)}}}),[t,n]);var i=N((0,l.useState)(!1),2),u=i[0],d=i[1],p=Pc(),f=(u||p)&&n&&c().createElement("div",{className:"library-unit__adder"},vp);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:o,draggable:!!t,onClick:t||n?a: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},gl))},yp={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"}))},wp=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?yp.CHECKED:yp.UNCHECKED))},xp=function(e){var t=e.heading,n=e.children,r=_r(e,["heading","children"]),a=c().createElement("h2",{className:"visually-hidden",id:"".concat(t,"-title")},_("headings.".concat(t)));return c().createElement("section",vc({},r,{"aria-labelledby":"".concat(t,"-title")}),"function"==typeof n?n(a):c().createElement(c().Fragment,null,a,n))},Ep=(n(3142),c().memo((function(e){var t,n=e.className,r=e.mobile,a=e.collaborators,o=void 0===a?new Map:a,i=e.layout,l=e.actionManager,s="vertical"===i?6:3,u=o.size>s?-2*Math.min(o.size-s,15):4;return c().createElement("div",{className:Ue("UserList layout-".concat(i),n,{UserList_mobile:r}),style:(t={},t["--itemOffset"]="".concat(u,"px"),t)},o.size>0&&Array.from(o).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],a=t[1];return r?l.renderAction("goToCollaborator",n):c().createElement(Gc,{label:a.username||"Unknown user",key:n},l.renderAction("goToCollaborator",n))})))})));function kp(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 Sp=function(e){var t=e.appState,n=e.elements,r=e.libraryMenu,a=e.actionManager,o=e.exportButton,i=e.setAppState,l=e.onCollabButtonClick,s=e.onLockToggle,u=e.canvas,d=e.isCollaborating,p=e.renderCustomFooter,f=e.onHomeButtonClick,h=e.viewModeEnabled;return c().createElement(c().Fragment,null,!h&&c().createElement(fp,{side:"top",className:"App-top-bar"},c().createElement(xp,{heading:"shapes"},(function(e){return c().createElement(Ud,{gap:4,align:"center"},c().createElement(Kd,{gap:1},c().createElement(tp,{padding:1},e,c().createElement(Kd,{gap:1},c().createElement(Xd,{canvas:u,elementType:t.elementType,setAppState:i,isLibraryOpen:t.isLibraryOpen}))),c().createElement(zi,{key:"home",type:"button",className:"HomeButton ToolIcon_type_floating",title:"Home","aria-label":"Home",icon:Bl,onClick:f}),c().createElement(wp,{checked:t.elementLocked,onChange:s,title:_("toolBar.lock")})),r)})),c().createElement(hp,{appState:t,elements:n})),c().createElement("div",{className:"App-bottom-bar",style:{marginBottom:14,marginLeft:14,marginRight:14}},c().createElement(tp,{padding:0},"canvas"===t.openMenu?c().createElement(xp,{className:"App-mobile-menu",heading:"canvasActions"},c().createElement("div",{className:"panelColumn"},c().createElement(Ud,{gap:4},h?c().createElement(c().Fragment,null,o):c().createElement(c().Fragment,null,a.renderAction("loadScene"),o,l&&c().createElement(Qd,{isCollaborating:d,collaboratorCount:t.collaborators.size,onClick:l}),c().createElement($d,{actionManager:a,appState:t,setAppState:i})),null==p?void 0:p(!0),t.collaborators.size>0&&c().createElement("fieldset",null,c().createElement("legend",null,_("labels.collaborators")),c().createElement(Ep,{mobile:!0,layout:"horizontal",collaborators:t.collaborators,actionManager:a}))))):"shape"===t.openMenu&&!h&&ui(t,n)?c().createElement(xp,{className:"App-mobile-menu",heading:"selectedShapeActions"},c().createElement(Yd,{appState:t,elements:n,renderAction:a.renderAction,elementType:t.elementType})):null,c().createElement("footer",{className:"App-toolbar"},h?c().createElement("div",{className:"App-toolbar-content"},a.renderAction("toggleCanvasMenu")):c().createElement("div",{className:"App-toolbar-content"},a.renderAction("toggleCanvasMenu"),a.renderAction("toggleEditMenu"),a.renderAction("undo"),a.renderAction("redo"),a.renderAction(t.multiElement?"finalize":"duplicateSelection"),a.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?kp(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},Mi(n,t)))}},_("buttons.scrollBackToContent"))))))},Cp=(n(8416),function(e){var t=(0,l.useRef)(null),n=N((0,l.useState)(null),2),r=n[0],a=n[1];return(0,l.useLayoutEffect)((function(){if(e.spreadsheet){var n=zs(e.chartType,e.spreadsheet,0,0);a(n);var r=gs(n,{exportBackground:!1,viewBackgroundColor:wt.ix,shouldAddWatermark:!1}),o=t.current;return o.appendChild(r),e.selected&&o.parentNode.focus(),function(){o.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}))}),Op=function(e){var t=e.setAppState,n=e.appState,r=e.onClose,a=e.onInsertChart,o=c().useCallback((function(){r&&r()}),[r]),i=function(e,n){a(n),Nc("magic","chart",e),t({currentChartType:e,pasteDialog:{shown:!1,data:null}})};return c().createElement(ap,{small:!0,onCloseRequest:o,title:_("labels.pasteCharts"),className:"PasteChartDialog",autofocus:!1},c().createElement("div",{className:"container"},c().createElement(Cp,{chartType:"bar",spreadsheet:n.pasteDialog.data,selected:"bar"===n.currentChartType,onClick:i}),c().createElement(Cp,{chartType:"line",spreadsheet:n.pasteDialog.data,selected:"line"===n.currentChartType,onClick:i})))},Mp=(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")))}),Ip=function(e){return c().createElement(c().Fragment,null,c().createElement("h3",null,e.title),e.children)},Tp=function(e){return c().createElement("div",{style:{display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"space-between"}},e.children)},Pp=function(e){return c().createElement("div",{style:{width:"49%"}},e.children)},Ap=function(e){return c().createElement("div",{className:"HelpDialog--island"},c().createElement("h3",{className:"HelpDialog--island-title"},e.caption),e.children)},Lp=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(_p,null,t),e.isOr&&n!==e.shortcuts.length-1&&_("helpDialog.or"))})))))};Lp.defaultProps={isOr:!0};var _p=function(e){return c().createElement("kbd",vc({className:"HelpDialog--key"},e))},Dp=function(e){var t=e.onClose,n=c().useCallback((function(){t&&t()}),[t]);return c().createElement(c().Fragment,null,c().createElement(ap,{onCloseRequest:n,title:_("helpDialog.title"),className:"HelpDialog"},c().createElement(Mp,null),c().createElement(Ip,{title:_("helpDialog.shortcuts")},c().createElement(Tp,null,c().createElement(Pp,null,c().createElement(Ap,{caption:_("helpDialog.shapes")},c().createElement(Lp,{label:_("toolBar.selection"),shortcuts:["V","1"]}),c().createElement(Lp,{label:_("toolBar.rectangle"),shortcuts:["R","2"]}),c().createElement(Lp,{label:_("toolBar.diamond"),shortcuts:["D","3"]}),c().createElement(Lp,{label:_("toolBar.ellipse"),shortcuts:["E","4"]}),c().createElement(Lp,{label:_("toolBar.arrow"),shortcuts:["A","5"]}),c().createElement(Lp,{label:_("toolBar.line"),shortcuts:["P","6"]}),c().createElement(Lp,{label:_("toolBar.draw"),shortcuts:["Shift+P","7"]}),c().createElement(Lp,{label:_("toolBar.text"),shortcuts:["T","8"]}),c().createElement(Lp,{label:_("helpDialog.textNewLine"),shortcuts:[Rn("Enter"),Rn("Shift+Enter")]}),c().createElement(Lp,{label:_("helpDialog.textFinish"),shortcuts:[Rn("Esc"),Rn("CtrlOrCmd+Enter")]}),c().createElement(Lp,{label:_("helpDialog.curvedArrow"),shortcuts:["A",_("helpDialog.click"),_("helpDialog.click"),_("helpDialog.click")],isOr:!1}),c().createElement(Lp,{label:_("helpDialog.curvedLine"),shortcuts:["L",_("helpDialog.click"),_("helpDialog.click"),_("helpDialog.click")],isOr:!1}),c().createElement(Lp,{label:_("toolBar.lock"),shortcuts:["Q"]}),c().createElement(Lp,{label:_("helpDialog.preventBinding"),shortcuts:[Rn("CtrlOrCmd")]})),c().createElement(Ap,{caption:_("helpDialog.view")},c().createElement(Lp,{label:_("buttons.zoomIn"),shortcuts:[Rn("CtrlOrCmd++")]}),c().createElement(Lp,{label:_("buttons.zoomOut"),shortcuts:[Rn("CtrlOrCmd+-")]}),c().createElement(Lp,{label:_("buttons.resetZoom"),shortcuts:[Rn("CtrlOrCmd+0")]}),c().createElement(Lp,{label:_("helpDialog.zoomToFit"),shortcuts:["Shift+1"]}),c().createElement(Lp,{label:_("helpDialog.zoomToSelection"),shortcuts:["Shift+2"]}),c().createElement(Lp,{label:_("buttons.fullScreen"),shortcuts:["F"]}),c().createElement(Lp,{label:_("buttons.zenMode"),shortcuts:[Rn("Alt+Z")]}),c().createElement(Lp,{label:_("labels.showGrid"),shortcuts:[Rn("CtrlOrCmd+'")]}),c().createElement(Lp,{label:_("labels.viewMode"),shortcuts:[Rn("Alt+R")]}))),c().createElement(Pp,null,c().createElement(Ap,{caption:_("helpDialog.editor")},c().createElement(Lp,{label:_("labels.selectAll"),shortcuts:[Rn("CtrlOrCmd+A")]}),c().createElement(Lp,{label:_("labels.multiSelect"),shortcuts:[Rn("Shift+".concat(_("helpDialog.click")))]}),c().createElement(Lp,{label:_("labels.moveCanvas"),shortcuts:[Rn("Space+".concat(_("helpDialog.drag"))),Rn("Wheel+".concat(_("helpDialog.drag")))],isOr:!0}),c().createElement(Lp,{label:_("labels.cut"),shortcuts:[Rn("CtrlOrCmd+X")]}),c().createElement(Lp,{label:_("labels.copy"),shortcuts:[Rn("CtrlOrCmd+C")]}),c().createElement(Lp,{label:_("labels.paste"),shortcuts:[Rn("CtrlOrCmd+V")]}),c().createElement(Lp,{label:_("labels.copyAsPng"),shortcuts:[Rn("Shift+Alt+C")]}),c().createElement(Lp,{label:_("labels.copyStyles"),shortcuts:[Rn("CtrlOrCmd+Alt+C")]}),c().createElement(Lp,{label:_("labels.pasteStyles"),shortcuts:[Rn("CtrlOrCmd+Alt+V")]}),c().createElement(Lp,{label:_("labels.delete"),shortcuts:[Rn("Del")]}),c().createElement(Lp,{label:_("labels.sendToBack"),shortcuts:[Rn(St?"CtrlOrCmd+Alt+[":"CtrlOrCmd+Shift+[")]}),c().createElement(Lp,{label:_("labels.bringToFront"),shortcuts:[Rn(St?"CtrlOrCmd+Alt+]":"CtrlOrCmd+Shift+]")]}),c().createElement(Lp,{label:_("labels.sendBackward"),shortcuts:[Rn("CtrlOrCmd+[")]}),c().createElement(Lp,{label:_("labels.bringForward"),shortcuts:[Rn("CtrlOrCmd+]")]}),c().createElement(Lp,{label:_("labels.alignTop"),shortcuts:[Rn("CtrlOrCmd+Shift+Up")]}),c().createElement(Lp,{label:_("labels.alignBottom"),shortcuts:[Rn("CtrlOrCmd+Shift+Down")]}),c().createElement(Lp,{label:_("labels.alignLeft"),shortcuts:[Rn("CtrlOrCmd+Shift+Left")]}),c().createElement(Lp,{label:_("labels.alignRight"),shortcuts:[Rn("CtrlOrCmd+Shift+Right")]}),c().createElement(Lp,{label:_("labels.duplicateSelection"),shortcuts:[Rn("CtrlOrCmd+D"),Rn("Alt+".concat(_("helpDialog.drag")))]}),c().createElement(Lp,{label:_("buttons.undo"),shortcuts:[Rn("CtrlOrCmd+Z")]}),c().createElement(Lp,{label:_("buttons.redo"),shortcuts:Ct?[Rn("CtrlOrCmd+Y"),Rn("CtrlOrCmd+Shift+Z")]:[Rn("CtrlOrCmd+Shift+Z")]}),c().createElement(Lp,{label:_("labels.group"),shortcuts:[Rn("CtrlOrCmd+G")]}),c().createElement(Lp,{label:_("labels.ungroup"),shortcuts:[Rn("CtrlOrCmd+Shift+G")]})))))))};function jp(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 zp=function(e){var t=e.library,n=e.onRemoveFromLibrary,r=e.onAddToLibrary,a=e.onInsertShape,o=e.pendingElements,i=e.setAppState,l=e.setLibraryItems,s=Pc(),u=t.length+(o.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(zi,{key:"import",type:"button",title:_("buttons.load"),"aria-label":_("buttons.load"),icon:Vi,onClick:function(){au().then((function(){i({isLibraryOpen:!1})})).catch(Yn).catch((function(e){i({errorMessage:e.message})}))}}),t.length>0&&c().createElement(c().Fragment,null,c().createElement(zi,{key:"export",type:"button",title:_("buttons.export"),"aria-label":_("buttons.export"),icon:Zi,onClick:function(){ru().catch(Yn).catch((function(e){i({errorMessage:e.message})}))}}),c().createElement(zi,{key:"reset",type:"button",title:_("buttons.resetLibrary"),"aria-label":_("buttons.resetLibrary"),icon:Ui,onClick:function(){window.confirm(_("alerts.resetLibrary"))&&($s.resetLibrary(),l([]))}}))));for(var m=0;m<p;m++){for(var g=d*m,v=[],b=0;b<d;b++){var y=o.length>0&&!h&&g+b>=t.length;h=h||y,v.push(c().createElement(Ud,{key:b},c().createElement(bp,{elements:t[g+b],pendingElements:y?o:void 0,onRemoveFromLibrary:n.bind(null,g+b),onClick:y?r.bind(null,o):a.bind(null,t[g+b])})))}f.push(c().createElement(Kd,{align:"center",gap:1,key:m},v))}return c().createElement(Ud,{align:"start",gap:1,className:"layer-ui__library-items"},f)},Bp=function(e){var t=e.onClickOutside,n=e.onInsertShape,r=e.pendingElements,a=e.onAddToLibrary,o=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)})),$s.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,$s.loadLibrary();case 2:n=e.sent,r=n.filter((function(e,n){return n!==t})),$s.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,$s.loadLibrary();case 2:n=e.sent,r=[].concat(R(n),[t]),a(),$s.saveLibrary(r),d(r);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[a]);return"preloading"===m?null:c().createElement(tp,{padding:1,ref:i,className:"layer-ui__library"},"loading"===m?c().createElement("div",{className:"layer-ui__library-message"},_("labels.libraryLoadingMessage")):c().createElement(zp,{library:u,onRemoveFromLibrary:b,onAddToLibrary:y,onInsertShape:n,pendingElements:r,setAppState:o,setLibraryItems:d}))},Hp=function(e){var t,n=e.actionManager,r=e.appState,a=e.setAppState,o=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=Pc(),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(!o){t.next=3;break}return t.next=3,Ou(e,n,r,o,{exportBackground:r.exportBackground,name:r.name,viewBackgroundColor:r.viewBackgroundColor,scale:i,shouldAddWatermark:r.shouldAddWatermark}).catch(Yn).catch((function(e){console.error(e),a({errorMessage:e.message})}));case 3:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}()};return c().createElement(pp,{elements:i,appState:r,actionManager:n,onExportToPng:e("png"),onExportToSvg:e("svg"),onExportToClipboard:e("clipboard"),onExportToBackend:y?function(e){y&&y(e,r,o)}:void 0})},O=(0,l.useCallback)((function(e){a({isLibraryOpen:!1})}),[a]),M=(0,l.useCallback)((function(){a({selectedElementIds:{},selectedGroupIds:{}})}),[a]),I=r.isLibraryOpen?c().createElement(Bp,{pendingElements:Si(i,r),onClickOutside:O,onInsertShape:h,onAddToLibrary:M,setAppState:a}):null,T=c().createElement(c().Fragment,null,r.isLoading&&c().createElement(D,null),r.errorMessage&&c().createElement(op,{message:r.errorMessage,onClose:function(){return a({errorMessage:null})}}),r.showHelpDialog&&c().createElement(Dp,{onClose:function(){return a({showHelpDialog:!1})}}),r.pasteDialog.shown&&c().createElement(Op,{setAppState:a,appState:r,onInsertChart:h,onClose:function(){return a({pasteDialog:{shown:!1,data:null}})}}));return S?c().createElement(c().Fragment,null,T,c().createElement(Sp,{appState:r,elements:i,actionManager:n,libraryMenu:I,exportButton:C(),setAppState:a,onCollabButtonClick:u,onLockToggle:d,canvas:o,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=ui(r,i),c().createElement(fp,{side:"top"},c().createElement("div",{className:"App-menu App-menu_top"},c().createElement(Ud,{gap:4,className:Ue({"disable-pointerEvents":m})},E?c().createElement(xp,{heading:"canvasActions",className:Ue("zen-mode-transition",{"transition-left":m})},c().createElement(tp,{padding:2,style:{zIndex:1}},c().createElement(Ud,{gap:4},c().createElement(Kd,{gap:1,justifyContent:"space-between"},C())))):c().createElement(xp,{heading:"canvasActions",className:Ue("zen-mode-transition",{"transition-left":m})},c().createElement(tp,{padding:2,style:{zIndex:1}},c().createElement(Ud,{gap:4},c().createElement(Kd,{gap:3,justifyContent:"space-between"},n.renderAction("loadScene"),C(),u&&c().createElement(Qd,{isCollaborating:b,collaboratorCount:r.collaborators.size,onClick:u})),c().createElement($d,{actionManager:n,appState:r,setAppState:a})))),t&&c().createElement(xp,{heading:"selectedShapeActions",className:Ue("zen-mode-transition",{"transition-left":m})},c().createElement(tp,{className:s.$C.SHAPE_ACTIONS_MENU,padding:2,style:{maxHeight:"".concat(r.height-200,"px")}},c().createElement(Yd,{appState:r,elements:i,renderAction:n.renderAction,elementType:r.elementType})))),!E&&c().createElement(xp,{heading:"shapes"},(function(e){return c().createElement(Ud,{gap:4,align:"start"},c().createElement(Kd,{gap:1},c().createElement(tp,{padding:1,className:Ue({"zen-mode":m})},c().createElement(hp,{appState:r,elements:i}),e,c().createElement(Kd,{gap:1},c().createElement(Xd,{canvas:o,elementType:r.elementType,setAppState:a,isLibraryOpen:r.isLibraryOpen}))),c().createElement(wp,{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(Ep,{className:Ue("zen-mode-transition",{"transition-right":m}),layout:"vertical",collaborators:r.collaborators,actionManager:n})))),c().createElement("div",{className:Ue("App-menu App-menu_bottom zen-mode-transition",{"App-menu_bottom--transition-left":m})},c().createElement(Ud,{gap:2},c().createElement(xp,{heading:"canvasActions"},c().createElement(tp,{padding:1},c().createElement(qd,{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(){a(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jp(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},Mi(i,r)))}},_("buttons.scrollBackToContent")))},Np=function(e,t){var n=function(e){e.suggestedBindings,e.startBoundElement;return _r(e,["suggestedBindings","startBoundElement"])},r=n(e.appState),a=n(t.appState),o=Object.keys(r);return e.renderCustomFooter===t.renderCustomFooter&&e.renderTopRight===t.renderTopRight&&e.langCode===t.langCode&&e.elements===t.elements&&o.every((function(e){return r[e]===a[e]}))},Rp=c().memo(Hp,Np);var Fp="excalidraw",Wp="excalidraw-state",Gp="excalidraw-collab",Vp=function(){try{var e=localStorage.getItem(Fp);return e?JSON.stringify(e).length:0}catch(e){return console.error(e),0}},Kp=function(){try{var e=localStorage.getItem(Wp),t=localStorage.getItem(Gp),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)+Vp()}catch(e){return console.error(e),0}},Up=(n(7287),Ln((function(e){e({scene:Vp(),total:Kp()})}),500)),Yp=function(e){var t=Pc(),n=N((0,l.useState)({scene:0,total:0}),2),r=n[0],a=n[1];(0,l.useEffect)((function(){Up((function(e){a(e)}))})),(0,l.useEffect)((function(){return function(){return Up.cancel()}}),[]);var o=vt(e.elements),i=Ci(e.elements,e.appState),u=vt(i);if(t&&e.appState.openMenu)return null;var d,h,m=qn();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(tp,{padding:2},c().createElement("div",{className:"close",onClick:e.onClose},gl),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(o[2])-Math.round(o[0]))),c().createElement("tr",null,c().createElement("td",null,_("stats.height")),c().createElement("td",null,Math.round(o[3])-Math.round(o[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,Xn(r.scene,1))),c().createElement("tr",null,c().createElement("td",null,_("stats.total")),c().createElement("td",null,Xn(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,Su(qn());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))))))},Zp=(n(5849),function(e){var t=e.message,n=e.clearToast,r=(0,l.useRef)(0),a=(0,l.useCallback)((function(){return r.current=window.setTimeout((function(){return n()}),s.Lg)}),[n]);return(0,l.useEffect)((function(){return a(),function(){return clearTimeout(r.current)}}),[a,t]),c().createElement("div",{className:"Toast",onMouseEnter:function(){return clearTimeout(null==r?void 0:r.current)},onMouseLeave:a},c().createElement("p",{className:"Toast__message"},t))});function Xp(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?Xp(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var $p=Nl({name:"viewMode",perform:function(e,t){return Nc("view","mode","view"),{appState:qp(qp({},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 Qp(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 Jp(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 Jp(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}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 o,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw o}}}}function Jp(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 ef(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 tf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ef(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ef(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function nf(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 a=E(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return x(this,n)}}var rf={history:new zd}.history,af=!1,of=0,lf=0,cf=0,sf=!1,uf=!1,df=!1,pf={horizontal:null,vertical:null},ff=0,hf=!1,mf=null,gf={pointers:new Map,lastCenter:null,initialDistance:null,initialScale:null},vf=function(e){b(a,e);var t,n,r=nf(a);function a(e){var t;h(this,a),t=r.call(this,e),bf.call(w(t));var n,o,i,l,u=Jn(),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=tf(tf(tf({},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,o=t}))).resolve=n,i.reject=o,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 Er,t.actionManager=new Id(t.syncActionResult,(function(){return t.state}),(function(){return t.scene.getElementsIncludingDeleted()}),w(t)),t.actionManager.registerAll(Hl),t.actionManager.registerAction((l=rf,{name:"undo",perform:function(e,t){return Md(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(zi,{type:"button",icon:Ji,"aria-label":_("buttons.undo"),onClick:t})},commitToHistory:function(){return!1}})),t.actionManager.registerAction(function(e){return{name:"redo",perform:function(t,n){return Md(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(zi,{type:"button",icon:el,"aria-label":_("buttons.redo"),onClick:t})},commitToHistory:function(){return!1}}}(rf)),t}return g(a,[{key:"renderCanvas",value:function(){var e=window.devicePixelRatio,t=this.state,n=t.width,r=t.height,a=n*e,o=r*e;return t.viewModeEnabled?c().createElement("canvas",{id:"canvas",style:{width:n,height:r,cursor:"grabbing"},width:a,height:o,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:a,height:o,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,a=n.height,o=n.viewModeEnabled,i=n.zenModeEnabled,l=this.props,s=l.onCollabButtonClick,u=l.onExportToBackend,d=l.renderFooter,p=l.renderTopRight,f=r/2,h=a/2;return c().createElement("div",{className:Ue("excalidraw",{"excalidraw--zen-mode":i,"excalidraw--view-mode":o}),ref:this.excalidrawContainerRef,style:{width:r,height:a}},c().createElement(Rp,{canvas:this.canvas,appState:this.state,setAppState:this.setAppState,actionManager:this.actionManager,elements:this.scene.getElements(),onCollabButtonClick:s,onLockToggle:this.toggleLock,onInsertElements:function(e){return t.addElementsFromPasteOrLibrary(e,f,h)},zenModeEnabled:i,toggleZenMode:this.toggleZenMode,langCode:A().code,isCollaborating:this.props.isCollaborating||!1,onExportToBackend:u,renderCustomFooter:d,renderTopRight:p,viewModeEnabled:o,showExitZenModeBtn:void 0===(null===(e=this.props)||void 0===e?void 0:e.zenModeEnabled)&&i,onHomeButtonClick:this.props.onHomeButtonClick}),c().createElement("div",{className:"excalidraw-textEditorContainer"}),this.state.showStats&&c().createElement(Yp,{appState:this.state,setAppState:this.setAppState,elements:this.scene.getElements(),onClose:this.toggleStats}),null!==this.state.toastMessage&&c().createElement(Zp,{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(ff),ff=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,a,o,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(tf({width:null!==(a=this.props.width)&&void 0!==a?a:window.innerWidth,height:null!==(o=this.props.height)&&void 0!==o?o: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(Hc)}));var l=t.multiElement;t.elementType!==this.state.elementType&&null!=l&&Eo(this.state)&&qe(l)&&Mo(l,this.state,this.scene,Un(wo.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 a=r[n];a in d||(d[a]=[]),d[a].push(t)}e.pointer&&(e.username&&(p[t]=e.username),e.userState&&(f[t]=e.userState),u[t]=Wn({sceneX:e.pointer.x,sceneY:e.pointer.y},i.state),c[t]=e.button)}));var h=this.scene.getElements(),m=ls(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:!Tc()}),g=m.atLeastOneVisibleElement,v=m.scrollBars;v&&(pf=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}),rf.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=Fn({clientX:lf,clientY:cf},this.state),r=n.x,a=n.y,o=$r({x:r,y:a,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()),[o])),this.setState({selectedElementIds:(t={},t[o.id]=!0,t)}),rf.resumeRecording()}},{key:"selectShapeTool",value:function(e){var t;sf||Hn(this.canvas,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,a=void 0!==r&&r,o=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)?Qr(n,{text:t,isDeleted:r}):n}))))};!function(e){var t=e.id,n=e.appState,r=e.onChange,a=e.onSubmit,o=e.getViewportCoords,i=e.element,l=e.canvas,c=function(){var e,r=null===(e=Er.getScene(i))||void 0===e?void 0:e.getElement(t);if(r&&Ye(r)){var a=N(o(r.x,r.y),2),l=a[0],c=a[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,h=(n.offsetLeft+n.width-l-8)/n.zoom.value-Number(getComputedStyle(document.querySelector(".excalidraw").parentNode).marginRight.slice(0,-2));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:ci(r.width,r.height,d,n,h),textAlign:s,color:r.strokeColor,opacity:r.opacity/100,filter:"var(--appearance-filter)",maxWidth:"".concat(h,"px")})}},u=document.createElement("textarea");u.dir="auto",u.tabIndex=0,u.dataset.type="wysiwyg",u.wrap="off",Object.assign(u.style,{position:"absolute",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(li(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(){a(li(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=Er.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=Wn({sceneX:e,sceneY:t},n.state),a=r.x,o=r.y;return[a-n.state.offsetLeft,o-n.state.offsetTop]},onChange:Zn((function(t){o(t),vi(e)&&jo(e)})),onSubmit:Zn((function(t){var r=!t.trim();o(t,r),r?Yo(n.scene.getElements(),[e]):n.setState((function(t){var n;return{selectedElementIds:tf(tf({},t.selectedElementIds),{},(n={},n[e.id]=!0,n))}})),r&&!a||rf.resumeRecording(),n.setState({draggingElement:null,editingElement:null}),n.state.elementLocked&&Hn(n.canvas,n.state.elementType)})),element:e}),this.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null}),o(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 ja(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,a=this;return n=this.scene.getElements(),r=function(n){return function(e,t,n,r){var a=10/t.zoom.value,o=[n,r];return Ba(t,e)?Ha(e,o,a):za(e,t,o)}(n,a.state,e,t)},n.filter((function(e){return!e.isDeleted&&r(e)}))}},{key:"maybeCleanupAfterMissingPointerUp",value:function(e){null!==mf&&mf(e)}},{key:"updateGestureOnPointerDown",value:function(e){gf.pointers.set(e.pointerId,{x:e.clientX,y:e.clientY}),2===gf.pointers.size&&(gf.lastCenter=Td(gf.pointers),gf.initialScale=this.state.zoom.value,gf.initialDistance=Pd(Array.from(gf.pointers.values())))}},{key:"initialPointerDownState",value:function(e){var t=Fn(e,this.state),n=Si(this.scene.getElements(),this.state),r=N(vt(n),4),a=r[0],o=r[1],i=r[2],l=r[3];return{origin:t,originInGrid:Un(ct(t.x,t.y,this.state.gridSize)),scrollbars:Ei(pf,e.clientX-this.state.offsetLeft,e.clientY-this.state.offsetTop),lastCoords:tf({},t),originalElements:this.scene.getElements().reduce((function(e,t){return e.set(t.id,ea(t)),e}),new Map),resize:{handleType:!1,isResizing:!1,offset:{x:0,y:0},arrowDirection:"origin",center:{x:(i+a)/2,y:(l+o)/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;df=!0,t.lastCoords.x=e.clientX,t.lastCoords.y=e.clientY;var r=Zn((function(e){e.target instanceof HTMLElement&&n.handlePointerMoveOverScrollbars(e,t)})),a=Zn((function(){df=!1,Hn(n.canvas,n.state.elementType),mf=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,a)}));return mf=a,window.addEventListener(s.Ks.POINTER_MOVE,r),window.addEventListener(s.Ks.POINTER_UP,a),!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),a=r[0],o=r[1],i=r[2],l=r[3];return e.x>a-n&&e.x<i+n&&e.y>o-n&&e.y<l+n}},{key:"onKeyDownFromPointerDownHandler",value:function(e){var t=this;return Zn((function(n){t.maybeHandleResize(e,n)||t.maybeDragNewGenericElement(e,n)}))}},{key:"onKeyUpFromPointerDownHandler",value:function(e){var t=this;return Zn((function(n){n.key===$t&&n.preventDefault(),t.maybeHandleResize(e,n)||t.maybeDragNewGenericElement(e,n)}))}},{key:"onPointerMoveFromPointerDownHandler",value:function(e){var t=this;return Zn((function(n){if(null===e.drag.offset&&(e.drag.offset=Un(function(e,t,n){var r=N(vt(e),2);return[t-r[0],n-r[1]]}(Si(t.scene.getElements(),t.state),e.origin.x,e.origin.y))),n.target instanceof HTMLElement&&!t.handlePointerMoveOverScrollbars(n,e)){var r=Fn(n,t.state),a=N(ct(r.x,r.y,t.state.gridSize),2),o=a[0],i=a[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(wo.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=Si(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,a){var o=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,a;if(o){var c=o&&i<l,s=o&&i>l,u=e.originalElements.get(n.id);r=c&&u?u.x:n.x+d.x,a=s&&u?u.y:n.y+d.y}else r=n.x+d.x,a=n.y+d.y;Ir(n,{x:r,y:a}),jo(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=Qp(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=ta(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];Ir(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);Ko(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=o-T.x,A=i-T.y),kn(n)&&2===L.length){var _=Ar(t.state.elementType,P,A);P=_.width,A=_.height}1===L.length?Ir(T,{points:[].concat(R(L),[[P,A]])}):L.length>1&&("draw"===T.type?Ir(T,{points:U([].concat(R(L),[[P,A]]),.7/t.state.zoom.value)}):Ir(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&&ki(D,t.state)&&t.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null});var j=function(e,t){var n=N(pt(t),4),r=n[0],a=n[1],o=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&&a<=l&&o>=c&&i>=s}))}(D,T);t.setState((function(e){return Wr(tf(tf({},e),{},{selectedElementIds:tf(tf({},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 a=e.clientY,o=a-t.lastCoords.y;return this.setState({scrollY:this.state.scrollY-o/this.state.zoom.value}),t.lastCoords.y=a,!0}return!1}},{key:"onPointerUpFromPointerDownHandler",value:function(e){var t=this;return Zn((function(n){var r=t.state,a=r.draggingElement,o=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=wo.handlePointerUp(n,t.state.editingLinearElement,t.state);p!==t.state.editingLinearElement&&t.setState({editingLinearElement:p,suggestedBindings:[]})}if(mf=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==a?void 0:a.type))if(Ze(a)){a.points.length>1&&rf.resumeRecording();var f=Fn(n,t.state);e.drag.hasOccurred||!a||i?e.drag.hasOccurred&&!i&&(Eo(t.state)&&qe(a)&&Mo(a,t.state,t.scene,f),t.setState({suggestedBindings:[],startBoundElement:null}),c||"draw"===l?t.setState((function(e){var n;return{draggingElement:null,selectedElementIds:tf(tf({},e.selectedElementIds),{},(n={},n[t.state.draggingElement.id]=!0,n))}})):(zn(t.canvas),t.setState((function(e){var n;return{draggingElement:null,elementType:"selection",selectedElementIds:tf(tf({},e.selectedElementIds),{},(n={},n[t.state.draggingElement.id]=!0,n))}})))):(Ir(a,{points:[].concat(R(a.points),[[f.x-a.x,f.y-a.y]])}),t.setState({multiElement:a,editingElement:t.state.draggingElement}))}else{if("selection"!==l&&a&&Pr(a))return t.scene.replaceAllElements(t.scene.getElementsIncludingDeleted().slice(0,-1)),void t.setState({draggingElement:null});a&&Ir(a,Lr(a)),o&&rf.resumeRecording(),o&&Pr(o)&&t.scene.replaceAllElements(t.scene.getElementsIncludingDeleted().filter((function(e){return e.id!==o.id})));var h=e.hit.element;if(h&&!e.drag.hasOccurred&&!e.hit.wasAddedToSelection)if(n.shiftKey)if(t.state.selectedElementIds[h.id])if(Nr(t.state,h)){var m=h.groupIds.flatMap((function(e){return Vr(t.scene.getElements(),e)})).map((function(e){var t;return(t={})[e.id]=!1,t})).reduce((function(e,t){return tf(tf({},e),t)}),{});t.setState((function(e){return{selectedGroupIds:tf(tf({},e.selectedElementIds),h.groupIds.map((function(e){var t;return(t={})[e]=!1,t})).reduce((function(e,t){return tf(tf({},e),t)}),{})),selectedElementIds:tf(tf({},e.selectedElementIds),m)}}))}else t.setState((function(e){var t;return{selectedElementIds:tf(tf({},e.selectedElementIds),{},(t={},t[h.id]=!1,t))}}));else t.setState((function(e){var t;return{selectedElementIds:tf(tf({},e.selectedElementIds),{},(t={},t[h.id]=!0,t))}}));else t.setState((function(e){var n;return tf({},Wr(tf(tf({},e),{},{selectedElementIds:(n={},n[h.id]=!0,n)}),t.scene.getElements()))}));t.state.editingLinearElement||e.drag.hasOccurred||t.state.isResizing||!(h&&ja(h,t.state,e.origin.x,e.origin.y)||!h&&e.hit.hasHitCommonBoundingBoxOfSelectedElements)?(!c&&"draw"!==l&&a&&t.setState((function(e){var t;return{selectedElementIds:tf(tf({},e.selectedElementIds),{},(t={},t[a.id]=!0,t))}})),("selection"!==l||ki(t.scene.getElements(),t.state))&&rf.resumeRecording(),(e.drag.hasOccurred||u||d)&&(Eo(t.state)?Co:Ao)(Si(t.scene.getElements(),t.state)),c||"draw"===l?t.setState({draggingElement:null,suggestedBindings:[]}):(zn(t.canvas),t.setState({draggingElement:null,suggestedBindings:[],elementType:"selection"}))):t.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null})}else t.actionManager.executeAction(Hc)}))}},{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)?Ro(e).filter((function(e){return!n.has(e.id)})):Qe(e)?Go(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&&Gr(e,t.editingGroupId)?t.editingGroupId:null}})),this.setState({selectedElementIds:{},previousSelectedElementIds:this.state.selectedElementIds})}},{key:"getTextWysiwygSnappedToCenterPosition",value:function(e,t,n,r,a){var o=function(e,t,n){for(var r=null,a=e.length-1;a>=0;--a)if(!e[a].isDeleted){var o=N(pt(e[a]),4),i=o[0],l=o[1],c=o[2],s=o[3];if(i<t&&t<c&&l<n&&n<s){r=e[a];break}}return r}(this.scene.getElementsIncludingDeleted().filter((function(e){return!Ye(e)})),e,t);if(o){var i=o.x+o.width/2,l=o.y+o.height/2;if(Math.hypot(e-i,t-l)<s.wZ){var c=Wn({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(),a=r.left,o=r.top;return{offsetLeft:"number"==typeof(null==e?void 0:e.offsetLeft)?e.offsetLeft:a,offsetTop:"number"==typeof(null==e?void 0:e.offsetTop)?e.offsetTop:o}}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(){af=!1}}]),a}(c().Component);vf.defaultProps={width:window.innerWidth,height:window.innerHeight};var bf=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=Zn((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&&vi(t)&&(n=t)})),e.scene.replaceAllElements(t.elements),t.commitToHistory&&rf.resumeRecording()),t.appState||n){var r,a,o;t.commitToHistory&&rf.resumeRecording();var i=(null==t||null===(r=t.appState)||void 0===r?void 0:r.viewModeEnabled)||!1,l=(null==t||null===(a=t.appState)||void 0===a?void 0:a.zenModeEnabled)||!1,c=(null==t||null===(o=t.appState)||void 0===o?void 0:o.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 Object.assign(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&&rf.setCurrentState(e.state,e.scene.getElementsIncludingDeleted())}))}}})),this.onBlur=Zn((function(){sf=!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)&&hr(e)})),e.onSceneUpdated()},this.importLibraryFromUrl=function(){var t=(0,f.Z)(p().mark((function t(n){var r,a,o;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 a=t.sent,t.t0=JSON,t.next=11,a.text();case 11:if(t.t1=t.sent,o=t.t0.parse.call(t.t0,t.t1),nu(o)){t.next=15;break}throw new Error;case 15:if(!window.confirm(_("alerts.confirmAddLibrary",{numShapes:o.library.length}))){t.next=19;break}return t.next=18,$s.importLibrary(a);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(){rf.clear()},this.resetScene=Zn((function(t){e.scene.replaceAllElements([]),e.setState((function(n){return tf(tf({},Jn()),{},{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,a,o,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,a;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:(a=t.sent).handle=r,su(a,e.state).then((function(t){var n=t.elements,r=t.appState;return e.syncActionResult({elements:n,appState:tf(tf({},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}),o=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:o=t.t0,t.next=15;break;case 12:t.prev=12,t.t1=t.catch(3),console.error(t.t1);case 15:if((i=qs(o,null)).appState=tf(tf({},i.appState),{},{isLoading:!1}),null!==(n=o)&&void 0!==n&&n.scrollToCenter&&(i.appState=tf(tf({},i.appState),Mi(i.elements,tf(tf({},i.appState),{},{width:e.state.width,height:e.state.height,offsetTop:e.state.offsetTop,offsetLeft:e.state.offsetLeft})))),null!=(null===(r=o)||void 0===r?void 0:r.scrollX)&&(i.appState.scrollX=o.scrollX),null!=(null===(a=o)||void 0===a?void 0:a.scrollY)&&(i.appState.scrollY=o.scrollY),e.resetHistory(),e.syncActionResult(tf(tf({},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=Zn((function(){e.scene.getElementsIncludingDeleted().forEach((function(e){return hr(e)})),e.setState({})})),this.onScroll=Ln((function(){var t=e.getCanvasOffsets(),n=t.offsetTop,r=t.offsetLeft;e.setState((function(e){return e.offsetLeft===r&&e.offsetTop===n?null:{offsetTop:n,offsetLeft:r}}))}),s.HM),this.onCut=Zn((function(t){In(t.target)||(e.cutAll(),t.preventDefault())})),this.onCopy=Zn((function(t){var n=document.getSelection();null!=n&&n.anchorNode&&!e.excalidrawContainerRef.current.contains(n.anchorNode)||In(t.target)||(e.copyAll(),t.preventDefault())})),this.cutAll=function(){e.copyAll(),e.actionManager.executeAction(Gl)},this.copyAll=function(){bu(e.scene.getElements(),e.state)},this.onTapStart=function(t){if(!af)return af=!0,clearTimeout(of),void(of=window.setTimeout(vf.resetTapTwice,s.Gj));if(af&&1===t.touches.length){var n=N(t.touches,1)[0];e.handleCanvasDoubleClick({clientX:n.clientX,clientY:n.clientY}),af=!1,clearTimeout(of)}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=Zn(function(){var t=(0,f.Z)(p().mark((function t(n){var r,a,o;return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=document.activeElement,a=document.elementFromPoint(lf,cf),!n||a instanceof HTMLCanvasElement&&!In(r)){t.next=4;break}return t.abrupt("return");case 4:return t.next=6,Eu(n);case 6:(o=t.sent).errorMessage?e.setState({errorMessage:o.errorMessage}):o.spreadsheet?e.setState({pasteDialog:{data:o.spreadsheet,shown:!0}}):o.elements?e.addElementsFromPasteOrLibrary(o.elements):o.text&&e.addTextFromPaste(o.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]:lf,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:cf,a=vt(t),o=N(a,4),i=o[0],l=o[1],c=o[2],s=o[3],u=jn(i,c)/2,d=jn(l,s)/2,p=Fn({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=ta(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));Ko(S,t,E),e.scene.replaceAllElements(S),rf.resumeRecording(),e.setState(Wr(tf(tf({},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&&ff&&(clearTimeout(ff),ff=0,hf=!1),gf.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(xd)},this.toggleStats=function(){e.state.showStats||Nc("dialog","stats"),e.actionManager.executeAction(Sd)},this.setScrollToCenter=function(t){e.setState(tf({},Mi(gi(t),e.state,e.canvas)))},this.clearToast=function(){e.setState({toastMessage:null})},this.updateScene=Zn((function(t){t.commitToHistory&&rf.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=Zn((function(e){lf=e.x,cf=e.y})),this.onKeyDown=Zn((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),a=e.scene.getElements().filter((function(t){return e.state.selectedElementIds[t.id]})),o=0,i=0;t.key===Yt?o=-r:t.key===Zt?o=r:t.key===Xt?i=-r:t.key===Ut&&(i=r),a.forEach((function(e){Ir(e,{x:e.x+o,y:e.y+i}),jo(e,{simultaneouslyUpdated:a})})),e.maybeSuggestBindingForAll(a),t.preventDefault()}else if(t.key===en){var l=Si(e.scene.getElements(),e.state);if(1===l.length&&Ze(l[0]))e.state.editingLinearElement&&e.state.editingLinearElement.elementId===l[0].id||(rf.resumeRecording(),e.setState({editingLinearElement:new wo(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=Bd.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===gf.pointers.size&&(sf=!0,Bn(e.canvas,s.oc.GRABBING))}})),this.onKeyUp=Zn((function(t){if(t.key===rn&&("selection"===e.state.elementType?zn(e.canvas):(Hn(e.canvas,e.state.elementType),e.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null})),sf=!1),t[Qt]||e.state.isBindingEnabled||e.setState({isBindingEnabled:!0}),wn(t.key)){var n=Si(e.scene.getElements(),e.state);Eo(e.state)?Co(n):Ao(n),e.setState({suggestedBindings:[]})}})),this.onGestureStart=Zn((function(t){t.preventDefault(),e.setState({selectedElementIds:{}}),gf.initialScale=e.state.zoom.value})),this.onGestureChange=Zn((function(t){if(t.preventDefault(),2!==gf.pointers.size){var n=gf.initialScale;n&&e.setState((function(e){var r=e.zoom,a=e.offsetLeft,o=e.offsetTop;return{zoom:Di(ji(n*t.scale),r,{left:a,top:o},{x:lf,y:cf})}}))}})),this.onGestureEnd=Zn((function(t){t.preventDefault(),e.setState({previousSelectedElementIds:{},selectedElementIds:e.state.previousSelectedElementIds}),gf.initialScale=null})),this.startTextEditing=function(t){var n=t.sceneX,r=t.sceneY,a=t.insertAtParentCenter,o=void 0===a||a,i=e.getTextElementAtPosition(n,r),l=o&&e.getTextWysiwygSnappedToCenterPosition(n,r,e.state,e.canvas,window.devicePixelRatio),c=i||$r({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||Ir(c,{verticalAlign:s.hs}):(e.scene.replaceAllElements([].concat(R(e.scene.getElementsIncludingDeleted()),[c])),l||Ir(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=Si(e.scene.getElements(),e.state);if(1===n.length&&Ze(n[0]))e.state.editingLinearElement&&e.state.editingLinearElement.elementId===n[0].id||(rf.resumeRecording(),e.setState({editingLinearElement:new wo(n[0],e.scene)}));else{zn(e.canvas);var r=Fn(t,e.state),a=r.x,o=r.y;if(Fr(e.state).length>0){var i=e.getElementAtPosition(a,o),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 Wr(tf(tf({},t),{},{editingGroupId:l,selectedElementIds:(n={},n[i.id]=!0,n),selectedGroupIds:{}}),e.scene.getElements())}))}zn(e.canvas),t[Qt]||e.startTextEditing({sceneX:a,sceneY:o,insertAtParentCenter:!t.altKey})}}},this.handleCanvasPointerMove=function(t){e.savePointer(t.clientX,t.clientY,e.state.cursorButton),gf.pointers.has(t.pointerId)&&gf.pointers.set(t.pointerId,{x:t.clientX,y:t.clientY});var n=gf.initialScale;if(2===gf.pointers.size&&gf.lastCenter&&n&&gf.initialDistance){var r=Td(gf.pointers),a=r.x-gf.lastCenter.x,o=r.y-gf.lastCenter.y;gf.lastCenter=r;var i=Pd(Array.from(gf.pointers.values()))/gf.initialDistance;e.setState((function(e){var t=e.zoom,l=e.scrollX,c=e.scrollY,s=e.offsetLeft,u=e.offsetTop;return{scrollX:l+a/t.value,scrollY:c+o/t.value,zoom:Di(ji(n*i),t,{left:s,top:u},r),shouldCacheIgnoreZoom:!0}})),e.resetShouldCacheIgnoreZoomDebounced()}else gf.lastCenter=gf.initialDistance=gf.initialScale=null;if(!(sf||uf||df)){var l=Ei(pf,t.clientX-e.state.offsetLeft,t.clientY-e.state.offsetTop).isOverEither;e.state.draggingElement||e.state.multiElement||(l?zn(e.canvas):Hn(e.canvas,e.state.elementType));var c=Fn(t,e.state),u=c.x,d=c.y;if(e.state.editingLinearElement&&!e.state.editingLinearElement.isDragging){var p=wo.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 Hn(e.canvas,e.state.elementType),void(y===b?nt(u-m,d-g,y[0],y[1])>=s.qx?Ir(h,{points:[].concat(R(v),[[u-m,d-g]])}):Bn(e.canvas,s.oc.POINTER):v.length>2&&b&&nt(u-m,d-g,b[0],b[1])<s.qx?(Bn(e.canvas,s.oc.POINTER),Ir(h,{points:v.slice(0,-1)})):(rt(v,e.state.zoom.value)&&Bn(e.canvas,s.oc.POINTER),Ir(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=Si(w,e.state);if(1!==x.length||l||e.state.editingLinearElement){if(x.length>1&&!l){var E=mo(vt(x),u,d,e.state.zoom,t.pointerType);if(E)return void Bn(e.canvas,vo({transformHandleType:E}))}}else{var k=ho(w,e.state,u,d,e.state.zoom,t.pointerType);if(k&&k.transformHandleType)return void Bn(e.canvas,vo(k))}var S=e.getElementAtPosition(c.x,c.y);"text"===e.state.elementType?Bn(e.canvas,Ye(S)?s.oc.TEXT:s.oc.CROSSHAIR):l?Bn(e.canvas,s.oc.AUTO):S||e.isHittingCommonBoundingBoxOfSelectedElements(c,x)?Bn(e.canvas,s.oc.MOVE):Bn(e.canvas,s.oc.AUTO)}}},this.handleTouchMove=function(e){hf=!0},this.handleCanvasPointerDown=function(t){if(t.persist(),e.maybeOpenContextMenuAfterPointerDownOnTouchDevices(t),e.maybeCleanupAfterMissingPointerUp(t),!uf&&(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(),gf.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),a=e.onPointerUpFromPointerDownHandler(n),o=e.onKeyDownFromPointerDownHandler(n),i=e.onKeyUpFromPointerDownHandler(n);mf=a,e.state.viewModeEnabled||(window.addEventListener(s.Ks.POINTER_MOVE,r),window.addEventListener(s.Ks.POINTER_UP,a),window.addEventListener(s.Ks.KEYDOWN,o),window.addEventListener(s.Ks.KEYUP,i),n.eventListeners.onMove=r,n.eventListeners.onUp=a,n.eventListeners.onKeyUp=i,n.eventListeners.onKeyDown=o)}else e.handleTextOnPointerDown(t,n)}},this.maybeOpenContextMenuAfterPointerDownOnTouchDevices=function(t){"touch"===t.pointerType&&(hf=!1,ff?hf=!0:ff=window.setTimeout((function(){ff=0,hf||e.openContextMenu({clientX:t.clientX,clientY:t.clientY})}),s.nM))},this.handleCanvasPanUsingWheelOrSpaceDrag=function(t){if(0!==gf.pointers.size||!(t.button===s.Oh.WHEEL||t.button===s.Oh.MAIN&&sf||e.state.viewModeEnabled))return!1;uf=!0;var n=!1,r=/Linux/.test(window.navigator.platform);Bn(e.canvas,s.oc.GRABBING);var a=t.clientX,o=t.clientY,i=Zn((function(t){var i=a-t.clientX,l=o-t.clientY;if(a=t.clientX,o=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=Zn(mf=function(){mf=null,uf=!1,sf||Hn(e.canvas,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(),a=Si(r,e.state);if(1!==a.length||e.state.editingLinearElement)a.length>1&&(n.resize.handleType=mo(vt(a),n.origin.x,n.origin.y,e.state.zoom,t.pointerType));else{var o=ho(r,e.state,n.origin.x,n.origin.y,e.state.zoom,t.pointerType);null!=o&&(e.setState({resizingElement:o.element}),n.resize.handleType=o.transformHandleType)}if(n.resize.handleType)Bn(e.canvas,vo({transformHandleType:n.resize.handleType})),n.resize.isResizing=!0,n.resize.offset=Un(function(e,t,n,r){var a=N(1===t.length?pt(t[0]):vt(t),4),o=a[0],i=a[1],l=a[2],c=a[3],s=(o+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-(o+l)/2,r-i,0,0,d);case"s":return Je(n-(o+l)/2,r-c,0,0,d);case"w":return Je(n-o,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-o,r-i,0,0,d);case"ne":return Je(n-l,r-i,0,0,d);case"sw":return Je(n-o,r-c,0,0,d);case"se":return Je(n-l,r-c,0,0,d);default:return[0,0]}}(n.resize.handleType,a,n.origin.x,n.origin.y)),1===a.length&&Ze(a[0])&&2===a[0].points.length&&(n.resize.arrowDirection=(u=n.resize.handleType,d=a[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=wo.handlePointerDown(t,e.state,(function(t){return e.setState(t)}),rf,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 tf(tf({},function(e,t){var n;return Br(Br({},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&&!Gr(c,e.state.editingGroupId)&&e.setState({selectedElementIds:{},selectedGroupIds:{},editingGroupId:null}),s||n.hit.hasHitCommonBoundingBoxOfSelectedElements||(e.setState((function(t){var n;return Wr(tf(tf({},t),{},{selectedElementIds:tf(tf({},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.canvas),e.state.elementLocked||e.setState({elementType:"selection"}))},this.handleLinearElementOnPointerDown=function(t,n,r){if(e.state.multiElement){var a=e.state.multiElement;if("line"===a.type&&rt(a.points,e.state.zoom.value))return Ir(a,{lastCommittedPoint:a.points[a.points.length-1]}),void e.actionManager.executeAction(Hc);var o=a.x,i=a.y,l=a.lastCommittedPoint;if(a.points.length>1&&l&&nt(r.origin.x-o,r.origin.y-i,l[0],l[1])<s.qx)return void e.actionManager.executeAction(Hc);e.setState((function(e){var t;return{selectedElementIds:tf(tf({},e.selectedElementIds),{},(t={},t[a.id]=!0,t))}})),Ir(a,{lastCommittedPoint:a.points[a.points.length-1]}),Bn(e.canvas,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=Jr({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:tf(tf({},e.selectedElementIds),{},(t={},t[b.id]=!1,t))}})),Ir(b,{points:[].concat(R(b.points),[[0,0]])});var y=_o(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),a=r[0],o=r[1],i=Xr({type:t,x:a,y:o,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=_o(t,e.scene);e.setState({suggestedBindings:null!=n?[n]:[]})},this.maybeSuggestBindingForLinearElementAtCursor=function(t,n,r,a){var o=_o(r,e.scene);e.setState({suggestedBindings:null==o||Po(t,null==a?void 0:a.id,o)?[]:[o]})},this.handleCanvasRef=function(t){var n,r,a;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===(a=e.canvas)||void 0===a||a.removeEventListener(s.Ks.TOUCH_END,e.onTapEnd))},this.handleCanvasOnDrop=function(){var t=(0,f.Z)(p().mark((function t(n){var r,a,o,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==(a=n.dataTransfer.files[0])?void 0:a.type)&&"image/svg+xml"!==(null==a?void 0:a.type)){t.next=10;break}return t.next=5,su(a,e.state);case 5:return o=t.sent,i=o.elements,l=o.appState,e.syncActionResult({elements:i,appState:tf(tf({},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:su(u,e.state).then((function(t){var n=t.elements,r=t.appState;return e.syncActionResult({elements:n,appState:tf(tf({},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")?$s.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,a=t.lastCoords;if(r)if("selection"===r.type)ii(r,e.state.elementType,t.origin.x,t.origin.y,a.x,a.y,jn(t.origin.x,a.x),jn(t.origin.y,a.y),En(n),xn(n));else{var o=N(ct(a.x,a.y,e.state.gridSize),2),i=o[0],l=o[1];ii(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=Si(e.scene.getElements(),e.state),a=t.resize.handleType;e.setState({isResizing:a&&"rotation"!==a,isRotating:"rotation"===a});var o=t.lastCoords,i=N(ct(o.x-t.resize.offset.x,o.y-t.resize.offset.y,e.state.gridSize),2),l=i[0],c=i[1];return!!function(e,t,n,r,a,o,i,l,c,s,u){if(1===n.length){var d=N(n,1)[0];return"rotation"===t?(Qo(d,l,c,a),jo(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&&ri(e.originalElements.get(d.id),i,d,t,o,l,c):(ni(d,t,o,l,c),jo(d)):Jo(d,r,a,l,c),!0}if(n.length>1){if("rotation"===t)return oi(e,n,l,c,a,s,u),!0;if("nw"===t||"ne"===t||"sw"===t||"se"===t)return ai(n,t,l,c),!0}return!1}(t,a,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,a=t.clientY,o=Fn({clientX:r,clientY:a},e.state),i=o.x,l=o.y,c=Ku.contextItemPredicate(e.actionManager.getElementsIncludingDeleted(),e.actionManager.getAppState()),s=Uu.contextItemPredicate(e.actionManager.getElementsIncludingDeleted(),e.actionManager.getAppState()),u="separator",d=Tc(),p=e.scene.getElements(),f=e.getElementAtPosition(i,l),h=[];if(vu&&p.length>0&&h.push(md),gu&&p.length>0&&h.push(hd),f)e.state.selectedElementIds[f.id]||e.setState({selectedElementIds:(n={},n[f.id]=!0,n)}),e.state.viewModeEnabled?Wd({options:[navigator.clipboard&&pd].concat(h),top:a,left:r,actionManager:e.actionManager,appState:e.state}):Wd({options:[d&&fd,d&&navigator.clipboard&&pd,d&&navigator.clipboard&&{name:"paste",perform:function(t,n){return e.pasteFromClipboard(null),{commitToHistory:!1}},contextItemLabel:"labels.paste"},d&&u].concat(h,[u,ju,zu,u,c&&Ku,s&&Uu,(c||s)&&u,qu,u,Ql,Jl,ec,tc,u,lc,Gl]),top:a,left:r,actionManager:e.actionManager,appState:e.state});else{var m=[].concat(h,[void 0===e.props.gridModeEnabled&&bd,void 0===e.props.zenModeEnabled&&xd,void 0===e.props.viewModeEnabled&&$p,Sd]);if(Wd({options:m,top:a,left:r,actionManager:e.actionManager,appState:e.state}),e.state.viewModeEnabled)return;Wd({options:[d&&navigator.clipboard&&{name:"paste",perform:function(t,n){return e.pasteFromClipboard(null),{commitToHistory:!1}},contextItemLabel:"labels.paste"},d&&navigator.clipboard&&u,vu&&p.length>0&&md,gu&&p.length>0&&hd,(vu&&p.length>0||gu&&p.length>0)&&u,ac,u,void 0===e.props.gridModeEnabled&&bd,void 0===e.props.zenModeEnabled&&xd,void 0===e.props.viewModeEnabled&&$p,Sd],top:a,left:r,actionManager:e.actionManager,appState:e.state})}},this.handleWheel=Zn((function(t){if(t.preventDefault(),!uf){var n=t.deltaX,r=t.deltaY,a=e.state,o=a.selectedElementIds,i=a.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:Di(ji(u),t,{left:n,top:r},{x:lf,y:cf}),selectedElementIds:{},previousSelectedElementIds:0!==Object.keys(o).length?o: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,a=e.scrollX,o=e.scrollY;return{scrollX:a-n/t.value,scrollY:o-r/t.value}}))}})),this.savePointer=function(t,n,r){var a,o;if(t&&n){var i=Fn({clientX:t,clientY:n},e.state);isNaN(i.x)||isNaN(i.y),null===(a=(o=e.props).onPointerUpdate)||void 0===a||a.call(o,{pointer:i,button:r,pointersMap:gf.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 rf}},library:{configurable:!0,value:$s}}));var yf=vf;n(8234),n(4651);function wf(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 xf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?wf(Object(n),!0).forEach((function(t){F(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ef=function(e){var t,n,r,a=e.elements,o=e.appState,i=void 0===o?Jn():o,l=e.getDimensions,c=void 0===l?function(e,t){return{width:e,height:t,scale:1}}:l;return ms(gi(a),xf(xf({},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}}))},kf=function(e){var t=Ef(e),n=e.mimeType,r=void 0===n?"image/png":n,a=e.quality;return"image/png"===r&&"number"==typeof a&&console.warn('"quality" will be ignored for "image/png" mimeType'),"image/jpg"===r&&(r="image/jpeg"),a=a||(/image\/jpe?g/.test(r)?.92:.8),new Promise((function(e){t.toBlob((function(t){e(t)}),r,a)}))},Sf=function(e){var t=e.elements,n=e.appState,r=void 0===n?Jn():n,a=e.exportPadding,o=e.metadata;return gs(gi(t),xf(xf({},r),{},{exportPadding:a,metadata:o}))},Cf=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,kf(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)}}(),Of=function(e){var t=e.width,n=e.height,r=e.offsetLeft,a=e.offsetTop,o=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(Ic,null,c().createElement(yf,{width:t,height:n,offsetLeft:r,offsetTop:a,onChange:o,initialData:i,excalidrawRef:s,onCollabButtonClick:u,isCollaborating:d,onPointerUpdate:p,onExportToBackend:f,langCode:m,viewModeEnabled:g,zenModeEnabled:v,gridModeEnabled:b,onHomeButtonClick:y,renderTopRight:w})))},Mf=function(e,t){e.initialData;var n=i()(e,["initialData"]),r=(t.initialData,i()(t,["initialData"])),a=Object.keys(e),o=Object.keys(t);return a.length===o.length&&a.every((function(e){return n[e]===r[e]}))};Of.defaultProps={lanCode:C.code};var If=(0,l.forwardRef)((function(e,t){return c().createElement(Of,a()({},e,{excalidrawRef:t}))})),Tf=c().memo(If,Mf),Pf=(n(6009),Tf)},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 a=Object.create(null);c.r(a);var o={};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){o[t]=function(){return e[t]}}));return o.default=function(){return e},c.d(a,o),a},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",565:"i18n-oc-FR-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:"2a40b03da1134b5a2926",60:"09015198ce3c95c6acd9",62:"b5595f90cc91e73a87f0",137:"a5572217a762f1360807",149:"d53c007f793d70570772",164:"070655a37129fe7dafb7",196:"a0c703a40c7139ab57bd",213:"6b58f2f9125f083aad71",242:"853559fde47dda152eb6",246:"6c38bf19341b52f891df",262:"cf06a016577871476e91",280:"70b5402a72b4d80c38bc",304:"1b0374c9fa1fbba1f352",317:"9273082aef58805e4609",351:"b6c4e9102e1585573726",364:"40bf9f97f71c3a8dfd2e",381:"d7bb45d4e00e17124211",384:"d244d572f5b30a52b43b",401:"c6d4b050682e82947680",465:"4ff2735ce16a86d10e72",472:"0550006ea54a1a8217ce",491:"ba4e5502a131d1b8ccdd",526:"5c71b5d51e688db900d0",558:"2068165bef2e376df6e1",565:"af943d255b535c6555a3",583:"83a226fa5fe4fd65b35d",661:"01dc48d02f52563b2ba9",698:"f25a7fa08b8e3f0a58ee",710:"aab1b64c7b0c93a180a5",736:"8d95ed79276142405675",752:"bc8b139b269ffbdd12f9",852:"d755a2095af4a23f8fca",869:"e56dd7363abc4e43e53a",920:"5f4baf1aea7a1b1f6f2d",933:"ef957c2a5339e121bcc3"}[e]+".js"},c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a={},o="Excalidraw:",c.l=function(e,t,n){if(a[e])a[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")==o+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",o+n),r.src=e),a[e]=[t];var d=function(t,n){r.onerror=r.onload=null,clearTimeout(p);var o=a[e];if(delete a[e],r.parentNode&&r.parentNode.removeChild(r),o&&o.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 a=new Promise((function(n,a){r=e[t]=[n,a]}));n.push(r[2]=a);var o=c.p+c.u(t),i=new Error;c.l(o,(function(n){if(c.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var a=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;i.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",i.name="ChunkLoadError",i.type=a,i.request=o,r[1](i)}}),"chunk-"+t)}};var t=function(t,n){for(var r,a,o=n[0],i=n[1],l=n[2],s=0,u=[];s<o.length;s++)a=o[s],c.o(e,a)&&e[a]&&u.push(e[a][0]),e[a]=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)}()}));