pxt-core 8.5.21 → 8.5.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- !function e(t,n,i){function r(s,o){if(!n[s]){if(!t[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(a)return a(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[s]={exports:{}};t[s][0].call(u.exports,(function(e){return r(t[s][1][e]||e)}),u,u.exports,e,t,n,i)}return n[s].exports}for(var a="function"==typeof require&&require,s=0;s<i.length;s++)r(i[s]);return r}({1:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Button=void 0;const i=e("react/jsx-runtime"),r=e("../util");n.Button=e=>{const{id:t,className:n,style:a,ariaLabel:s,ariaHidden:o,ariaDescribedBy:l,ariaControls:c,ariaExpanded:u,ariaHasPopup:d,ariaPosInSet:p,ariaSetSize:f,ariaSelected:h,role:m,onClick:g,onKeydown:v,onBlur:y,buttonRef:b,title:E,label:k,leftIcon:T,rightIcon:C,hardDisabled:w,href:S,target:x,tabIndex:O}=e;let{disabled:_}=e;_=_||w;const j=(0,r.classList)("common-button",n,_&&"disabled");return(0,i.jsx)("button",Object.assign({id:t,className:j,style:a,title:E,ref:b,onClick:_?void 0:e=>{g&&g(),S&&window.open(S,x||"_blank","noopener,noreferrer"),e.stopPropagation(),e.preventDefault()},onKeyDown:v||r.fireClickOnEnter,onBlur:y,role:m||"button",tabIndex:O||(_?-1:0),disabled:w,"aria-label":s,"aria-hidden":o,"aria-controls":c,"aria-expanded":u,"aria-haspopup":d,"aria-posinset":p,"aria-setsize":f,"aria-describedby":l,"aria-selected":h},{children:(0,i.jsxs)("span",Object.assign({className:"common-button-flex"},{children:[T&&(0,i.jsx)("i",{className:T,"aria-hidden":!0}),(0,i.jsx)("span",Object.assign({className:"common-button-label"},{children:k})),C&&(0,i.jsx)("i",{className:"right "+C,"aria-hidden":!0})]}))}))}},{"../util":9,"react/jsx-runtime":108}],2:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Checkbox=void 0;const i=e("react/jsx-runtime"),r=e("../util");n.Checkbox=e=>{const{id:t,className:n,ariaHidden:a,ariaLabel:s,role:o,isChecked:l,onChange:c,label:u}=e;return(0,i.jsxs)("div",Object.assign({className:(0,r.classList)("common-checkbox",n)},{children:[(0,i.jsx)("input",{id:t,tabIndex:0,type:"checkbox",checked:l,onChange:()=>{c(!l)},onKeyDown:r.fireClickOnEnter,role:o,"aria-hidden":a,"aria-label":s}),u&&(0,i.jsx)("label",Object.assign({htmlFor:t},{children:u}))]}))}},{"../util":9,"react/jsx-runtime":108}],3:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Dropdown=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../util"),s=e("./Button"),o=e("./FocusList");n.Dropdown=e=>{const{id:t,className:n,ariaHidden:l,ariaLabel:c,role:u,items:d,tabIndex:p,selectedId:f,onItemSelected:h}=e,[m,g]=r.useState(!1);let v;const y=(0,a.classList)("common-dropdown",n),b=d.find((e=>e.id===f))||d[0];return(0,i.jsxs)("div",Object.assign({className:y,ref:e=>{e&&(v=e)},onBlur:e=>{v&&m&&!v.contains(e.relatedTarget)&&g(!1)}},{children:[(0,i.jsx)(s.Button,Object.assign({},b,{id:t,tabIndex:p,rightIcon:m?"fas fa-chevron-up":"fas fa-chevron-down",role:u,className:(0,a.classList)("common-dropdown-button",m&&"expanded",b.className),onClick:()=>{g(!m)},onKeydown:e=>{const t=d.indexOf(b);"ArrowDown"===e.key?t<d.length-1&&(h(d[t+1].id),e.preventDefault(),e.stopPropagation()):"ArrowUp"===e.key?t>0&&(h(d[t-1].id),e.preventDefault(),e.stopPropagation()):"Enter"===e.key&&(g(!0),e.preventDefault(),e.stopPropagation())},ariaHasPopup:"listbox",ariaExpanded:m,ariaLabel:c,ariaHidden:l})),m&&(0,i.jsx)(o.FocusList,Object.assign({role:"listbox",className:"common-menu-dropdown-pane common-dropdown-shadow",childTabStopId:f,"aria-labelledby":t,useUpAndDownArrowKeys:!0,onItemReceivedFocus:e=>{e.id&&d.some((t=>t.id===e.id))&&h(e.id)}},{children:(0,i.jsx)("ul",Object.assign({role:"presentation"},{children:d.map((e=>(0,i.jsx)("li",Object.assign({role:"presentation"},{children:(0,i.jsx)(s.Button,Object.assign({},e,{className:(0,a.classList)("common-dropdown-item",e.className),onClick:()=>{g(!1),h(e.id)},ariaSelected:e.id===f,role:"option"}))}),e.id)))}))}))]}))}},{"../util":9,"./Button":1,"./FocusList":5,react:107,"react/jsx-runtime":108}],4:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.EditorToggle=void 0;const i=e("react/jsx-runtime"),r=e("../util"),a=e("./Button"),s=e("./FocusList"),o=e("./MenuDropdown");n.EditorToggle=e=>{const{id:t,className:n,ariaHidden:a,ariaLabel:s,role:d,items:p,selected:f}=e,h=p.some((e=>u(e))),m=e=>{};return(0,i.jsxs)("div",Object.assign({className:"common-editor-toggle-outer"},{children:[(0,i.jsx)(c,Object.assign({},e)),(0,i.jsxs)("div",Object.assign({id:t,className:(0,r.classList)("common-editor-toggle",h&&"has-dropdown",n),role:d||"tablist","aria-hidden":!0,"aria-label":s},{children:[p.map(((e,t)=>{const n=f===t;return(0,i.jsxs)("div",Object.assign({className:(0,r.classList)("common-editor-toggle-item",n&&"selected",u(e)&&"common-editor-toggle-item-dropdown")},{children:[(0,i.jsx)(l,{item:e,isSelected:n,onKeydown:m}),u(e)&&(0,i.jsx)(o.MenuDropdown,{id:"toggle-dropdown",className:"toggle-dropdown",icon:"fas fa-chevron-down",title:lf("More options"),tabIndex:-1,ariaHidden:!0,items:e.items.map((e=>({title:e.title,label:e.label,onClick:e.onClick,leftIcon:e.icon})))})]}),t)})),(0,i.jsx)("div",{className:"common-editor-toggle-handle","aria-hidden":!0})]}))]}))};const l=e=>{const{item:t,isSelected:n,onKeydown:r}=e,{label:s,title:o,onClick:l,icon:c,focusable:u}=t;return(0,i.jsx)(a.Button,{className:c?void 0:"no-icon",role:u?"tab":void 0,tabIndex:-1,onKeydown:r,label:s,title:o,onClick:l,leftIcon:c,ariaHidden:!0})},c=e=>{const{items:t,id:n,selected:r,ariaHidden:o}=e,l=t.reduce(((e,t,n)=>{const i=[...e];return i.push(Object.assign({},t)),r===n&&(i[i.length-1].selected=!0),u(t)&&i.push(...t.items.filter((e=>e.focusable))),i}),[]);return(0,i.jsx)(s.FocusList,Object.assign({id:n,role:"tablist",className:"common-toggle-accessibility",childTabStopId:n+"-selected"},{children:l.map(((e,t)=>(0,i.jsx)(a.Button,{className:e.selected?"selected":void 0,id:e.selected?n+"-selected":void 0,role:"tab",title:e.title,label:e.label,onClick:e.onClick,ariaSelected:e.selected,ariaHidden:o},t)))}))};function u(e){var t;return!!(null===(t=e.items)||void 0===t?void 0:t.length)}},{"../util":9,"./Button":1,"./FocusList":5,"./MenuDropdown":8,"react/jsx-runtime":108}],5:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.FocusList=void 0;const i=e("react/jsx-runtime");n.FocusList=e=>{const{id:t,className:n,role:r,ariaHidden:a,ariaLabel:s,childTabStopId:o,children:l,onItemReceivedFocus:c,useUpAndDownArrowKeys:u}=e;let d,p;return(0,i.jsx)("div",Object.assign({id:t,className:n,role:r,tabIndex:o?void 0:0,onKeyDown:e=>{if(!(null==d?void 0:d.length))return;const t=document.activeElement,n=d.indexOf(t),i=e=>{e.focus(),c&&c(e)};-1===n&&t!==p||("Enter"===e.key||" "===e.key?(e.preventDefault(),e.stopPropagation(),t.click?t.click():t.dispatchEvent(new Event("click"))):e.key===(u?"ArrowDown":"ArrowRight")?(n===d.length-1||t===p?i(d[0]):i(d[n+1]),e.preventDefault(),e.stopPropagation()):e.key===(u?"ArrowUp":"ArrowLeft")?(i(0===n||t===p?d[d.length-1]:d[Math.max(n-1,0)]),e.preventDefault(),e.stopPropagation()):"Home"===e.key?(i(d[0]),e.preventDefault(),e.stopPropagation()):"End"===e.key&&(i(d[d.length-1]),e.preventDefault(),e.stopPropagation()))},ref:e=>{if(!e||p)return;p=e;const t=e.querySelectorAll('[tabindex]:not([tabindex="-1"]),[data-isfocusable]');d=[];for(const e of t.values())d.push(e),e.setAttribute("tabindex","-1"),e.setAttribute("data-isfocusable","true");if(o){const e=p.querySelector("#"+o);e&&e.setAttribute("tabindex","0")}},"aria-hidden":a,"aria-label":s},{children:l}))}},{"react/jsx-runtime":108}],6:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.FocusTrap=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../util");n.FocusTrap=e=>{const{children:t,id:n,className:s,onEscape:o,arrowKeyNavigation:l,dontStealFocus:c,includeOutsideTabOrder:u}=e;let d;const[p,f]=r.useState(!1),h=()=>(0,a.nodeListToArray)(u?d.querySelectorAll("[tabindex]"):d.querySelectorAll('[tabindex]:not([tabindex="-1"])'));return(0,i.jsx)("div",Object.assign({id:n,className:(0,a.classList)("common-focus-trap",s),ref:e=>{e&&(d=e,c||p||e.contains(document.activeElement)||!h().length||(d.focus(),f(!0)))},onKeyDown:e=>{if(!d)return;const t=(t,n)=>{const i=h();if(!i.length)return;const r=i.indexOf(e.target);t?n?i[i.length-1].focus():r===i.length-1?i[0].focus():i[r+1].focus():n?i[0].focus():0===r?i[i.length-1].focus():i[Math.max(r-1,0)].focus(),e.preventDefault(),e.stopPropagation()};"Escape"===e.key?(o(),e.preventDefault(),e.stopPropagation()):"Tab"===e.key?e.shiftKey?t(!1,!1):t(!0,!1):l&&("ArrowDown"===e.key?t(!0,!1):"ArrowUp"===e.key?t(!1,!1):"Home"===e.key?t(!1,!0):"End"===e.key&&t(!0,!0))},tabIndex:-1},{children:t}))}},{"../util":9,react:107,"react/jsx-runtime":108}],7:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Input=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../util"),s=e("./Button");n.Input=e=>{const{id:t,className:n,inputClassName:o,groupClassName:l,role:c,ariaHidden:u,ariaLabel:d,initialValue:p,label:f,title:h,placeholder:m,icon:g,iconTitle:v,disabled:y,type:b,readOnly:E,autoComplete:k,selectOnClick:T,onChange:C,onEnterKey:w,onIconClick:S,onBlur:x,handleInputRef:O,preserveValueOnBlur:_}=e,[j,I]=r.useState(void 0);return(0,i.jsxs)("div",Object.assign({className:(0,a.classList)("common-input-wrapper",y&&"disabled",n)},{children:[f&&(0,i.jsx)("label",Object.assign({className:"common-input-label",htmlFor:t},{children:f})),(0,i.jsxs)("div",Object.assign({className:(0,a.classList)("common-input-group",l)},{children:[(0,i.jsx)("input",{id:t,className:(0,a.classList)("common-input",g&&"has-icon",o),title:h,role:c||"textbox",tabIndex:y?-1:0,"aria-label":d,"aria-hidden":u,type:b||"text",placeholder:m,value:void 0!==j?j:p||"",readOnly:!!E,onClick:e=>{T&&e.target.select()},onChange:e=>{const t=e.target.value;E||j===t||I(t),C&&C(t)},onKeyDown:t=>{const n="number"==typeof t.which?t.which:t.keyCode;(13===n||e.treatSpaceAsEnter&&32===n)&&w&&(t.preventDefault(),w(j))},onBlur:()=>{x&&x(j),_||I(void 0)},autoComplete:k?"":"off",autoCorrect:k?"":"off",autoCapitalize:k?"":"off",spellCheck:k,disabled:y,ref:O}),g&&(S?(0,i.jsx)(s.Button,{leftIcon:g,title:v,disabled:y,onClick:()=>{S&&S(j)}}):(0,i.jsx)("i",{className:g,"aria-hidden":!0}))]}))]}))}},{"../util":9,"./Button":1,react:107,"react/jsx-runtime":108}],8:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.MenuDropdown=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../util"),s=e("./Button"),o=e("./FocusTrap");n.MenuDropdown=e=>{const{id:t,className:n,ariaHidden:l,ariaLabel:c,role:u,items:d,label:p,title:f,icon:h,tabIndex:m}=e,[g,v]=r.useState(!1);let y,b;const E=(0,a.classList)("common-menu-dropdown",n),k=t+"-menu";return(0,i.jsxs)("div",Object.assign({className:E,ref:e=>{e&&(y=e)},onBlur:e=>{y&&g&&!y.contains(e.relatedTarget)&&v(!1)}},{children:[(0,i.jsx)(s.Button,{id:t,label:p,tabIndex:m,buttonRef:e=>{e&&(b=e)},title:f,leftIcon:h,role:u||"menuitem",className:(0,a.classList)("menu-button",g&&"expanded"),onClick:()=>{v(!g)},ariaHasPopup:"true",ariaExpanded:g,ariaControls:g?k:void 0,ariaLabel:c,ariaHidden:l}),g&&(0,i.jsx)("div",Object.assign({role:"menu",className:"common-menu-dropdown-pane",tabIndex:0,id:k,"aria-labelledby":t},{children:(0,i.jsx)(o.FocusTrap,Object.assign({arrowKeyNavigation:!0,onEscape:()=>{v(!1),b&&b.focus()}},{children:(0,i.jsx)("ul",Object.assign({role:"presentation"},{children:d.map(((e,t)=>(0,i.jsx)("li",Object.assign({role:"presentation"},{children:(0,i.jsx)(s.Button,Object.assign({},e,{className:(0,a.classList)("common-menu-dropdown-item",e.className),onClick:()=>{v(!1),e.onClick()},role:"menuitem",ariaPosInSet:t+1,ariaSetSize:d.length}))}),t)))}))}))}))]}))}},{"../util":9,"./Button":1,"./FocusTrap":6,react:107,"react/jsx-runtime":108}],9:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.screenToSVGCoord=n.clientCoord=n.CheckboxStatus=n.nodeListToArray=n.classList=n.fireClickOnEnter=n.jsxLF=void 0;const i=e("react/jsx-runtime");var r;n.jsxLF=function(e,...t){const n=[];e.replace(/\{\d\}/g,(e=>(n.push(parseInt(e.substr(1,1))),e)));const r=[];let a,s=0;for(const o of n)a=e.split(`{${o}}`),pxt.U.assert(2===a.length),r.push((0,i.jsx)("span",{children:a[0]},s++)),r.push((0,i.jsx)("span",{children:t[o]},s++)),e=a[1];return r.push((0,i.jsx)("span",{children:e},s++)),r},n.fireClickOnEnter=function(e){const t="number"==typeof e.which?e.which:e.keyCode;13!==t&&32!==t||(e.preventDefault(),e.currentTarget.click())},n.classList=function(...e){return e.filter((e=>"string"==typeof e)).reduce(((e,t)=>e.concat(t.split(" "))),[]).map((e=>e.trim())).filter((e=>!!e)).join(" ")},n.nodeListToArray=function(e){const t=[];for(const n of e)t.push(n);return t},(r=n.CheckboxStatus||(n.CheckboxStatus={}))[r.Selected=0]="Selected",r[r.Unselected=1]="Unselected",r[r.Waiting=2]="Waiting",n.clientCoord=function(e){if(e.touches){const t=e;return t.touches.length?t.touches[0]:t.changedTouches[0]}return e},n.screenToSVGCoord=function(e,t){const n=e.createSVGPoint();return n.x=t.clientX,n.y=t.clientY,n.matrixTransform(e.getScreenCTM().inverse())}},{"react/jsx-runtime":108}],10:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.AssetEditor=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-dom"),s=e("./components/ImageFieldEditor"),o=e("./components/ImageEditor/store/imageReducer");document.addEventListener("DOMContentLoaded",(()=>{!function(){const e=document.getElementById("asset-editor-field-div");a.render((0,i.jsx)(l,{}),e)}()}));class l extends r.Component{constructor(e){super(e),this.handleMessage=e=>{const t=e.data;switch(t.type){case"create":this.initTilemapProject(t.files);const e=this.getEmptyAsset(t.assetType);this.setState({editing:e,isEmptyAsset:!0}),this.sendResponse({id:t.id,type:t.type});break;case"open":this.initTilemapProject(t.files),this.setState({editing:this.lookupAsset(t.assetType,t.assetId)}),this.sendResponse({id:t.id,type:t.type});break;case"duplicate":this.initTilemapProject(t.files);const n=this.lookupAsset(t.assetType,t.assetId);this.setState({editing:this.tilemapProject.duplicateAsset(n)}),this.sendResponse({id:t.id,type:t.type});break;case"save":this.sendResponse({id:t.id,type:t.type,files:this.saveProjectFiles()})}},this.refHandler=e=>{e&&(this.editor=e,this.editor.init(this.state.editing,(()=>{}),{galleryTiles:this.galleryTiles}))},this.callbackOnDoneClick=()=>{this.sendEvent({type:"event",kind:"done-clicked"})},this.state={},pxt.react.getTilemapProject=()=>this.tilemapProject,(0,o.setTelemetryFunction)(c)}componentDidMount(){window.addEventListener("message",this.handleMessage,null),this.sendEvent({type:"event",kind:"ready"}),c("asset-editor-shown")}componentWillUnmount(){window.removeEventListener("message",this.handleMessage,null)}render(){return this.state.editing?(0,i.jsx)(s.ImageFieldEditor,{ref:this.refHandler,singleFrame:"animation"!==this.state.editing.type,isMusicEditor:"song"===this.state.editing.type,doneButtonCallback:this.callbackOnDoneClick}):(0,i.jsx)("div",{})}sendResponse(e){this.postMessage(e)}sendEvent(e){this.postMessage(e)}postMessage(e){window.acquireVsCodeApi?window.acquireVsCodeApi().postMessage(e):window.parent.postMessage(e,"*")}saveProjectFiles(){var e;const t=this.editor.getValue();if(this.state.isEmptyAsset){const n=null===(e=t.meta)||void 0===e?void 0:e.displayName;let i;switch(t.type){case"image":i=this.tilemapProject.createNewProjectImage(t.bitmap,n);break;case"tile":i=this.tilemapProject.createNewTile(t.bitmap,null,n);break;case"tilemap":const[e,r]=this.tilemapProject.createNewTilemapFromData(t.data,n);i=this.tilemapProject.lookupAssetByName("tilemap",e);break;case"animation":i=this.tilemapProject.createNewAnimationFromData(t.frames,t.interval,n);break;case"song":i=this.tilemapProject.createNewSong(t.song,n)}this.setState({isEmptyAsset:!1,editing:i}),this.editor.init(this.state.editing,(()=>{}),{galleryTiles:this.galleryTiles})}else this.tilemapProject.updateAsset(t);const n=pxt.inflateJRes(this.tilemapProject.getProjectAssetsJRes()),i=pxt.inflateJRes(this.tilemapProject.getProjectTilesetJRes()),r={};for(const e of Object.keys(n)){const t=this.locateFileForAsset(e)||pxt.IMAGES_JRES;r[t]||(r[t]={}),r[t][e]=n[e]}for(const e of Object.keys(i)){const t=this.locateFileForAsset(e)||pxt.TILEMAP_JRES;r[t]||(r[t]={}),r[t][e]=i[e]}const a=Object.assign({},this.files);for(const e of Object.keys(r)){a[e]=JSON.stringify(r[e],null,4);const t=e.substring(0,e.length-"jres".length)+"ts";(a[t]||e===pxt.IMAGES_JRES||e===pxt.TILEMAP_JRES)&&(a[t]=pxt.emitProjectImages(r[e])+"\n"+pxt.emitTilemapsFromJRes(r[e]))}return a}initTilemapProject(e){const t={},n={},i={},r={};this.tilemapProject=new pxt.TilemapProject,this.inflatedJres={},this.commentAttrs={};for(const a of Object.keys(e)){if(!a.endsWith(".jres")){const t=u(e[a]);for(const e of Object.keys(t))this.commentAttrs[e]=t[e];continue}const s=-1!==a.indexOf("pxt_modules")||-1!==a.indexOf("node_modules"),o=pxt.inflateJRes(JSON.parse(e[a]));this.inflatedJres[a]=o;for(const e of Object.keys(o))o[e].mimeType===pxt.TILEMAP_MIME_TYPE||o[e].tilemapTile?s?n[e]=o[e]:t[e]=o[e]:s?r[e]=o[e]:i[e]=o[e]}this.tilemapProject.loadAssetsJRes(r,!0),this.tilemapProject.loadAssetsJRes(i),this.tilemapProject.loadTilemapJRes(n,!1,!0),this.tilemapProject.loadTilemapJRes(t),this.galleryTiles=this.tilemapProject.getGalleryAssets("tile").map((e=>{const t=this.commentAttrs[e.id];if(!t)return;const n=(t.tags||"").split(" ").filter((e=>!!e)).map((e=>pxt.Util.startsWith(e,"category-")?e:e.toLowerCase()));return-1!==n.indexOf("tile")?{qName:e.id,bitmap:e.bitmap,alt:e.id,tags:n}:void 0})).filter((e=>!!e))}locateFileForAsset(e){for(const t of Object.keys(this.inflatedJres))if(this.inflatedJres[t][e])return t}getEmptyAsset(e){const t=pxt.react.getTilemapProject(),n={type:e,id:"",internalID:0,meta:{displayName:pxt.getDefaultAssetDisplayName(e)}};switch(e){case"image":case"tile":n.bitmap=new pxt.sprite.Bitmap(16,16).data();break;case"tilemap":n.data=t.blankTilemap(16,16,16);case"animation":const e=n;e.frames=[new pxt.sprite.Bitmap(16,16).data()],e.interval=200;break;case"song":n.song=pxt.assets.music.getEmptySong(2)}return n}lookupAsset(e,t){const n=this.tilemapProject.lookupAsset(e,t);if(n)return n;const i=t.split(".");return this.tilemapProject.lookupAsset(e,i[i.length-1])}}function c(e){pxt.tickEvent("asset.editor",{action:e})}function u(e){const t=e.split("\n"),n={};let i,r="";for(const e of t){const t=/^namespace\s+([^\}]+)\s+\{$/.exec(e);if(t){i=t[1],r="";continue}if(/^\s+\/\/%\s/.test(e)){r+=e+"\n";continue}const a=/^\s*export\s+const\s+([^\s]+)\s*=/.exec(e);a&&(n[i+"."+a[1]]=pxtc.parseCommentString(r),r="")}return n}n.AssetEditor=l},{"./components/ImageEditor/store/imageReducer":30,"./components/ImageFieldEditor":36,react:107,"react-dom":75,"react/jsx-runtime":108}],11:[function(e,t,n){"use strict";function i(e,t=new pxt.ImageConverter){var n;switch(e.type){case"image":case"tile":return e.previewURI=t.convert("data:image/x-mkcd-f,"+e.jresData),e;case"tilemap":let i=e.data.tilemap;return e.previewURI=pxtblockly.tilemapToImageURI(e.data,Math.max(i.width,i.height),!1),e;case"animation":return(null===(n=e.frames)||void 0===n?void 0:n.length)<=0?null:(e.framePreviewURIs=e.frames.map((e=>t.convert("data:image/x-mkcd-f,"+pxt.sprite.base64EncodeBitmap(e)))),e.previewURI=e.framePreviewURIs[0],e);case"song":return e.previewURI=pxtblockly.songToDataURI(e.song,32,32,!1,1),e}}function r(e){return function(t,n){const i=-1===e.indexOf(t.meta.package)?0:1,r=-1===e.indexOf(n.meta.package)?0:1;return i===r?function(e,t){return e.internalID-t.internalID}(t,n):i-r}}Object.defineProperty(n,"__esModule",{value:!0}),n.assetToGalleryItem=n.getAssets=n.getNewInternalID=n.lookupAsset=n.createTile=n.createProjectImage=n.createNewImageAsset=n.isNameTaken=void 0,n.isNameTaken=function(e){return pxt.react.getTilemapProject().isNameTaken("image",e)},n.createNewImageAsset=function(e,t,n,i){const r=pxt.react.getTilemapProject();switch(e){case"tile":return r.createNewTile(new pxt.sprite.Bitmap(t,n).data(),null,i);case"image":return r.createNewImage(t,n)}return null},n.createProjectImage=function(e){return pxt.react.getTilemapProject().createNewProjectImage(e)},n.createTile=function(e,t,n){return pxt.react.getTilemapProject().createNewTile(e,t,n)},n.lookupAsset=function(e,t){return pxt.react.getTilemapProject().lookupAsset(e,t)},n.getNewInternalID=function(){return pxt.react.getTilemapProject().getNewInternalId()},n.getAssets=function(e=!1,t="image",n=[]){const a=pxt.react.getTilemapProject(),s=new pxt.ImageConverter,o=e=>i(e,s),l=e?a.getGalleryAssets.bind(a):a.getAssets.bind(a),c=function(){var e;const t=null===(e=pxt.appTarget.blocksprj)||void 0===e?void 0:e.config;if(t)return Object.keys(t.dependencies);return[]}(),u=l("image").map(o).sort(r(c)),d=l("tile").map(o).filter((e=>!e.id.match(/^myTiles.transparency(8|16|32)$/gi))).sort(r(c)),p=l("tilemap").map(o).sort(r(c)),f=l("animation").map(o).sort(r(c)),h=l("song").map(o).sort(r(c));for(const e of n)switch(e.type){case"image":u.push(o(e));break;case"tile":d.push(o(e));break;case"animation":f.push(o(e));break;case"tilemap":p.push(o(e));break;case"song":h.push(o(e))}let m=[];switch(t){case"image":m=u.concat(d).concat(f).concat(p).concat(h);break;case"tile":m=d.concat(u).concat(f).concat(p).concat(h);break;case"animation":m=f.concat(u).concat(d).concat(p).concat(h);break;case"tilemap":m=p.concat(d).concat(u).concat(f).concat(h);break;case"song":m=h.concat(u).concat(d).concat(f).concat(p)}return pxt.tickEvent(e?"assets.gallery":"assets.update",{count:m.length}),m},n.assetToGalleryItem=i},{}],12:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.FilterPanel=n.FilterPanelSubheading=n.FilterTag=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../util");class s extends r.Component{constructor(e){super(e),this.clickHandler=this.clickHandler.bind(this)}render(){return(0,i.jsxs)("div",Object.assign({className:"filter-tag"},{children:[(0,i.jsx)("div",Object.assign({className:"filter-tag-box",role:"checkbox",onClick:this.clickHandler,onKeyDown:a.fireClickOnEnter,"aria-checked":this.props.selected},{children:(0,i.jsx)("i",{className:"icon square outline "+(this.props.selected?"check":"")})})),(0,i.jsx)("div",Object.assign({className:"filter-tag-name",role:"button",onClick:this.clickHandler,onKeyDown:a.fireClickOnEnter},{children:pxtc.U.rlf(this.props.tag)}))]}))}clickHandler(){this.props.onClickHandler(this.props.tag)}}n.FilterTag=s;class o extends r.Component{render(){return(0,i.jsxs)("div",Object.assign({className:"filter-subheading-row"},{children:[(0,i.jsx)("div",Object.assign({className:"filter-subheading-title"},{children:`${this.props.subheading}:`})),this.props.buttonText&&(0,i.jsx)("div",Object.assign({className:"filter-subheading-button",role:"button",style:this.props.buttonStyle,onClick:this.props.buttonAction,onKeyDown:a.fireClickOnEnter},{children:this.props.buttonText}))]}))}}n.FilterPanelSubheading=o;class l extends r.Component{isTagSelected(e){return this.props.enabledTags.indexOf(e.toLowerCase())>=0}render(){const e=this.props.tagOptions;return(0,i.jsxs)("div",Object.assign({className:"filter-panel"},{children:[(0,i.jsx)("div",Object.assign({className:"filter-title"},{children:lf("Filter")})),(0,i.jsx)(o,{subheading:lf("Categories"),buttonText:lf("Clear"),buttonAction:this.props.clearTags,buttonStyle:this.props.enabledTags.length>0?{color:"white"}:{}}),(0,i.jsx)("div",Object.assign({className:"filter-tag-list"},{children:e.map((e=>(0,i.jsx)(s,{tag:e,selected:this.isTagSelected(e),onClickHandler:this.props.tagClickHandler},e)))}))]}))}}n.FilterPanel=l},{"../util":59,react:107,"react/jsx-runtime":108}],13:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Alert=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./actions/dispatch");class o extends r.Component{constructor(e){super(e)}render(){const{title:e,text:t,options:n,dispatchHideAlert:r}=this.props;return(0,i.jsx)("div",Object.assign({className:"image-editor-alert-container",role:"region",onClick:r},{children:(0,i.jsxs)("div",Object.assign({className:"image-editor-alert",role:"dialog"},{children:[(0,i.jsxs)("div",Object.assign({className:"title"},{children:[(0,i.jsx)("span",{className:"ms-Icon ms-Icon--Warning"}),(0,i.jsx)("span",{children:e}),(0,i.jsx)("span",{className:"ms-Icon ms-Icon--Cancel",role:"button",onClick:r})]})),(0,i.jsx)("div",Object.assign({className:"text"},{children:t})),n&&(0,i.jsx)("div",Object.assign({className:"options"},{children:n.map(((e,t)=>(0,i.jsx)("div",Object.assign({className:"button",role:"button",onClick:e.onClick},{children:e.label}),t)))}))]}))}))}}const l={dispatchHideAlert:s.dispatchHideAlert};n.Alert=(0,a.connect)((function({editor:e},t){return e?t:{}}),l)(o)},{"./actions/dispatch":26,react:107,"react-redux":93,"react/jsx-runtime":108}],14:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BottomBar=n.BottomBarImpl=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./actions/dispatch"),o=e("./Button"),l=e("./util"),c=e("../../assets"),u=e("./keyboardShortcuts");class d extends r.Component{constructor(e){super(e),this.disableShortcutsOnFocus=()=>{this.setShortcutsEnabled(!1)},this.handleWidthChange=e=>{const t=e.target.value,n=parseInt(t),{aspectRatioLocked:i,imageDimensions:r}=this.props;!isNaN(n)&&i?this.setState({width:n+"",height:Math.floor(n*(r[1]/r[0]))+""}):this.setState({width:t})},this.handleHeightChange=e=>{const t=e.target.value,n=parseInt(t),{aspectRatioLocked:i,imageDimensions:r}=this.props;!isNaN(n)&&i?this.setState({height:n+"",width:Math.floor(n*(r[0]/r[1]))+""}):this.setState({height:t})},this.handleDimensionalBlur=()=>{const{imageDimensions:e,isTilemap:t,dispatchChangeImageDimensions:n}=this.props,i=parseInt(this.state.width),r=parseInt(this.state.height),a=t?255:512,s=isNaN(i)?e[0]:Math.min(Math.max(i,1),a),o=isNaN(r)?e[1]:Math.min(Math.max(r,1),a);s===e[0]&&o===e[1]||n([s,o]),this.setState({width:null,height:null}),this.setShortcutsEnabled(!0)},this.handleDimensionalKeydown=e=>{13===("number"==typeof e.which?e.which:e.keyCode)&&e.currentTarget.blur()},this.handleAssetNameChange=e=>{let t=null;const n=e.target.value.trim(),i=e.target.value;pxt.validateAssetName(n)?(0,c.isNameTaken)(n)&&n!==this.props.assetName&&(t=lf("This name is already used elsewhere in your project")):t=lf("Names may only contain letters, numbers, '-', '_', and space"),this.setState({assetName:i,assetNameMessage:t})},this.handleAssetNameBlur=()=>{const{dispatchChangeAssetName:e,assetName:t}=this.props;let n=this.state.assetName.trim();n!==t&&pxt.validateAssetName(n)&&!(0,c.isNameTaken)(n)&&e(n),this.setState({assetName:null,assetNameMessage:null}),this.setShortcutsEnabled(!0)},this.zoomIn=()=>{this.props.dispatchChangeZoom(1)},this.zoomOut=()=>{this.props.dispatchChangeZoom(-1)},this.state={}}render(){const{imageDimensions:e,cursorLocation:t,hasUndo:n,hasRedo:r,dispatchUndoImageEdit:a,dispatchRedoImageEdit:s,aspectRatioLocked:c,onionSkinEnabled:u,dispatchToggleAspectRatioLocked:d,dispatchToggleOnionSkinEnabled:p,resizeDisabled:f,singleFrame:h,onDoneClick:m,assetName:g}=this.props,{assetNameMessage:v}=this.state,y=null==this.state.width?e[0]:this.state.width,b=null==this.state.height?e[1]:this.state.height,E=null==this.state.assetName?g||"":this.state.assetName;return(0,i.jsxs)("div",Object.assign({className:"image-editor-bottombar"},{children:[!f&&(0,i.jsxs)("div",Object.assign({className:"image-editor-resize"},{children:[(0,i.jsx)("input",{className:"image-editor-input",title:lf("Image Width"),value:y,tabIndex:0,onChange:this.handleWidthChange,onFocus:this.disableShortcutsOnFocus,onBlur:this.handleDimensionalBlur,onKeyDown:this.handleDimensionalKeydown}),(0,i.jsx)(o.IconButton,{onClick:d,iconClass:c?"ms-Icon ms-Icon--Lock":"ms-Icon ms-Icon--Unlock",title:c?lf("Unlock Aspect Ratio"):lf("Lock Aspect Ratio"),toggle:!c,noTab:!0}),(0,i.jsx)("input",{className:"image-editor-input",title:lf("Image Height"),value:b,tabIndex:0,onChange:this.handleHeightChange,onFocus:this.disableShortcutsOnFocus,onBlur:this.handleDimensionalBlur,onKeyDown:this.handleDimensionalKeydown})]})),!h&&(0,i.jsx)("div",{className:"image-editor-seperator"}),!h&&(0,i.jsx)("div",{children:(0,i.jsx)(o.IconButton,{onClick:p,iconClass:"ms-Icon ms-Icon--MapLayers",title:u?lf("Hide Previous Frame"):lf("Show Previous Frame"),toggle:!u})}),t&&!f&&(0,i.jsx)("div",{className:"image-editor-seperator"}),(0,i.jsx)("div",Object.assign({className:"image-editor-coordinate-preview"},{children:t&&`${t[0]}, ${t[1]}`})),(0,i.jsxs)("div",Object.assign({className:"image-editor-change-name"},{children:[(0,i.jsx)("input",{className:"image-editor-input",title:lf("Asset Name"),value:E,placeholder:lf("Asset Name"),tabIndex:0,onChange:this.handleAssetNameChange,onFocus:this.disableShortcutsOnFocus,onBlur:this.handleAssetNameBlur,onKeyDown:this.handleDimensionalKeydown}),v&&(0,i.jsx)("div",Object.assign({className:"ui pointing below red basic label"},{children:v}))]})),(0,i.jsxs)("div",Object.assign({className:"image-editor-undo-redo"},{children:[(0,i.jsx)(o.IconButton,{title:lf("Undo"),iconClass:"ms-Icon ms-Icon--Undo",onClick:n?a:null,disabled:!n}),(0,i.jsx)(o.IconButton,{title:lf("Redo"),iconClass:"ms-Icon ms-Icon--Redo",onClick:r?s:null,disabled:!r})]})),(0,i.jsx)("div",{className:"image-editor-seperator"}),(0,i.jsxs)("div",Object.assign({className:"image-editor-zoom-controls"},{children:[(0,i.jsx)(o.IconButton,{onClick:this.zoomOut,iconClass:"ms-Icon ms-Icon--ZoomOut",title:lf("Zoom Out"),toggle:!0}),(0,i.jsx)(o.IconButton,{onClick:this.zoomIn,iconClass:"ms-Icon ms-Icon--ZoomIn",title:lf("Zoom In"),toggle:!0})]})),(0,i.jsx)("div",Object.assign({role:"button",className:"image-editor-confirm",title:lf("Done"),tabIndex:0,onClick:m,onKeyDown:l.fireClickOnlyOnEnter},{children:lf("Done")}))]}))}setShortcutsEnabled(e){e&&this.shortcutLock?((0,u.releaseShortcutLock)(this.shortcutLock),this.shortcutLock=void 0):e||this.shortcutLock||(this.shortcutLock=(0,u.obtainShortcutLock)())}}n.BottomBarImpl=d;const p={dispatchChangeImageDimensions:s.dispatchChangeImageDimensions,dispatchUndoImageEdit:s.dispatchUndoImageEdit,dispatchRedoImageEdit:s.dispatchRedoImageEdit,dispatchToggleAspectRatioLocked:s.dispatchToggleAspectRatioLocked,dispatchToggleOnionSkinEnabled:s.dispatchToggleOnionSkinEnabled,dispatchChangeZoom:s.dispatchChangeZoom,dispatchChangeAssetName:s.dispatchChangeAssetName};n.BottomBar=(0,a.connect)((function({store:{present:e,past:t,future:n},editor:i},r){var a,s,o;if(!e)return{};const l=i.isTilemap?e.tilemap.bitmap:e.frames[e.currentFrame].bitmap;return{imageDimensions:[l.width,l.height],aspectRatioLocked:e.aspectRatioLocked,onionSkinEnabled:i.onionSkinEnabled,cursorLocation:i.cursorLocation,resizeDisabled:"tile"===(null===(a=e.asset)||void 0===a?void 0:a.type),assetName:null===(o=null===(s=e.asset)||void 0===s?void 0:s.meta)||void 0===o?void 0:o.displayName,hasUndo:!!t.length,hasRedo:!!n.length,isTilemap:i.isTilemap}}),p)(d)},{"../../assets":11,"./Button":15,"./actions/dispatch":26,"./keyboardShortcuts":28,"./util":35,react:107,"react-redux":93,"react/jsx-runtime":108}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.IconButton=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./util");class s extends r.Component{render(){const{title:e,iconClass:t,onClick:n,toggle:r,disabled:s,noTab:o}=this.props;return(0,i.jsx)("div",Object.assign({role:"button",className:`image-editor-button ${r?"toggle":""} ${s?"disabled":""}`,title:e,tabIndex:o||s?-1:0,onClick:n,onKeyDown:a.fireClickOnlyOnEnter},{children:(0,i.jsx)("span",{className:t})}))}}n.IconButton=s},{"./util":35,react:107,"react/jsx-runtime":108}],16:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.CursorSizes=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./actions/dispatch"),s=e("react-redux");class o extends r.Component{constructor(){super(...arguments),this.handlers=[]}render(){const{selected:e}=this.props;return(0,i.jsxs)("div",Object.assign({className:"cursor-buttons"},{children:[(0,i.jsx)("div",Object.assign({className:"cursor-button-outer "+(1===e?"selected":""),title:lf("Small Cursor (1px)"),role:"button",onClick:this.clickHandler(1)},{children:(0,i.jsx)("div",{className:"cursor-button small"})})),(0,i.jsx)("div",Object.assign({className:"cursor-button-outer "+(3===e?"selected":""),title:lf("Medium Cursor (3px)"),role:"button",onClick:this.clickHandler(3)},{children:(0,i.jsx)("div",{className:"cursor-button medium"})})),(0,i.jsx)("div",Object.assign({className:"cursor-button-outer "+(5===e?"selected":""),title:lf("Large Cursor (5px)"),role:"button",onClick:this.clickHandler(5)},{children:(0,i.jsx)("div",{className:"cursor-button large"})}))]}))}clickHandler(e){return this.handlers[e]||(this.handlers[e]=()=>{const{dispatchChangeCursorSize:t}=this.props;t(e)}),this.handlers[e]}}const l={dispatchChangeCursorSize:a.dispatchChangeCursorSize};n.CursorSizes=(0,s.connect)((function({editor:e},t){return e?{selected:e.cursorSize}:{}}),l)(o)},{"./actions/dispatch":26,react:107,"react-redux":93,"react/jsx-runtime":108}],17:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Dropdown=void 0;const i=e("react/jsx-runtime"),r=e("react");class a extends r.Component{constructor(e){super(e),this.handlers=[],this.handleDropdownClick=()=>{this.setState({open:!this.state.open})},this.state={open:!1}}componentDidUpdate(){this.handlers=[]}componentWillUnmount(){this.handlers=null}render(){const{options:e,selected:t}=this.props,{open:n}=this.state,r=e[t];return(0,i.jsxs)("div",Object.assign({className:"image-editor-dropdown-outer"},{children:[(0,i.jsxs)("button",Object.assign({className:"image-editor-dropdown","aria-haspopup":"listbox",onClick:this.handleDropdownClick,tabIndex:-1},{children:[(null==r?void 0:r.text)||"",(0,i.jsx)("span",{className:"image-editor-dropdown-chevron ms-Icon ms-Icon--ChevronDown"})]})),(0,i.jsx)("ul",Object.assign({tabIndex:-1,role:"listbox","aria-activedescendant":null==r?void 0:r.id,className:n&&e.length?"":"hidden"},{children:e.map(((e,n)=>(0,i.jsx)("li",Object.assign({role:"option","aria-selected":n===t,className:n===t?"selected":"",onClick:this.clickHandler(n)},{children:e.text}),e.id)))}))]}))}clickHandler(e){if(!this.handlers[e]){const{onChange:t,options:n}=this.props;this.handlers[e]=()=>{this.setState({open:!1}),t(n[e],e)}}return this.handlers[e]}}n.Dropdown=a},{react:107,"react/jsx-runtime":108}],18:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ImageCanvas=n.ImageCanvasImpl=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./store/imageReducer"),o=e("./actions/dispatch"),l=e("./util"),c=e("./toolDefinitions"),u=e("../../assets"),d=e("./keyboardShortcuts"),p=e("./ImageEditor"),f=[s.TileDrawingMode.Wall];class h extends r.Component{constructor(){super(...arguments),this.cursor=c.ToolCursor.Crosshair,this.zoom=2.5,this.panX=0,this.panY=0,this.hasInteracted=!1,this.tileCache={},this.onKeyDown=e=>{var t,n,i,r,a,o;if((0,d.areShortcutsEnabled)()){if(this.hasInteracted=!0,this.shouldHandleCanvasShortcut()&&(null===(n=null===(t=this.editState)||void 0===t?void 0:t.floating)||void 0===n?void 0:n.image)){let t=!1;switch(e.key){case"ArrowLeft":this.editState.layerOffsetX=Math.max(this.editState.layerOffsetX-1,-this.editState.floating.image.width),t=!0;break;case"ArrowUp":this.editState.layerOffsetY=Math.max(this.editState.layerOffsetY-1,-this.editState.floating.image.height),t=!0;break;case"ArrowRight":this.editState.layerOffsetX=Math.min(this.editState.layerOffsetX+1,this.editState.width),t=!0;break;case"ArrowDown":this.editState.layerOffsetY=Math.min(this.editState.layerOffsetY+1,this.editState.height),t=!0}t&&(this.props.dispatchImageEdit(this.editState.toImageState()),e.preventDefault())}if(!e.repeat){switch(!e.ctrlKey&&!e.metaKey||"c"!==e.key&&"v"!==e.key||e.stopPropagation(),(e.ctrlKey||e.metaKey)&&"a"===e.key&&this.shouldHandleCanvasShortcut()&&(this.selectAll(),e.preventDefault()),"Escape"==e.key&&(null===(r=null===(i=this.editState)||void 0===i?void 0:i.floating)||void 0===r?void 0:r.image)&&this.shouldHandleCanvasShortcut()&&(this.cancelSelection(),e.preventDefault()),("Backspace"===e.key||"Delete"===e.key)&&(null===(o=null===(a=this.editState)||void 0===a?void 0:a.floating)||void 0===o?void 0:o.image)&&this.shouldHandleCanvasShortcut()&&(this.deleteSelection(),e.preventDefault()),this.lastTool=this.props.tool,e.keyCode){case 18:this.props.dispatchChangeImageTool(s.ImageEditorTool.ColorSelect),e.preventDefault();break;case 32:this.props.dispatchChangeImageTool(s.ImageEditorTool.Pan);break;default:this.lastTool=null}this.updateCursor(!1,!1)}}},this.onKeyUp=e=>{null!=this.lastTool&&(this.props.dispatchChangeImageTool(this.lastTool),this.lastTool=null,this.updateCursor(!1,!1))},this.onCopy=e=>{var t,n;if(this.props.tool===s.ImageEditorTool.Marquee&&(null===(n=null===(t=this.editState)||void 0===t?void 0:t.floating)||void 0===n?void 0:n.image))if(e.preventDefault(),this.props.isTilemap)e.clipboardData.setData("application/makecode-tilemap",JSON.stringify((0,l.createTilemapPatchFromFloatingLayer)(this.editState,this.props.tilemapState.tileset)));else{const t=pxt.sprite.bitmapToImageLiteral(this.editState.floating.image,"typescript");e.clipboardData.setData("application/makecode-image",t),e.clipboardData.setData("text/plain",t)}},this.onPaste=e=>{if(this.props.isTilemap){const t=e.clipboardData.getData("application/makecode-tilemap");let n;try{n=JSON.parse(t)}catch(e){}if(!(n&&n.map&&n.layers&&n.tiles))return;return e.preventDefault(),void this.applyTilemapPatch(n)}let t=e.clipboardData.getData("application/makecode-image");if(!t){const n=e.clipboardData.getData("text/plain"),i=/img(`|\(""")[\s\da-f.#tngrpoyw]+(`|"""\))/im.exec(n);i&&(t=i[0])}const n=t&&pxt.sprite.imageLiteralToBitmap(t);n&&n.width&&n.height&&(e.preventDefault(),this.props.tool!==s.ImageEditorTool.Marquee&&this.props.dispatchChangeImageTool(s.ImageEditorTool.Marquee),this.editState.mergeFloatingLayer(),this.editState.setFloatingLayer(n),this.props.dispatchImageEdit(this.editState.toImageState()))},this.preventContextMenu=e=>e.preventDefault()}render(){const e=this.getImageState(),t=!e||e.bitmap.height>e.bitmap.width,n=!this.props.isTilemap&&this.props.tool==s.ImageEditorTool.Marquee;return(0,i.jsx)("div",Object.assign({ref:"canvas-bounds",className:"image-editor-canvas "+(t?"portrait":"landscape"),onContextMenu:this.preventContextMenu},{children:(0,i.jsxs)("div",Object.assign({className:"paint-container"},{children:[!this.props.lightMode&&(0,i.jsx)("canvas",{ref:"paint-surface-bg",className:"paint-surface"}),(0,i.jsx)("canvas",{ref:"paint-surface",className:"paint-surface main"}),f.map(((e,t)=>(0,i.jsx)("canvas",{ref:`paint-surface-${e.toString()}`,className:"paint-surface overlay "+(this.props.overlayEnabled?"":"hide")},t))),(0,i.jsx)("div",{ref:"floating-layer-border",className:"image-editor-floating-layer"}),n&&(0,i.jsx)("div",{ref:"floating-layer-nw-corner",className:"image-editor-floating-layer-corner"}),n&&(0,i.jsx)("div",{ref:"floating-layer-ne-corner",className:"image-editor-floating-layer-corner"}),n&&(0,i.jsx)("div",{ref:"floating-layer-se-corner",className:"image-editor-floating-layer-corner"}),n&&(0,i.jsx)("div",{ref:"floating-layer-sw-corner",className:"image-editor-floating-layer-corner"})]}))}))}componentDidMount(){document.activeElement instanceof HTMLElement&&document.activeElement.blur(),this.tileCache={},this.cellWidth=this.props.isTilemap?this.props.tilemapState.tileset.tileWidth:1,this.canvas=this.refs["paint-surface"],this.background=this.refs["paint-surface-bg"],this.floatingLayer=this.refs["floating-layer-border"],this.canvasLayers=f.map((e=>this.refs[`paint-surface-${e.toString()}`])),(0,l.bindGestureEvents)(this.refs["canvas-bounds"],this);const e=this.refs["canvas-bounds"];e.addEventListener("wheel",(e=>{this.hasInteracted=!0,this.updateZoom(e.deltaY/30,e.clientX,e.clientY),e.preventDefault()})),e.addEventListener("mousemove",(e=>{e.button||(this.hasHover=!0),this.edit||this.updateCursorLocation(e)})),e.addEventListener("mouseout",(e=>{this.edit||this.updateCursorLocation(null)})),document.addEventListener("keydown",this.onKeyDown,!0),document.addEventListener("keyup",this.onKeyUp),document.addEventListener("copy",this.onCopy),document.addEventListener("paste",this.onPaste);const t=this.getImageState();this.editState=(0,c.getEditState)(t,this.props.isTilemap,this.props.drawingMode),this.redraw(),this.updateBackground()}componentDidUpdate(){if(!this.edit||!this.editState){const e=this.getImageState();this.editState=(0,c.getEditState)(e,this.props.isTilemap,this.props.drawingMode)}if(this.props.isTilemap||(this.tileCache={}),this.cellWidth=this.props.isTilemap?this.props.tilemapState.tileset.tileWidth:1,this.props.zoomDelta||0===this.props.zoomDelta)return 0===this.props.zoomDelta?this.hasInteracted||this.zoomToCanvas():(this.hasInteracted=!0,this.updateZoom(this.props.zoomDelta)),void this.props.dispatchChangeZoom(null);this.redraw(),this.updateBackground()}componentWillUnmount(){this.tileCache={},document.removeEventListener("keydown",this.onKeyDown,!0),document.removeEventListener("keyup",this.onKeyUp),document.removeEventListener("copy",this.onCopy),document.removeEventListener("paste",this.onPaste)}onClick(e,t){var n,i;this.hasInteracted=!0,this.isPanning()||(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),this.isColorSelect()?this.selectCanvasColor(e,t):(this.updateCursorLocation(e),this.inBounds(this.cursorLocation[0],this.cursorLocation[1])?(this.touchesResize(e.clientX,e.clientY)&&(this.isResizing=!0),this.startEdit(!!t),this.updateEdit(this.cursorLocation[0],this.cursorLocation[1]),this.commitEdit()):(null===(i=null===(n=this.editState)||void 0===n?void 0:n.floating)||void 0===i?void 0:i.image)&&(this.editState.mergeFloatingLayer(),this.props.dispatchImageEdit(this.editState.toImageState()))))}onDragStart(e,t){this.hasInteracted=!0,this.touchesResize(e.clientX,e.clientY)&&(this.isResizing=!0),this.isPanning()?(this.lastPanX=e.clientX,this.lastPanY=e.clientY,this.updateCursor(!0,!1)):this.isColorSelect()?this.selectCanvasColor(e,t):(this.updateCursorLocation(e),this.startEdit(!!t))}onDragMove(e){if(this.isPanning()&&null!=this.lastPanX&&null!=this.lastPanY)this.panX+=this.lastPanX-e.clientX,this.panY+=this.lastPanY-e.clientY,this.lastPanX=e.clientX,this.lastPanY=e.clientY,this.updateCursor(!0,!1);else{if(!this.edit)return;this.updateCursorLocation(e)&&this.updateEdit(this.cursorLocation[0],this.cursorLocation[1])}}onDragEnd(e){if(this.isPanning()&&null!=this.lastPanX&&null!=this.lastPanY)this.panX+=this.lastPanX-e.clientX,this.panY+=this.lastPanY-e.clientY,this.lastPanX=void 0,this.lastPanY=void 0,this.updateCursor(!1,!1);else if(this.isResizing){if(!this.edit)return;this.updateCursorLocation(e)&&this.updateEdit(this.cursorLocation[0],this.cursorLocation[1]),this.commitEdit(!1),this.updateCursor(!1,!1)}else{if(!this.edit)return;this.updateCursorLocation(e)&&this.updateEdit(this.cursorLocation[0],this.cursorLocation[1]),this.commitEdit()}this.isResizing=!1}updateCursorLocation(e){if(!e)return this.cursorLocation&&(this.cursorLocation=null,this.props.dispatchChangeCursorLocation(null),this.edit||this.redraw()),!1;if(this.canvas){const t=this.canvas.getBoundingClientRect(),n=Math.floor((e.clientX-t.left)/t.width*this.imageWidth),i=Math.floor((e.clientY-t.top)/t.height*this.imageHeight);return!(this.cursorLocation&&n===this.cursorLocation[0]&&i===this.cursorLocation[1]||(this.cursorLocation=[n,i,e.clientX,e.clientY],this.hasHover&&this.props.dispatchChangeCursorLocation(this.cursorLocation),this.edit||this.redraw(),this.updateCursor(!!this.edit,this.editState.inFloatingLayer(n,i)),0))}return this.cursorLocation=[0,0,e.clientX,e.clientY],!1}updateCursor(e,t){const{tool:n}=this.props,i=c.tools.find((e=>e.tool===n));i?t?e?this.updateCursorCore(i.downLayerCursor||i.hoverLayerCursor||i.downCursor||i.hoverCursor):this.updateCursorCore(i.hoverLayerCursor||i.hoverCursor):e?this.updateCursorCore(i.downCursor||i.hoverCursor):this.updateCursorCore(i.hoverCursor):this.updateCursorCore(c.ToolCursor.Default)}updateCursorCore(e){this.cursor=e||c.ToolCursor.Default,this.updateBackground()}startEdit(e){const{tool:t,toolWidth:n,selectedColor:i,backgroundColor:r,drawingMode:a}=this.props,[o,l]=this.cursorLocation;if(this.inBounds(o,l)||this.isResizing){let o=a==s.TileDrawingMode.Wall?2:e?r:i;this.edit=(0,c.getEdit)(t,this.editState,o,n),this.edit.originalImage=this.originalImage,this.edit.start(this.cursorLocation[0],this.cursorLocation[1],this.cursorLocation[2],this.cursorLocation[3],this.editState)}}updateEdit(e,t){this.edit&&(this.edit.inBounds(e,t)||this.isResizing)&&(this.edit.update(e,t),this.redraw())}commitEdit(e=!0){const{dispatchImageEdit:t}=this.props,n=this.getImageState();this.edit&&(this.editState=(0,c.getEditState)(n,this.props.isTilemap,this.props.drawingMode),this.edit.doEdit(this.editState),this.originalImage=e?void 0:this.edit.originalImage,this.edit=void 0,t(this.editState.toImageState()))}redraw(){const{prevFrame:e,onionSkinEnabled:t,selectedColor:n,toolWidth:i,drawingMode:r,tool:a}=this.props,o=this.getImageState(),l=r==s.TileDrawingMode.Wall?2:n;let u=!1;if(this.canvas){if(this.imageWidth=o.bitmap.width,this.imageHeight=o.bitmap.height,u=this.canvas.width!=o.bitmap.width*this.cellWidth||this.canvas.height!=o.bitmap.height*this.cellWidth,this.canvas.width=o.bitmap.width*this.cellWidth,this.canvas.height=o.bitmap.height*this.cellWidth,this.canvasLayers.forEach((e=>{e.width=this.canvas.width/this.cellWidth,e.height=this.canvas.height/this.cellWidth})),t&&e){const t=(0,c.getEditState)(e,this.props.isTilemap,r),n=this.canvas.getContext("2d");n.globalAlpha=.5,this.drawImage(t.image),t.floating&&t.floating.image&&this.drawImage(t.floating.image,t.layerOffsetX,t.layerOffsetY,!0),n.globalAlpha=1}if(this.edit){const n=this.editState.copy();n.setActiveLayer(r),this.edit.doEdit(n),this.drawImage(n.image,0,0,!(!t||!e)),this.drawOverlayLayers(n.overlayLayers),this.redrawFloatingLayer(n)}else if(this.drawImage(this.editState.image,0,0,!(!t||!e)),this.drawOverlayLayers(this.editState.overlayLayers),this.redrawFloatingLayer(this.editState),this.cursorLocation&&this.shouldDrawCursor()){const e=a===s.ImageEditorTool.Erase?0:l;this.drawCursor(this.cursorLocation[0]-(i>>1),this.cursorLocation[1]-(i>>1),i,e)}if(this.background&&(this.background.width!=this.canvas.width<<1||this.background.height!=this.canvas.height<<1)){this.background.width=this.canvas.width<<1,this.background.height=this.canvas.height<<1;const e=this.background.getContext("2d");e.imageSmoothingEnabled=!1,e.fillStyle="#aeaeae",e.fillRect(0,0,this.background.width,this.background.height),e.fillStyle="#dedede";const t=this.imageHeight<<1,n=this.imageWidth<<1;for(let i=0;i<n;i++)for(let n=0;n<t;n++)i+n&1&&e.fillRect(i*this.cellWidth,n*this.cellWidth,this.cellWidth,this.cellWidth)}}u&&this.zoomToCanvas()}drawImage(e,t=0,n=0,i=!1,r=!this.props.lightMode){this.props.isTilemap?this.drawTilemap(e,t,n,i,r):this.drawBitmap(e,t,n,i,r)}redrawFloatingLayer(e,t=!1){const n=this.refs["floating-layer-border"],i=this.refs["floating-layer-nw-corner"],r=this.refs["floating-layer-ne-corner"],a=this.refs["floating-layer-se-corner"],s=this.refs["floating-layer-sw-corner"],o=[i,r,a,s];if(e.floating&&e.floating.image){t||(this.drawImage(e.floating.image,e.layerOffsetX,e.layerOffsetY,!0),e.floating.overlayLayers&&this.drawOverlayLayers(e.floating.overlayLayers,e.layerOffsetX,e.layerOffsetY));const l=this.canvas.getBoundingClientRect(),c=Math.max(e.layerOffsetX,0),u=Math.max(e.layerOffsetY,0),d=Math.min(e.layerOffsetX+e.floating.image.width,e.width),p=Math.min(e.layerOffsetY+e.floating.image.height,e.height),f=l.width/e.width,h=l.height/e.height;n.style.display="",(d-c<1||p-u<1)&&(n.style.display="none");const m=-this.panX+f*c,g=-this.panY+h*u,v=f*(d-c),y=h*(p-u);if(n.style.left=m+"px",n.style.top=g+"px",n.style.width=v+"px",n.style.height=y+"px",n.style.borderLeft=e.layerOffsetX>=0?"":"none",n.style.borderTop=e.layerOffsetY>=0?"":"none",n.style.borderRight=e.layerOffsetX+e.floating.image.width<=e.width?"":"none",n.style.borderBottom=e.layerOffsetY+e.floating.image.height<=e.height?"":"none",null!=i){const e=16,t=3;this.props.isTilemap||(o.forEach((n=>{n.style.display="",n.style.width=e+"px",n.style.height=e+"px",n.style.border=t+"px solid black",n.style.position="absolute",n.style.backgroundColor="white"})),i.style.left=m-e+"px",i.style.top=g-e+"px",i.style.cursor="nw-resize",r.style.left=m+v+"px",r.style.top=g-e+"px",r.style.cursor="ne-resize",a.style.left=m+v+"px",a.style.top=g+y+"px",a.style.cursor="se-resize",s.style.left=m-e+"px",s.style.top=g+y+"px",s.style.cursor="sw-resize")}}else n.style.display="none",o.forEach((e=>{e&&(e.style.display="none")}))}drawOverlayLayers(e,t=0,n=0,i=!this.props.lightMode){e&&e.forEach(((e,r)=>{this.drawBitmap(e,t,n,!0,i,this.canvasLayers[r])}))}drawBitmap(e,t=0,n=0,i=!1,r=!this.props.lightMode,a=this.canvas){const{colors:s}=this.props,o=a.getContext("2d");o.imageSmoothingEnabled=!1;for(let r=0;r<e.width;r++)for(let a=0;a<e.height;a++){const l=e.get(r,a);l?(o.fillStyle=s[l],o.fillRect(r+t,a+n,1,1)):i||o.clearRect(r+t,a+n,1,1)}}generateTile(e,t){if(!t.tiles[e])return null;const n=document.createElement("canvas");return n.width=t.tileWidth,n.height=t.tileWidth,this.drawBitmap(pxt.sprite.Bitmap.fromData(t.tiles[e].bitmap),0,0,!1,!this.props.lightMode,n),this.tileCache[t.tiles[e].id]=n,n}drawTilemap(e,t=0,n=0,i=!1,r=!this.props.lightMode,a=this.canvas){const{tilemapState:{tileset:s}}=this.props,o=a.getContext("2d");let l,c;this.tileCacheRevision!==this.props.tilesetRevision&&(this.tileCache={},this.tileCacheRevision=this.props.tilesetRevision),o.imageSmoothingEnabled=!1,o.fillStyle=p.LIGHT_MODE_TRANSPARENT;for(let a=0;a<e.width;a++)for(let u=0;u<e.height;u++)if((l=e.get(a,u))&&l<s.tiles.length){if((c=this.tileCache[s.tiles[l].id])||(c=this.generateTile(l,s)),!c)continue;o.drawImage(c,(a+t)*this.cellWidth,(u+n)*this.cellWidth)}else i||(r?o.clearRect((a+t)*this.cellWidth,(u+n)*this.cellWidth,this.cellWidth,this.cellWidth):o.fillRect((a+t)*this.cellWidth,(u+n)*this.cellWidth,this.cellWidth,this.cellWidth))}drawCursor(e,t,n,i){const r=this.props.isTilemap&&this.props.drawingMode===s.TileDrawingMode.Wall,a=(r?this.canvasLayers[0]:this.canvas).getContext("2d");if(a.imageSmoothingEnabled=!1,i&&-1!==i)if(this.props.isTilemap&&!r){if(i>=this.props.tilemapState.tileset.tiles.length)return;let r=this.tileCache[this.props.tilemapState.tileset.tiles[i].id];if(r||(r=this.generateTile(i,this.props.tilemapState.tileset)),!r)return;for(let i=0;i<n;i++)for(let s=0;s<n;s++)a.drawImage(r,(e+i)*this.cellWidth,(t+s)*this.cellWidth)}else r?(a.fillStyle=this.props.colors[i],a.fillRect(e,t,1,1)):(a.fillStyle=this.props.colors[i],a.fillRect(e*this.cellWidth,t*this.cellWidth,n*this.cellWidth,n*this.cellWidth));else this.props.lightMode?(a.fillStyle=p.LIGHT_MODE_TRANSPARENT,a.fillRect(e*this.cellWidth,t*this.cellWidth,n*this.cellWidth,n*this.cellWidth)):a.clearRect(e*this.cellWidth,t*this.cellWidth,n*this.cellWidth,n*this.cellWidth)}updateBackground(){this.refs["canvas-bounds"].style.cursor=this.cursor,this.canvas.style.cursor=this.cursor,this.updateZoom(0)}updateZoom(e,t,n){const i=this.refs["canvas-bounds"];if(this.canvas&&i){const r=i.getBoundingClientRect();t=void 0===t?r.left+(r.width>>1):t,n=void 0===n?r.top+(r.height>>1):n;const{canvasX:a,canvasY:s}=this.clientToCanvas(t,n,r);this.zoom=Math.max(this.zoom+e,2.5);const o=this.getCanvasUnit(r);if(o){const{canvasX:e,canvasY:i}=this.clientToCanvas(t,n,r);if(isNaN(e)||isNaN(i)||isNaN(a)||isNaN(s))return;this.panX+=(a-e)*o,this.panY+=(s-i)*o}this.applyZoom()}}getCenteredPan(){let[e,t]=[0,0];const n=this.refs["canvas-bounds"].getBoundingClientRect(),i=this.canvas.getBoundingClientRect();return i.width<n.width&&(e=-((n.width>>1)-(i.width>>1))),i.height<n.height&&(t=-((n.height>>1)-(i.height>>1))),[e,t]}zoomToCanvas(){this.zoom=10;const e=this.refs["canvas-bounds"];this.applyZoom(),this.canvas&&e&&([this.panX,this.panY]=this.getCenteredPan()),this.applyZoom()}applyZoom(e){const t=this.refs["canvas-bounds"];if(this.canvas&&t){e=e||t.getBoundingClientRect();const n=this.getCanvasUnit(e);if(0===n){if(this.waitingToZoom)return;return this.waitingToZoom=!0,void requestAnimationFrame((()=>{this.waitingToZoom&&(this.waitingToZoom=!1,this.applyZoom())}))}this.waitingToZoom=!1;const i=n*this.imageWidth,r=n*this.imageHeight,a=this.imageWidth>1&&this.imageHeight>1?2*n:n>>1;this.hasInteracted||([this.panX,this.panY]=this.getCenteredPan()),this.panX=Math.max(Math.min(this.panX,i-a),-(e.width-a)),this.panY=Math.max(Math.min(this.panY,r-a),-(e.height-a)),this.canvas.style.position="fixed",this.canvas.style.width=`${i}px`,this.canvas.style.height=`${r}px`,this.canvas.style.left=-this.panX+"px",this.canvas.style.top=-this.panY+"px",this.canvas.style.clipPath=`polygon(${this.panX}px ${this.panY}px, ${this.panX+e.width}px ${this.panY}px, ${this.panX+e.width}px ${this.panY+e.height}px, ${this.panX}px ${this.panY+e.height}px)`,this.background&&this.cloneCanvasStyle(this.canvas,this.background),this.canvasLayers.forEach((e=>this.cloneCanvasStyle(this.canvas,e))),this.redrawFloatingLayer(this.editState,!0)}}selectCanvasColor(e,t){const n=this.refs["canvas-bounds"].getBoundingClientRect();let i,{canvasX:r,canvasY:a}=this.clientToCanvas(e.clientX,e.clientY,n);r=Math.floor(r),a=Math.floor(a),this.editState.inFloatingLayer(r,a)&&(i=this.editState.floating.image.get(r-this.editState.layerOffsetX,a-this.editState.layerOffsetY)),i||(i=this.editState.image.get(r,a)),t?this.props.dispatchChangeBackgroundColor(i):this.props.dispatchChangeSelectedColor(i)}selectAll(){this.props.tool!==s.ImageEditorTool.Marquee&&this.props.dispatchChangeImageTool(s.ImageEditorTool.Marquee),this.editState.mergeFloatingLayer(),this.editState.copyToLayer(0,0,this.imageWidth,this.imageHeight,!0),this.props.dispatchImageEdit(this.editState.toImageState())}cancelSelection(){this.editState.mergeFloatingLayer(),this.props.dispatchImageEdit(this.editState.toImageState())}deleteSelection(){this.editState.floating=null,this.props.dispatchImageEdit(this.editState.toImageState())}cloneCanvasStyle(e,t){t.style.position=e.style.position,t.style.width=e.style.width,t.style.height=e.style.height,t.style.left=e.style.left,t.style.top=e.style.top,t.style.clipPath=e.style.clipPath}clientToCanvas(e,t,n){const i=this.getCanvasUnit(n);return{canvasX:(e-n.left+this.panX)/i,canvasY:(t-n.top+this.panY)/i}}getCanvasUnit(e){const t=e.width/e.height,n=this.imageWidth/this.imageHeight,i=Math.pow(this.zoom/10,2);return t>n?i*(e.height/this.imageHeight):i*(e.width/this.imageWidth)}inBounds(e,t){return e>=0&&e<this.imageWidth&&t>=0&&t<this.imageHeight}isPanning(){return this.props.tool===s.ImageEditorTool.Pan}touchesResize(e,t){const n=document.querySelectorAll(":hover");for(let e=0;e<n.length;e++)if("image-editor-floating-layer-corner"==n[e].className)return!0;return!1}isColorSelect(){return this.props.tool===s.ImageEditorTool.ColorSelect}shouldHandleCanvasShortcut(){return!(this.props.suppressShortcuts||document.activeElement instanceof HTMLInputElement)}shouldDrawCursor(){if(!this.hasHover)return!1;switch(this.props.tool){case s.ImageEditorTool.Fill:case s.ImageEditorTool.Marquee:case s.ImageEditorTool.Pan:case s.ImageEditorTool.ColorSelect:return!1;default:return!0}}getImageState(){return this.props.isTilemap?this.props.tilemapState.tilemap:this.props.imageState}applyTilemapPatch(e){const{tilemapState:t,dispatchCreateNewTile:n,gallery:i,backgroundColor:r}=this.props,{tileset:a}=t,s=pxt.sprite.tilemapLiteralToTilemap(e.map);if(!s||!s.width||!s.height)return;const o=e.tiles.map((e=>pxt.sprite.getBitmapFromJResURL(`data:image/x-mkcd-f4;base64,${e}`))),l=e.layers.map((e=>pxt.sprite.getBitmapFromJResURL(`data:image/x-mkcd-f4;base64,${e}`))),c=[];let d=a.tiles.length;for(const e of o){const t=a.tiles.findIndex((t=>e.equals(pxt.sprite.Bitmap.fromData(t.bitmap))));if(t>=0)c.push(t);else{if(i){const t=i.find((t=>e.equals(pxt.sprite.Bitmap.fromData(t.bitmap))));if(t){n(null,a.tiles.length,r,t.qualifiedName),c.push(d),d++;continue}}n((0,u.createTile)(e.data()),a.tiles.length,r),c.push(d),d++}}this.editState.mergeFloatingLayer();const p=new pxt.sprite.Tilemap(s.width,s.height);for(let e=0;e<p.width;e++)for(let t=0;t<p.height;t++)p.set(e,t,c[s.get(e,t)]);this.editState.floating={image:p,overlayLayers:l},this.editState.layerOffsetX=0,this.editState.layerOffsetY=0,this.props.dispatchImageEdit(this.editState.toImageState())}}n.ImageCanvasImpl=h;const m={dispatchImageEdit:o.dispatchImageEdit,dispatchChangeCursorLocation:o.dispatchChangeCursorLocation,dispatchChangeZoom:o.dispatchChangeZoom,dispatchChangeImageTool:o.dispatchChangeImageTool,dispatchChangeSelectedColor:o.dispatchChangeSelectedColor,dispatchChangeBackgroundColor:o.dispatchChangeBackgroundColor,dispatchCreateNewTile:o.dispatchCreateNewTile};n.ImageCanvas=(0,a.connect)((function({store:{present:e},editor:t},n){if(t.isTilemap){let n=e;return n?{selectedColor:t.selectedColor,tilemapState:n,tool:t.tool,toolWidth:t.cursorSize,zoomDelta:t.zoomDelta,onionSkinEnabled:!1,overlayEnabled:t.overlayEnabled,backgroundColor:t.backgroundColor,colors:n.colors,isTilemap:t.isTilemap,drawingMode:t.drawingMode,gallery:t.tileGallery,tilesetRevision:t.tilesetRevision}:{}}let i=e;return i?{selectedColor:t.selectedColor,colors:i.colors,imageState:i.frames[i.currentFrame],tool:t.tool,toolWidth:t.cursorSize,zoomDelta:t.zoomDelta,onionSkinEnabled:t.onionSkinEnabled,backgroundColor:t.backgroundColor,prevFrame:i.frames[i.currentFrame-1],isTilemap:t.isTilemap,tilesetRevision:t.tilesetRevision}:{}}),m)(h)},{"../../assets":11,"./ImageEditor":19,"./actions/dispatch":26,"./keyboardShortcuts":28,"./store/imageReducer":30,"./toolDefinitions":34,"./util":35,react:107,"react-redux":93,"react/jsx-runtime":108}],19:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ImageEditor=n.LIGHT_MODE_TRANSPARENT=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./store/imageStore"),o=e("./SideBar"),l=e("./BottomBar"),c=e("./TopBar"),u=e("./ImageCanvas"),d=e("./Alert"),p=e("./Timeline"),f=e("./keyboardShortcuts"),h=e("./actions/dispatch"),m=e("./util"),g=e("../../assets");n.LIGHT_MODE_TRANSPARENT="#dedede";class v extends r.Component{constructor(e){super(e),this.onStoreChange=()=>{this.props.onChange&&this.props.onChange(this.props.singleFrame?pxt.sprite.bitmapToImageLiteral(this.getCurrentFrame(),"typescript"):"");const e=this.getStore(),t=e.getState();if((0,f.setStore)(e),t.editor&&this.setState({alert:t.editor.alert}),!!t.editor.editingTile!=!!this.state.editingTile)if(t.editor.editingTile){const e=t.editor.editingTile.tilesetIndex;if(e){const n=t.store.present.tileset.tiles[e];this.setState({editingTile:!0,tileToEdit:n})}else{const e=t.store.present.tileset.tileWidth,n=(0,g.createNewImageAsset)("tile",e,e,lf("myTile"));this.setState({editingTile:!0,tileToEdit:n})}this.props.onTileEditorOpenClose&&this.props.onTileEditorOpenClose(!0)}else this.setState({editingTile:!1}),this.props.onTileEditorOpenClose&&this.props.onTileEditorOpenClose(!1)},this.onDoneClick=()=>{this.props.onDoneClicked&&this.props.onDoneClicked(this.getAsset())},this.onTileEditorFinished=e=>{const t=this.getStore().getState().editor.editingTile;e.isProjectTile=!0,this.dispatchOnStore((0,h.dispatchCloseTileEditor)(e,t.tilesetIndex))},this.state={editingTile:!1}}componentDidMount(){(0,f.addKeyListener)(),this.props.asset&&this.openAsset(this.props.asset),this.unsubscribeChangeListener=this.getStore().subscribe(this.onStoreChange),this.onResize()}componentWillUnmount(){this.props.nested||(0,f.removeKeyListener)(),this.unsubscribeChangeListener&&this.unsubscribeChangeListener()}render(){const{singleFrame:e,lightMode:t}=this.props,n=this.getStore(),{tileToEdit:r,editingTile:f,alert:h}=this.state,m="Animation"===n.getState().store.present.kind;return(0,i.jsxs)("div",Object.assign({className:"image-editor-outer"},{children:[(0,i.jsx)(a.Provider,Object.assign({store:n},{children:(0,i.jsxs)("div",Object.assign({className:"image-editor "+(f?"editing-tile":"")},{children:[(0,i.jsx)(c.TopBar,{singleFrame:e}),(0,i.jsxs)("div",Object.assign({className:"image-editor-content"},{children:[(0,i.jsx)(o.SideBar,{lightMode:t}),(0,i.jsx)(u.ImageCanvas,{suppressShortcuts:f,lightMode:t}),m&&!e?(0,i.jsx)(p.Timeline,{}):void 0]})),(0,i.jsx)(l.BottomBar,{singleFrame:e,onDoneClick:this.onDoneClick}),h&&h.title&&(0,i.jsx)(d.Alert,{title:h.title,text:h.text,options:h.options})]}))})),f&&(0,i.jsx)(v,{store:s.tileEditorStore,ref:"nested-image-editor",onDoneClicked:this.onTileEditorFinished,asset:r,singleFrame:!0,nested:!0})]}))}openAsset(e,t,n=!1){this.dispatchOnStore((0,h.dispatchOpenAsset)(e,n,t)),e.meta.displayName?this.dispatchOnStore((0,h.dispatchChangeAssetName)(e.meta.displayName)):n&&this.dispatchOnStore((0,h.dispatchChangeAssetName)(""))}openGalleryAsset(e){const t=this.getAsset(),n=this.getStore().getState().store.present.frames;switch(t.type){case"animation":switch(e.type){case"image":case"tile":this.setCurrentFrame(pxt.sprite.Bitmap.fromData(e.bitmap),1===n.length);break;case"animation":this.dispatchOnStore((0,h.dispatchSetFrames)(e.frames.map((e=>({bitmap:e})))))}break;case"image":case"tile":switch(e.type){case"image":case"tile":this.setCurrentFrame(pxt.sprite.Bitmap.fromData(e.bitmap),!0);break;case"animation":this.setCurrentFrame(pxt.sprite.Bitmap.fromData(e.frames[0]),!0)}}}onResize(){this.dispatchOnStore((0,h.dispatchChangeZoom)(0))}getCurrentFrame(){const e=this.getStore().getState().store.present,t=e.frames[e.currentFrame];return(0,m.imageStateToBitmap)(t)}getAsset(){switch(this.getStore().getState().store.present.asset.type){case"tile":return this.getTile();case"animation":return this.getAnimation();case"tilemap":return this.getTilemap();default:return this.getImage()}}getImage(){var e;const t=this.getStore().getState().store.present,n=this.getCurrentFrame().data(),i=t.asset?Object.assign({},t.asset.meta):{};return{id:null===(e=t.asset)||void 0===e?void 0:e.id,internalID:t.asset?t.asset.internalID:(0,g.getNewInternalID)(),type:"image",bitmap:n,jresData:pxt.sprite.base64EncodeBitmap(n),meta:i}}getTile(){var e;const t=this.getStore().getState().store.present,n=this.getCurrentFrame().data(),i=t.asset?Object.assign({},t.asset.meta):{};return{id:null===(e=t.asset)||void 0===e?void 0:e.id,internalID:t.asset?t.asset.internalID:(0,g.getNewInternalID)(),isProjectTile:!0,type:"tile",bitmap:n,jresData:pxt.sprite.base64EncodeBitmap(n),meta:i}}getAnimation(){var e;const t=this.getStore().getState().store.present,n=t.asset?Object.assign({},t.asset.meta):{};return{id:null===(e=t.asset)||void 0===e?void 0:e.id,internalID:t.asset?t.asset.internalID:(0,g.getNewInternalID)(),type:"animation",interval:t.interval,frames:t.frames.map((e=>(0,m.imageStateToBitmap)(e).data())),meta:n}}getTilemap(){var e;const t=this.getStore().getState(),n=t.store.present,{floating:i,overlayLayers:r,layerOffsetX:a,layerOffsetY:s}=n.tilemap,o=(0,m.applyBitmapData)(r[0],i&&i.overlayLayers&&i.overlayLayers[0],a,s),l=new pxt.sprite.TilemapData((0,m.imageStateToTilemap)(n.tilemap),n.tileset,o);l.deletedTiles=t.editor.deletedTiles,l.editedTiles=t.editor.editedTiles;const c=n.asset?Object.assign({},n.asset.meta):{};return{id:null===(e=n.asset)||void 0===e?void 0:e.id,internalID:n.asset?n.asset.internalID:(0,g.getNewInternalID)(),type:"tilemap",data:l,meta:c}}getPersistentData(){const e=this.getStore().getState();return{editor:e.editor,past:e.store.past}}restorePersistentData(e){e&&this.dispatchOnStore((0,h.dispatchSetInitialState)(e.editor,e.past))}setCurrentFrame(e,t){if(!t){const t=this.getStore().getState().store.present.frames[0];if(e.width!==t.bitmap.width||e.height!==t.bitmap.height){const n=[Math.max(e.width,t.bitmap.width),Math.max(e.height,t.bitmap.height)];t.bitmap.width===n[0]&&t.bitmap.height===n[1]||this.dispatchOnStore((0,h.dispatchChangeImageDimensions)(n)),e=(e=e.copy()).resize(n[0],n[1])}}this.dispatchOnStore((0,h.dispatchImageEdit)({bitmap:e.data()}))}openInTileEditor(e){this.refs["nested-image-editor"].setCurrentFrame(e,!1)}disableResize(){this.dispatchOnStore((0,h.dispatchDisableResize)())}closeNestedEditor(){var e;this.state.editingTile&&(null===(e=this.refs["nested-image-editor"])||void 0===e||e.onDoneClick())}getJres(){if(this.props.singleFrame){const e=this.getCurrentFrame().data();return pxt.sprite.base64EncodeBitmap(e)}return""}loadJres(e){if(e)try{this.setCurrentFrame(pxt.sprite.getBitmapFromJResURL(e),!0)}catch(e){}}getStore(){return this.props.store||s.mainStore}dispatchOnStore(e){this.getStore().dispatch(e)}}n.ImageEditor=v},{"../../assets":11,"./Alert":13,"./BottomBar":14,"./ImageCanvas":18,"./SideBar":21,"./Timeline":22,"./TopBar":25,"./actions/dispatch":26,"./keyboardShortcuts":28,"./store/imageStore":31,"./util":35,react:107,"react-redux":93,"react/jsx-runtime":108}],20:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Pivot=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./util");class s extends r.Component{constructor(e){super(e),this.handlers=[],this.state={open:!1}}componentWillUnmount(){this.handlers=null}render(){const{options:e,selected:t}=this.props,n=e[t];return(0,i.jsx)("div",Object.assign({className:"image-editor-pivot-outer"},{children:e.map(((e,t)=>(0,i.jsx)("div",Object.assign({role:"tab",className:"image-editor-pivot-option "+(e===n?"selected":""),tabIndex:0,onClick:this.clickHandler(t),onKeyDown:a.fireClickOnlyOnEnter},{children:e.text}),e.id)))}))}clickHandler(e){if(!this.handlers[e]){const{onChange:t,options:n}=this.props;this.handlers[e]=()=>{this.setState({open:!1}),t(n[e],e)}}return this.handlers[e]}}n.Pivot=s},{"./util":35,react:107,"react/jsx-runtime":108}],21:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.SideBar=n.SideBarImpl=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./toolDefinitions"),o=e("./Button"),l=e("./actions/dispatch"),c=e("./sprite/Palette"),u=e("./tilemap/TilePalette"),d=e("./tilemap/Minimap");class p extends r.Component{constructor(){super(...arguments),this.handlers=[]}render(){const{selectedTool:e,isTilemap:t,lightMode:n}=this.props;return(0,i.jsxs)("div",Object.assign({className:"image-editor-sidebar "+(t?"tilemap":"")},{children:[t&&(0,i.jsx)("div",Object.assign({className:"image-editor-tilemap-minimap"},{children:(0,i.jsx)(d.Minimap,{lightMode:n})})),(0,i.jsx)("div",Object.assign({className:"image-editor-tool-buttons"},{children:s.tools.filter((e=>!e.hiddenTool)).map((t=>(0,i.jsx)(o.IconButton,{iconClass:t.iconClass,toggle:e!=t.tool,title:t.title,onClick:this.clickHandler(t.tool)},t.tool)))})),(0,i.jsx)("div",Object.assign({className:"image-editor-palette"},{children:t?(0,i.jsx)(u.TilePalette,{}):(0,i.jsx)(c.Palette,{})}))]}))}clickHandler(e){return this.handlers[e]||(this.handlers[e]=()=>this.props.dispatchChangeImageTool(e)),this.handlers[e]}}n.SideBarImpl=p;const f={dispatchChangeImageTool:l.dispatchChangeImageTool};n.SideBar=(0,a.connect)((function({editor:e},t){return e?{isTilemap:e.isTilemap,selectedTool:e.tool}:{}}),f)(p)},{"./Button":15,"./actions/dispatch":26,"./sprite/Palette":29,"./tilemap/Minimap":32,"./tilemap/TilePalette":33,"./toolDefinitions":34,react:107,"react-redux":93,"react/jsx-runtime":108}],22:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Timeline=n.TimelineImpl=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./actions/dispatch"),o=e("./TimelineFrame"),l=e("./util");class c extends r.Component{constructor(e){super(e),this.handlers=[],this.scrollOffset=0,this.dragEnd=!1,this.duplicateFrame=()=>{const{currentFrame:e,dispatchDuplicateFrame:t}=this.props;t(e)},this.deleteFrame=()=>{const{currentFrame:e,dispatchDeleteFrame:t}=this.props;t(e)},this.newFrame=()=>{const{dispatchNewFrame:e}=this.props;this.dragEnd?this.dragEnd=!1:e()},this.state={}}render(){const{frames:e,colors:t,currentFrame:n,interval:r,previewAnimating:a}=this.props,{isMovingFrame:s,dropPreviewIndex:l}=this.state;let c,u=e.slice();return s&&(c=e[n],u.splice(n,1),u.splice(l,0,null)),(0,i.jsxs)("div",Object.assign({className:"image-editor-timeline "+(pxt.BrowserUtils.isEdge()?"edge":"")},{children:[(0,i.jsx)("div",Object.assign({className:"image-editor-timeline-preview"},{children:(0,i.jsx)(o.TimelineFrame,{frames:a?e:[e[n]],colors:t,interval:r,animating:!0})})),(0,i.jsx)("div",Object.assign({className:"image-editor-timeline-frames-outer"},{children:(0,i.jsxs)("div",Object.assign({className:"image-editor-timeline-frames",ref:"frame-scroller-ref"},{children:[u.map(((e,r)=>{const a=!s&&r===n;return e?(0,i.jsx)("div",Object.assign({className:"image-editor-timeline-frame "+(a?"active":""),role:"button",onClick:this.clickHandler(r)},{children:(0,i.jsx)(o.TimelineFrame,{frames:[e],colors:t,showActions:a,duplicateFrame:this.duplicateFrame,deleteFrame:this.deleteFrame})}),r):(0,i.jsx)("div",{className:"image-editor-timeline-frame drop-marker"},r)})),c&&(0,i.jsx)("div",Object.assign({ref:"floating-frame",className:"image-editor-timeline-frame dragging"},{children:(0,i.jsx)(o.TimelineFrame,{frames:[c],colors:t,duplicateFrame:this.duplicateFrame,deleteFrame:this.deleteFrame})})),(0,i.jsx)("div",Object.assign({className:"image-editor-timeline-frame collapsed",role:"button",onClick:this.newFrame},{children:(0,i.jsx)("span",{className:"ms-Icon ms-Icon--Add"})}))]}))}))]}))}componentDidMount(){let e;this.frameScroller=this.refs["frame-scroller-ref"];let t=!1;(0,l.bindGestureEvents)(this.frameScroller,{onClick:e=>{this.dragEnd=!1},onDragStart:n=>{e=n.clientY,pxt.BrowserUtils.addClass(this.frameScroller,"scrolling");const i=this.frameScroller.getBoundingClientRect(),r=n.clientY-i.top,a=this.frameScroller.firstElementChild.getBoundingClientRect().height,s=Math.floor(r/a);t=s!==this.props.currentFrame},onDragMove:n=>{if(t){this.scrollOffset-=e-n.clientY,e=n.clientY;try{const e=this.frameScroller.getBoundingClientRect(),t=this.frameScroller.parentElement.getBoundingClientRect();e.height>t.height?this.scrollOffset=Math.max(Math.min(this.scrollOffset,0),t.height-e.height-15):this.scrollOffset=0,this.frameScroller.parentElement.scrollTop=-this.scrollOffset}catch(e){}}else this.updateDragDrop(n)},onDragEnd:()=>{if(e=null,pxt.BrowserUtils.removeClass(this.frameScroller,"scrolling"),this.dragEnd=!0,this.state.isMovingFrame){const{dispatchMoveFrame:e,currentFrame:t}=this.props;e(t,this.state.dropPreviewIndex),this.setState({isMovingFrame:!1})}}}),this.frameScroller.addEventListener("wheel",(e=>{this.scrollOffset-=e.deltaY;try{const e=this.frameScroller.getBoundingClientRect(),t=this.frameScroller.parentElement.getBoundingClientRect();e.height>t.height?this.scrollOffset=Math.max(Math.min(this.scrollOffset,0),t.height-e.height-15):this.scrollOffset=0,this.frameScroller.parentElement.scrollTop=-this.scrollOffset}catch(e){}}))}clickHandler(e){return this.handlers[e]||(this.handlers[e]=()=>{const{currentFrame:t,dispatchChangeCurrentFrame:n}=this.props;this.dragEnd?this.dragEnd=!1:e!=t&&n(e)}),this.handlers[e]}updateDragDrop(e){const t=this.frameScroller.getBoundingClientRect(),n=e.clientY-t.top,i=this.frameScroller.firstElementChild.getBoundingClientRect().height,r=Math.floor(n/i);this.state.isMovingFrame?this.refs["floating-frame"]&&(this.refs["floating-frame"].style.top=n+"px",this.setState({dropPreviewIndex:r})):this.setState({isMovingFrame:!0,dropPreviewIndex:this.props.currentFrame})}}n.TimelineImpl=c;const u={dispatchDuplicateFrame:s.dispatchDuplicateFrame,dispatchDeleteFrame:s.dispatchDeleteFrame,dispatchChangeCurrentFrame:s.dispatchChangeCurrentFrame,dispatchNewFrame:s.dispatchNewFrame,dispatchMoveFrame:s.dispatchMoveFrame};n.Timeline=(0,a.connect)((function({store:{present:e},editor:t},n){let i=e;return i?{frames:i.frames,currentFrame:i.currentFrame,colors:i.colors,interval:i.interval,previewAnimating:t.previewAnimating}:{}}),u)(c)},{"./TimelineFrame":23,"./actions/dispatch":26,"./util":35,react:107,"react-redux":93,"react/jsx-runtime":108}],23:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TimelineFrame=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./Button"),s=pxt.BrowserUtils.isEdge()?25:1;class o extends r.Component{constructor(e){super(e),this.state={index:0}}render(){const{frames:e,animating:t,showActions:n,duplicateFrame:r,deleteFrame:s}=this.props,o=e[t?Math.min(Math.max(0,this.state.index),e.length-1):0],l=o.bitmap.height>o.bitmap.width;return(0,i.jsxs)("div",Object.assign({className:"timeline-frame-outer "+(l?"portrait":"landscape")},{children:[(0,i.jsx)("div",{className:"timeline-frame-spacer"}),(0,i.jsx)("canvas",{ref:"preview-canvas"}),(0,i.jsx)("div",{className:"timeline-frame-spacer"}),n&&(0,i.jsxs)("div",Object.assign({className:"timeline-frame-actions"},{children:[(0,i.jsx)(a.IconButton,{iconClass:"ms-Icon ms-Icon--Copy",title:lf("Duplicate Current Frame"),onClick:r}),(0,i.jsx)(a.IconButton,{iconClass:"ms-Icon ms-Icon--Delete",title:lf("Delete Current Frame"),onClick:s})]}))]}))}componentDidMount(){this.canvas=this.refs["preview-canvas"],this.redraw(),this.updateAnimation()}componentDidUpdate(){this.redraw(),this.updateAnimation()}componentWillUnmount(){this.intervalId&&clearInterval(this.intervalId),this.intervalId=void 0}redraw(){if(!this.canvas)return;const{animating:e,frames:t}=this.props,n=t[e?Math.min(Math.max(0,this.state.index),t.length-1):0];this.canvas.height=n.bitmap.height*s,this.canvas.width=n.bitmap.width*s;const i=pxt.sprite.Bitmap.fromData(n.bitmap);if(this.drawBitmap(i),n.floating&&n.floating.bitmap){const e=pxt.sprite.Bitmap.fromData(n.floating.bitmap);this.drawBitmap(e,n.layerOffsetX,n.layerOffsetY,!0)}}updateAnimation(){const{animating:e,interval:t,frames:n}=this.props,i=e&&t>5&&n.length>1;i&&t!==this.intervalcurrent?(this.intervalId&&clearInterval(this.intervalId),this.intervalId=setInterval((()=>this.setState({index:(this.state.index+1)%this.props.frames.length})),t),this.intervalcurrent=t):!i&&this.intervalId&&(clearInterval(this.intervalId),this.intervalId=void 0,this.intervalcurrent=void 0)}drawBitmap(e,t=0,n=0,i=!1){const{colors:r}=this.props,a=this.canvas.getContext("2d");for(let o=0;o<e.width;o++)for(let l=0;l<e.height;l++){const c=e.get(o,l);c?(a.fillStyle=r[c],a.fillRect((o+t)*s,(l+n)*s,s,s)):i||a.clearRect((o+t)*s,(l+n)*s,s,s)}}}n.TimelineFrame=o},{"./Button":15,react:107,"react/jsx-runtime":108}],24:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Toggle=void 0;const i=e("react/jsx-runtime"),r=e("react");class a extends r.Component{constructor(e){super(e),this.checked=!1,this.handleToggleClick=e=>{this.checked=!this.checked,this.props.onChange&&this.props.onChange(e.target.checked)},this.checked=e.initialValue}render(){const{initialValue:e,label:t}=this.props;return(0,i.jsxs)("div",Object.assign({className:"image-editor-toggle-container"},{children:[t&&(0,i.jsx)("span",{children:t}),(0,i.jsxs)("label",Object.assign({className:"image-editor-toggle"},{children:[(0,i.jsx)("input",{type:"checkbox",onClick:this.handleToggleClick,defaultChecked:e,"aria-checked":this.checked}),(0,i.jsx)("span",{className:"image-editor-toggle-switch"})]}))]}))}}n.Toggle=a},{react:107,"react/jsx-runtime":108}],25:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TopBar=n.TopBarImpl=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./actions/dispatch"),o=e("./Button"),l=e("./CursorSizes"),c=e("./Toggle"),u=e("./keyboardShortcuts");class d extends r.Component{constructor(e){super(e),this.togglePreviewAnimating=()=>this.props.dispatchChangePreviewAnimating(!this.props.previewAnimating),this.flipVertical=()=>(0,u.flip)(!0),this.flipHorizontal=()=>(0,u.flip)(!1),this.rotateClockwise=()=>(0,u.rotate)(!0),this.rotateCounterclockwise=()=>(0,u.rotate)(!1),this.handleIntervalChange=e=>{this.setState({interval:e.target.value})},this.handleIntervalBlur=()=>{const{dispatchChangeInterval:e}=this.props,t=parseInt(this.state.interval);isNaN(t)||e(Math.min(Math.max(t,50),1e6)),this.setState({interval:null})},this.state={}}render(){const{interval:e,previewAnimating:t,singleFrame:n,isTilemap:r,dispatchChangeOverlayEnabled:a}=this.props,s=null==this.state.interval?e:this.state.interval;return(0,i.jsxs)("div",Object.assign({className:"image-editor-topbar"},{children:[(0,i.jsx)("div",Object.assign({className:"cursor-group"},{children:(0,i.jsx)(l.CursorSizes,{})})),(0,i.jsx)("div",{className:"image-editor-seperator"}),(0,i.jsxs)("div",Object.assign({className:"image-transform-group"},{children:[(0,i.jsx)(o.IconButton,{iconClass:"xicon flipvertical",title:lf("Flip vertical"),onClick:this.flipVertical},"flipv"),(0,i.jsx)(o.IconButton,{iconClass:"xicon fliphorizontal",title:lf("Flip horizontal"),onClick:this.flipHorizontal},"fliph"),(0,i.jsx)(o.IconButton,{iconClass:"xicon rotateright",title:lf("Rotate clockwise"),onClick:this.rotateClockwise},"rotatec"),(0,i.jsx)(o.IconButton,{iconClass:"xicon rotateleft",title:lf("Rotate counterclockwise"),onClick:this.rotateCounterclockwise},"rotatecc")]})),(0,i.jsx)("div",{className:"spacer"}),!n&&(0,i.jsx)("div",{className:"image-editor-seperator"}),!n&&(0,i.jsxs)("div",Object.assign({className:"timeline-controls"},{children:[(0,i.jsx)(o.IconButton,{onClick:this.togglePreviewAnimating,iconClass:t?"ms-Icon ms-Icon--Stop":"ms-Icon ms-Icon--Play",title:t?lf("Stop Animation Preview"):lf("Play Animation Preview"),toggle:!0}),(0,i.jsx)("div",Object.assign({className:"image-editor-interval-label image-editor-label"},{children:(0,i.jsx)("span",{className:"ms-Icon ms-Icon--Clock"})})),(0,i.jsx)("div",Object.assign({className:"image-editor-interval"},{children:(0,i.jsx)("input",{className:"image-editor-input",title:lf("Interval Between Frames (ms)"),value:s,onChange:this.handleIntervalChange,onBlur:this.handleIntervalBlur})}))]})),r&&(0,i.jsx)(c.Toggle,{initialValue:!0,label:lf("Show walls"),onChange:a})]}))}}n.TopBarImpl=d;const p={dispatchChangeInterval:s.dispatchChangeInterval,dispatchChangePreviewAnimating:s.dispatchChangePreviewAnimating,dispatchChangeOverlayEnabled:s.dispatchChangeOverlayEnabled};n.TopBar=(0,a.connect)((function({store:{present:e},editor:t},n){return e?{interval:e.interval,previewAnimating:t.previewAnimating,isTilemap:t.isTilemap}:{}}),p)(d)},{"./Button":15,"./CursorSizes":16,"./Toggle":24,"./actions/dispatch":26,"./keyboardShortcuts":28,react:107,"react-redux":93,"react/jsx-runtime":108}],26:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.dispatchSetFrames=n.dispatchOpenAsset=n.dispatchChangeAssetName=n.dispatchDisableResize=n.dispatchDeleteTile=n.dispatchCloseTileEditor=n.dispatchOpenTileEditor=n.dispatchSetGalleryOpen=n.dispatchCreateNewTile=n.dispatchChangeDrawingMode=n.dispatchChangeTilePalettePage=n.dispatchChangeTilePaletteCategory=n.dispatchSetInitialState=n.dispatchChangeBackgroundColor=n.dispatchSwapBackgroundForeground=n.dispatchHideAlert=n.dispatchShowAlert=n.dispatchChangeZoom=n.dispatchChangeOverlayEnabled=n.dispatchToggleOnionSkinEnabled=n.dispatchChangePreviewAnimating=n.dispatchChangeInterval=n.dispatchMoveFrame=n.dispatchChangeCurrentFrame=n.dispatchDuplicateFrame=n.dispatchDeleteFrame=n.dispatchNewFrame=n.dispatchToggleAspectRatioLocked=n.dispatchRedoImageEdit=n.dispatchUndoImageEdit=n.dispatchImageEdit=n.dispatchChangeCursorLocation=n.dispatchChangeKeyModifiers=n.dispatchChangeImageDimensions=n.dispatchChangeSelectedColor=n.dispatchChangeCursorSize=n.dispatchChangeImageTool=void 0;const i=e("./types");n.dispatchChangeImageTool=e=>({type:i.CHANGE_IMAGE_TOOL,tool:e});n.dispatchChangeCursorSize=e=>({type:i.CHANGE_CURSOR_SIZE,cursorSize:e});n.dispatchChangeSelectedColor=e=>({type:i.CHANGE_SELECTED_COLOR,selectedColor:e});n.dispatchChangeImageDimensions=e=>({type:i.CHANGE_IMAGE_DIMENSIONS,imageDimensions:e});n.dispatchChangeKeyModifiers=e=>({type:i.CHANGE_KEY_MODIFIERS,keyModifiers:e});n.dispatchChangeCursorLocation=e=>({type:i.CHANGE_CURSOR_LOCATION,cursorLocation:e});n.dispatchImageEdit=e=>({type:i.IMAGE_EDIT,newState:e});n.dispatchUndoImageEdit=()=>({type:i.UNDO_IMAGE_EDIT});n.dispatchRedoImageEdit=()=>({type:i.REDO_IMAGE_EDIT});n.dispatchToggleAspectRatioLocked=()=>({type:i.TOGGLE_ASPECT_RATIO});n.dispatchNewFrame=e=>({type:i.NEW_FRAME,index:e});n.dispatchDeleteFrame=e=>({type:i.DELETE_FRAME,index:e});n.dispatchDuplicateFrame=e=>({type:i.DUPLICATE_FRAME,index:e});n.dispatchChangeCurrentFrame=e=>({type:i.CHANGE_CURRENT_FRAME,index:e});n.dispatchMoveFrame=(e,t)=>({type:i.MOVE_FRAME,oldIndex:e,newIndex:t});n.dispatchChangeInterval=e=>({type:i.CHANGE_INTERVAL,newInterval:e});n.dispatchChangePreviewAnimating=e=>({type:i.CHANGE_PREVIEW_ANIMATING,animating:e});n.dispatchToggleOnionSkinEnabled=()=>({type:i.TOGGLE_ONION_SKIN_ENABLED});n.dispatchChangeOverlayEnabled=e=>({type:i.CHANGE_OVERLAY_ENABLED,enabled:e});n.dispatchChangeZoom=e=>({type:i.CHANGE_CANVAS_ZOOM,zoom:e});n.dispatchShowAlert=(e,t,n)=>({type:i.SHOW_ALERT,title:e,text:t,options:n});n.dispatchHideAlert=()=>({type:i.HIDE_ALERT});n.dispatchSwapBackgroundForeground=()=>({type:i.SWAP_FOREGROUND_BACKGROUND});n.dispatchChangeBackgroundColor=e=>({type:i.CHANGE_BACKGROUND_COLOR,backgroundColor:e});n.dispatchSetInitialState=(e,t)=>({type:i.SET_INITIAL_STATE,state:e,past:t});n.dispatchChangeTilePaletteCategory=e=>({type:i.CHANGE_TILE_PALETTE_CATEGORY,category:e});n.dispatchChangeTilePalettePage=e=>({type:i.CHANGE_TILE_PALETTE_PAGE,page:e});n.dispatchChangeDrawingMode=e=>({type:i.CHANGE_DRAWING_MODE,drawingMode:e});n.dispatchCreateNewTile=(e,t,n,r)=>({type:i.CREATE_NEW_TILE,tile:e,foreground:t,background:n,qualifiedName:r});n.dispatchSetGalleryOpen=e=>({type:i.SET_GALLERY_OPEN,open:e});n.dispatchOpenTileEditor=(e,t)=>({type:i.OPEN_TILE_EDITOR,index:e,id:t});n.dispatchCloseTileEditor=(e,t)=>({type:i.CLOSE_TILE_EDITOR,result:e,index:t});n.dispatchDeleteTile=(e,t)=>({type:i.DELETE_TILE,id:t,index:e});n.dispatchDisableResize=()=>({type:i.DISABLE_RESIZE});n.dispatchChangeAssetName=e=>({type:i.CHANGE_ASSET_NAME,name:e});n.dispatchOpenAsset=(e,t,n)=>({type:i.OPEN_ASSET,asset:e,keepPast:t,gallery:n});n.dispatchSetFrames=e=>({type:i.SET_FRAMES,frames:e})},{"./types":27}],27:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.OPEN_ASSET=n.CHANGE_ASSET_NAME=n.DISABLE_RESIZE=n.DELETE_TILE=n.CLOSE_TILE_EDITOR=n.OPEN_TILE_EDITOR=n.CREATE_NEW_TILE=n.CHANGE_DRAWING_MODE=n.CHANGE_TILE_PALETTE_CATEGORY=n.CHANGE_TILE_PALETTE_PAGE=n.CHANGE_BACKGROUND_COLOR=n.SWAP_FOREGROUND_BACKGROUND=n.HIDE_ALERT=n.SHOW_ALERT=n.CHANGE_CANVAS_ZOOM=n.CHANGE_OVERLAY_ENABLED=n.TOGGLE_ONION_SKIN_ENABLED=n.CHANGE_PREVIEW_ANIMATING=n.CHANGE_INTERVAL=n.CHANGE_CURRENT_FRAME=n.MOVE_FRAME=n.DUPLICATE_FRAME=n.DELETE_FRAME=n.NEW_FRAME=n.SET_GALLERY_OPEN=n.TOGGLE_ASPECT_RATIO=n.REDO_IMAGE_EDIT=n.UNDO_IMAGE_EDIT=n.IMAGE_EDIT=n.CHANGE_CURSOR_LOCATION=n.CHANGE_KEY_MODIFIERS=n.CHANGE_IMAGE_DIMENSIONS=n.CHANGE_SELECTED_COLOR=n.CHANGE_CURSOR_SIZE=n.CHANGE_IMAGE_TOOL=n.SET_FRAMES=n.SET_INITIAL_STATE=void 0,n.SET_INITIAL_STATE="SET_INITIAL_STATE",n.SET_FRAMES="SET_FRAMES",n.CHANGE_IMAGE_TOOL="CHANGE_IMAGE_TOOL",n.CHANGE_CURSOR_SIZE="CHANGE_CURSOR_SIZE",n.CHANGE_SELECTED_COLOR="CHANGE_SELECTED_COLOR",n.CHANGE_IMAGE_DIMENSIONS="CHANGE_IMAGE_DIMENSIONS",n.CHANGE_KEY_MODIFIERS="CHANGE_KEY_MODIFIERS",n.CHANGE_CURSOR_LOCATION="CHANGE_CURSOR_LOCATION",n.IMAGE_EDIT="IMAGE_EDIT",n.UNDO_IMAGE_EDIT="UNDO_IMAGE_EDIT",n.REDO_IMAGE_EDIT="REDO_IMAGE_EDIT",n.TOGGLE_ASPECT_RATIO="TOGGLE_ASPECT_RATIO",n.SET_GALLERY_OPEN="SET_GALLERY_OPEN",n.NEW_FRAME="NEW_FRAME",n.DELETE_FRAME="DELETE_FRAME",n.DUPLICATE_FRAME="DUPLICATE_FRAME",n.MOVE_FRAME="MOVE_FRAME",n.CHANGE_CURRENT_FRAME="CHANGE_CURRENT_FRAME",n.CHANGE_INTERVAL="CHANGE_INTERVAL",n.CHANGE_PREVIEW_ANIMATING="CHANGE_PREVIEW_ANIMATING",n.TOGGLE_ONION_SKIN_ENABLED="TOGGLE_ONION_SKIN_ENABLED",n.CHANGE_OVERLAY_ENABLED="CHANGE_OVERLAY_ENABLED",n.CHANGE_CANVAS_ZOOM="CHANGE_CANVAS_ZOOM",n.SHOW_ALERT="SHOW_ALERT",n.HIDE_ALERT="HIDE_ALERT",n.SWAP_FOREGROUND_BACKGROUND="SWAP_FOREGROUND_BACKGROUND",n.CHANGE_BACKGROUND_COLOR="CHANGE_BACKGROUND_COLOR",n.CHANGE_TILE_PALETTE_PAGE="CHANGE_TILE_PALETTE_PAGE",n.CHANGE_TILE_PALETTE_CATEGORY="CHANGE_TILE_PALETTE_CATEGORY",n.CHANGE_DRAWING_MODE="CHANGE_DRAWING_MODE",n.CREATE_NEW_TILE="CREATE_NEW_TILE",n.OPEN_TILE_EDITOR="OPEN_TILE_EDITOR",n.CLOSE_TILE_EDITOR="CLOSE_TILE_EDITOR",n.DELETE_TILE="DELETE_TILE",n.DISABLE_RESIZE="DISABLE_RESIZE",n.CHANGE_ASSET_NAME="CHANGE_ASSET_NAME",n.OPEN_ASSET="OPEN_ASSET"},{}],28:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.replaceColor=n.outline=n.rotate=n.flip=n.setStore=n.areShortcutsEnabled=n.releaseShortcutLock=n.obtainShortcutLock=n.removeKeyListener=n.addKeyListener=void 0;const i=e("./store/imageReducer"),r=e("./actions/dispatch"),a=e("./store/imageStore"),s=e("./toolDefinitions");let o=a.mainStore,l=[];function c(){return!l.length}function u(e){const t=e.ctrlKey||e.metaKey;"Undo"===e.key||t&&"z"===e.key&&!e.shiftKey?(g((0,r.dispatchUndoImageEdit)()),e.preventDefault(),e.stopPropagation()):("Redo"===e.key||t&&"y"===e.key||t&&"Z"===e.key&&e.shiftKey)&&(g((0,r.dispatchRedoImageEdit)()),e.preventDefault(),e.stopPropagation())}function d(e){"Backspace"!==e.key&&"Delete"!==e.key||e.stopPropagation()}function p(e){if(!c())return;if(e.shiftKey&&/^(?:Digit[1-9])|(?:Key[A-F])$/.test(e.code))return void(0==e.code.indexOf("Digit")?E(parseInt(e.code.substring(5))):E(parseInt(e.code.substring(3),16)));switch(e.key){case"e":h(i.ImageEditorTool.Erase);break;case"h":h(i.ImageEditorTool.Pan);break;case"b":case"p":h(i.ImageEditorTool.Paint);break;case"g":h(i.ImageEditorTool.Fill);break;case"m":h(i.ImageEditorTool.Marquee);break;case"u":h(i.ImageEditorTool.Rect);break;case"l":h(i.ImageEditorTool.Line);break;case"c":h(i.ImageEditorTool.Circle);break;case"-":case"_":m(-1);break;case"=":case"+":m(1);break;case"x":g((0,r.dispatchSwapBackgroundForeground)());break;case"H":y(!1);break;case"V":y(!0);break;case"[":b(!1);break;case"]":b(!0);break;case">":v(!0);break;case"<":v(!1)}const t=o.getState().editor;if(e.shiftKey&&"KeyR"===e.code)k(t.backgroundColor,t.selectedColor);else if(!t.isTilemap&&/^Digit\d$/.test(e.code)){const t=+e.code.slice(-1)+(e.shiftKey?9:0);t>=0&&t<16&&function(e){g((0,r.dispatchChangeSelectedColor)(e))}(t)}}function f(){const e=o.getState();if(e.editor.isTilemap){const t=e.store.present;return[(0,s.getEditState)(t.tilemap,!0,e.editor.drawingMode),"tilemap"]}{const t=e.store.present;return[(0,s.getEditState)(t.frames[t.currentFrame],!1,e.editor.drawingMode),t.frames.length>1?"animation":"image"]}}function h(e){g((0,r.dispatchChangeImageTool)(e))}function m(e){g((0,r.dispatchChangeZoom)(e))}function g(e){o.dispatch(e)}function v(e){let t;const n=o.getState().editor.cursorSize;switch(n){case 1:t=e?3:1;break;case 3:t=e?5:1;break;case 5:t=e?5:3}n!==t&&g((0,r.dispatchChangeCursorSize)(t))}function y(e){const[t,n]=f(),i=(0,s.flipEdit)(t,e,"tilemap"===n);g((0,r.dispatchImageEdit)(i.toImageState()))}function b(e){const[t,n]=f(),i=(0,s.rotateEdit)(t,e,"tilemap"===n,"animation"===n);g((0,r.dispatchImageEdit)(i.toImageState()))}function E(e){const[t,n]=f();if("tilemap"===n)return;const i=(0,s.outlineEdit)(t,e);g((0,r.dispatchImageEdit)(i.toImageState()))}function k(e,t){const[n,i]=f(),a=(0,s.replaceColorEdit)(n,e,t);g((0,r.dispatchImageEdit)(a.toImageState()))}n.addKeyListener=function(){l=[],document.addEventListener("keydown",p),document.addEventListener("keydown",u,!0),document.addEventListener("keydown",d,!0)},n.removeKeyListener=function(){document.removeEventListener("keydown",p),document.removeEventListener("keydown",u,!0),document.removeEventListener("keydown",d,!0)},n.obtainShortcutLock=function(){let e=0;for(;!e;)e=Math.random()*Number.MAX_SAFE_INTEGER;return l.push(e),e},n.releaseShortcutLock=function(e){const t=l.indexOf(e);-1!==t&&l.splice(t,1)},n.areShortcutsEnabled=c,n.setStore=function(e){o=e||a.mainStore},n.flip=y,n.rotate=b,n.outline=E,n.replaceColor=k},{"./actions/dispatch":26,"./store/imageReducer":30,"./store/imageStore":31,"./toolDefinitions":34}],29:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Palette=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("../actions/dispatch");class o extends r.Component{constructor(){super(...arguments),this.handlers=[],this.preventContextMenu=e=>e.preventDefault()}render(){const{colors:e,selected:t,backgroundColor:n,dispatchSwapBackgroundForeground:r}=this.props;return(0,i.jsxs)("div",{children:[(0,i.jsxs)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",className:"image-editor-colors",viewBox:"0 0 23 15",onClick:r},{children:[(0,i.jsx)("defs",{children:(0,i.jsxs)("pattern",Object.assign({id:"alpha-background",width:"6",height:"6",patternUnits:"userSpaceOnUse"},{children:[(0,i.jsx)("rect",{x:"0",y:"0",width:"6px",height:"6px",fill:"#aeaeae"}),(0,i.jsx)("rect",{x:"0",y:"0",width:"3px",height:"3px",fill:"#dedede"}),(0,i.jsx)("rect",{x:"3",y:"3",width:"3px",height:"3px",fill:"#dedede"})]}))}),(0,i.jsxs)("g",{children:[(0,i.jsx)("rect",Object.assign({fill:n?e[n]:"url(#alpha-background)",x:6,y:4,width:15,height:10,stroke:"#3c3c3c",strokeWidth:"0.5"},{children:(0,i.jsx)("title",{children:l(n,e[n])})})),(0,i.jsx)("rect",Object.assign({fill:t?e[t]:"url(#alpha-background)",x:2,y:1,width:15,height:10,stroke:"#3c3c3c",strokeWidth:"0.5"},{children:(0,i.jsx)("title",{children:l(t,e[t])})}))]})]})),(0,i.jsx)("div",Object.assign({className:"image-editor-color-buttons",onContextMenu:this.preventContextMenu},{children:this.props.colors.map(((e,t)=>(0,i.jsx)("div",{className:"image-editor-button "+(0===t?"checkerboard":""),role:"button",title:l(t,e),onMouseDown:this.clickHandler(t),style:0===t?null:{backgroundColor:e}},t)))}))]})}clickHandler(e){return this.handlers[e]||(this.handlers[e]=t=>{0===t.button?this.props.dispatchChangeSelectedColor(e):(this.props.dispatchChangeBackgroundColor(e),t.preventDefault(),t.stopPropagation())}),this.handlers[e]}}function l(e,t){const n=0===e?lf("transparency"):function(e){switch(null==e?void 0:e.toLowerCase()){case"#ffffff":return lf("white");case"#ff2121":return lf("red");case"#ff93c4":return lf("pink");case"#ff8135":return lf("orange");case"#fff609":return lf("yellow");case"#249ca3":return lf("teal");case"#78dc52":return lf("green");case"#003fad":return lf("blue");case"#87f2ff":return lf("light blue");case"#8e2ec4":return lf("purple");case"#a4839f":return lf("light purple");case"#5c406c":return lf("dark purple");case"#e5cdc4":return lf("tan");case"#91463d":return lf("brown");case"#000000":return lf("black");default:return}}(t);return n?lf("Color {0} ({1})",e,n):lf("Color {0}",e)}const c={dispatchChangeSelectedColor:s.dispatchChangeSelectedColor,dispatchChangeBackgroundColor:s.dispatchChangeBackgroundColor,dispatchSwapBackgroundForeground:s.dispatchSwapBackgroundForeground};n.Palette=(0,a.connect)((function({store:{present:e},editor:t},n){let i=e;return i?{selected:t.selectedColor,backgroundColor:t.backgroundColor,colors:i.colors}:{}}),c)(o)},{"../actions/dispatch":26,react:107,"react-redux":93,"react/jsx-runtime":108}],30:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.setTelemetryFunction=n.TileDrawingMode=n.TileCategory=n.KeyModifiers=n.CursorSize=n.ImageEditorTool=void 0;const i=e("../../../assets"),r=e("../actions/types");var a,s,o,l;(l=a=n.ImageEditorTool||(n.ImageEditorTool={}))[l.Paint=0]="Paint",l[l.Fill=1]="Fill",l[l.Line=2]="Line",l[l.Erase=3]="Erase",l[l.Circle=4]="Circle",l[l.Rect=5]="Rect",l[l.ColorSelect=6]="ColorSelect",l[l.Marquee=7]="Marquee",l[l.Pan=8]="Pan",function(e){e[e.One=1]="One",e[e.Three=3]="Three",e[e.Five=5]="Five"}(n.CursorSize||(n.CursorSize={})),function(e){e[e.Alt=1]="Alt",e[e.Shift=2]="Shift"}(n.KeyModifiers||(n.KeyModifiers={})),function(e){e[e.Forest=0]="Forest",e[e.Aquatic=1]="Aquatic",e[e.Dungeon=2]="Dungeon",e[e.Misc=3]="Misc"}(s=n.TileCategory||(n.TileCategory={})),function(e){e.Default="default",e.Wall="wall"}(o=n.TileDrawingMode||(n.TileDrawingMode={}));const c={store:{present:{kind:"Animation",visible:!0,colors:["#000000","#ffffff","#ff2121","#ff93c4","#ff8135","#fff609","#249ca3","#78dc52","#003fad","#87f2ff","#8e2ec4","#a4839f","#5c406c","#e5cdc4","#91463d","#000000"],aspectRatioLocked:!1,currentFrame:0,frames:[h(16,16)],interval:200},past:[],future:[]},editor:{selectedColor:3,tool:a.Paint,cursorSize:1,backgroundColor:1,previewAnimating:!1,onionSkinEnabled:!1,overlayEnabled:!0,tilesetRevision:0,isTilemap:!1}},u=(e,t)=>{switch(t.type){case r.TOGGLE_ASPECT_RATIO:return g("toggle-aspect-ratio-lock"),Object.assign(Object.assign({},e),{aspectRatioLocked:!e.aspectRatioLocked});case r.CHANGE_CURRENT_FRAME:return g("change-frame"),Object.assign(Object.assign({},e),{currentFrame:t.index});case r.CHANGE_INTERVAL:return g("change-interval"),Object.assign(Object.assign({},e),{interval:t.newInterval});case r.CHANGE_IMAGE_DIMENSIONS:g("change-dimensions");const[n,i]=t.imageDimensions;return Object.assign(Object.assign({},e),{frames:e.frames.map(((e,t)=>Object.assign(Object.assign({},e),{bitmap:pxt.sprite.Bitmap.fromData(e.bitmap).resize(n,i).data()})))});case r.IMAGE_EDIT:return g("image-edit"),Object.assign(Object.assign({},e),{frames:e.frames.map(((n,i)=>i===e.currentFrame?t.newState:n))});case r.DELETE_FRAME:if(1===e.frames.length)return e;g("delete-frame");const a=e.frames.slice();a.splice(t.index,1);let s=e.currentFrame;return e.currentFrame>=t.index&&e.currentFrame>0&&s--,Object.assign(Object.assign({},e),{currentFrame:s,frames:a});case r.DUPLICATE_FRAME:g("duplicate-frame");const o=e.frames.slice();return o.splice(t.index,0,function(e){let t,n,i;return e.floating&&(e.floating.bitmap&&(n=pxt.sprite.Bitmap.fromData(e.floating.bitmap).copy().data()),e.floating.overlayLayers&&(i=e.floating.overlayLayers.map((e=>pxt.sprite.Bitmap.fromData(e).copy().data()))),t={bitmap:n,overlayLayers:i}),Object.assign(Object.assign({},e),{bitmap:pxt.sprite.Bitmap.fromData(e.bitmap).copy().data(),overlayLayers:e.overlayLayers&&e.overlayLayers.map((e=>pxt.sprite.Bitmap.fromData(e).copy().data())),floating:t})}(e.frames[t.index])),Object.assign(Object.assign({},e),{frames:o,currentFrame:t.index+1});case r.NEW_FRAME:return g("new-frame"),Object.assign(Object.assign({},e),{frames:[...e.frames,h(e.frames[0].bitmap.width,e.frames[0].bitmap.height)],currentFrame:e.frames.length});case r.MOVE_FRAME:if(t.newIndex<0||t.newIndex>=e.frames.length||t.newIndex<0||t.newIndex>=e.frames.length)return e;g("move-frame");const l=e.frames.slice(),c=l.splice(t.oldIndex,1)[0];return l.splice(t.newIndex,0,c),Object.assign(Object.assign({},e),{frames:l,currentFrame:t.oldIndex===e.currentFrame?t.newIndex:e.currentFrame});case r.SET_FRAMES:return g("set-frames"),Object.assign(Object.assign({},e),{frames:t.frames,currentFrame:0});default:return e}},d=(e,t,n)=>{let i;switch(t.type){case r.CHANGE_PREVIEW_ANIMATING:return g("preview-animate-"+(t.animating?"on":"off")),Object.assign(Object.assign({},e),{previewAnimating:t.animating});case r.CHANGE_CANVAS_ZOOM:return(t.zoom>0||t.zoom<0)&&g("zoom-"+(t.zoom>0?"in":"out")),Object.assign(Object.assign({},e),{zoomDelta:t.zoom});case r.CHANGE_IMAGE_TOOL:return g(`change-tool-${a[t.tool]}`),Object.assign(Object.assign({},e),{tool:t.tool});case r.CHANGE_CURSOR_SIZE:return g(`change-cursor-size-${t.cursorSize}`),Object.assign(Object.assign({},e),{cursorSize:t.cursorSize});case r.CHANGE_SELECTED_COLOR:return g(`foreground-color-${t.selectedColor}`),Object.assign(Object.assign({},e),{selectedColor:t.selectedColor,tool:e.tool===a.Erase?a.Paint:e.tool});case r.CHANGE_CURSOR_LOCATION:return Object.assign(Object.assign({},e),{cursorLocation:t.cursorLocation});case r.CHANGE_BACKGROUND_COLOR:return g(`background-color-${t.backgroundColor}`),Object.assign(Object.assign({},e),{backgroundColor:t.backgroundColor});case r.SWAP_FOREGROUND_BACKGROUND:return g("swap-foreground-background"),Object.assign(Object.assign({},e),{backgroundColor:e.selectedColor,selectedColor:e.backgroundColor});case r.TOGGLE_ONION_SKIN_ENABLED:return g("toggle-onion-skin"),Object.assign(Object.assign({},e),{onionSkinEnabled:!e.onionSkinEnabled});case r.CHANGE_TILE_PALETTE_CATEGORY:return g(`change-tile-category-${s[t.category]}`),Object.assign(Object.assign({},e),{tilemapPalette:Object.assign(Object.assign({},e.tilemapPalette),{category:t.category,page:0})});case r.CHANGE_TILE_PALETTE_PAGE:return g("change-tile-page"),Object.assign(Object.assign({},e),{tilemapPalette:Object.assign(Object.assign({},e.tilemapPalette),{page:t.page})});case r.CHANGE_DRAWING_MODE:return g("change-drawing-mode"),Object.assign(Object.assign({},e),{drawingMode:t.drawingMode||o.Default});case r.CHANGE_OVERLAY_ENABLED:return g("change-overlay-enabled"),Object.assign(Object.assign({},e),{overlayEnabled:t.enabled});case r.CREATE_NEW_TILE:return i=e.editedTiles,!t.tile||i&&-1!==i.indexOf(t.tile.id)||(i=(i||[]).concat([t.tile.id])),Object.assign(Object.assign({},e),{editedTiles:i,selectedColor:t.foreground,backgroundColor:t.background});case r.SET_GALLERY_OPEN:return g(`set-gallery-open-${t.open}`),Object.assign(Object.assign({},e),{tileGalleryOpen:t.open,tilemapPalette:Object.assign(Object.assign({},e.tilemapPalette),{page:0})});case r.DELETE_TILE:return Object.assign(Object.assign({},e),{deletedTiles:(e.deletedTiles||[]).concat([t.id]),selectedColor:t.index===e.selectedColor?0:e.selectedColor,backgroundColor:t.index===e.backgroundColor?0:e.backgroundColor,tilesetRevision:e.tilesetRevision+1});case r.OPEN_TILE_EDITOR:const l=t.index?"edit":"new";return g(`open-tile-editor-${l}`),Object.assign(Object.assign({},e),{editingTile:{type:l,tilesetIndex:t.index}});case r.CLOSE_TILE_EDITOR:return i=e.editedTiles,!t.result||i&&-1!==i.indexOf(t.result.id)||(i=(i||[]).concat([t.result.id])),Object.assign(Object.assign({},e),{editedTiles:i,selectedColor:t.index||n.present.tileset.tiles.length,editingTile:void 0,tilesetRevision:e.tilesetRevision+1});case r.SHOW_ALERT:return g("show-alert"),Object.assign(Object.assign({},e),{alert:{title:t.title,text:t.text,options:t.options}});case r.HIDE_ALERT:return g("hide-alert"),Object.assign(Object.assign({},e),{alert:null});case r.DISABLE_RESIZE:return Object.assign(Object.assign({},e),{resizeDisabled:!0})}return e},p=(e,t)=>{switch(t.type){case r.TOGGLE_ASPECT_RATIO:return g("toggle-aspect-ratio-lock"),Object.assign(Object.assign({},e),{aspectRatioLocked:!e.aspectRatioLocked});case r.CHANGE_IMAGE_DIMENSIONS:g("change-dimensions");const[n,a]=t.imageDimensions;return Object.assign(Object.assign({},e),{tilemap:Object.assign(Object.assign({},e.tilemap),{bitmap:b(e.tilemap.bitmap,n,a),overlayLayers:e.tilemap.overlayLayers&&e.tilemap.overlayLayers.map((e=>function(e,t,n){return pxt.sprite.Bitmap.fromData(e).resize(t,n).data()}(e,n,a)))})});case r.CREATE_NEW_TILE:const s=!t.qualifiedName;let o;return g(s?"new-tile":`used-tile-${t.qualifiedName}`),s?(o=t.tile).isProjectTile=!0:o=(0,i.lookupAsset)("tile",t.qualifiedName),Object.assign(Object.assign({},e),{tileset:Object.assign(Object.assign({},e.tileset),{tiles:e.tileset.tiles.concat([o])}),nextId:s?e.nextId+1:e.nextId});case r.CLOSE_TILE_EDITOR:return g("close-tile-editor"),t.result?t.index?Object.assign(Object.assign({},e),{tileset:f(e.tileset,t.index,t.result)}):Object.assign(Object.assign({},e),{tileset:Object.assign(Object.assign({},e.tileset),{tiles:e.tileset.tiles.concat([t.result])}),nextId:e.nextId+1}):e;case r.DELETE_TILE:g("delete-tile");const l=e.tileset.tiles.slice();return l.splice(t.index,1),Object.assign(Object.assign({},e),{tilemap:Object.assign(Object.assign({},e.tilemap),{bitmap:y(t.index,pxt.sprite.Tilemap.fromData(e.tilemap.bitmap)).data()}),tileset:Object.assign(Object.assign({},e.tileset),{tiles:l})});case r.IMAGE_EDIT:return g("image-edit"),Object.assign(Object.assign({},e),{tilemap:t.newState});default:return e}};function f(e,t,n){return Object.assign(Object.assign({},e),{tiles:e.tiles.map(((e,i)=>i===t?n:e))})}function h(e,t){return{bitmap:new pxt.sprite.Bitmap(e,t).data()}}let m;function g(e){m&&m(e)}function v(e,t){for(const n of e.tiles)if(!n.jresData&&!n.isProjectTile)for(const e of t)if(e.qualifiedName===n.id){n.bitmap=e.bitmap;break}return e}function y(e,t){const n=t.copy();for(let t=0;t<n.width;t++)for(let i=0;i<n.height;i++){const r=n.get(t,i);r===e?n.set(t,i,0):r>e&&n.set(t,i,r-1)}return n}function b(e,t,n){return pxt.sprite.Tilemap.fromData(e).resize(t,n).data()}function E(e,t){return"tilemap"===e.type?function(e,t){return{kind:"Tilemap",asset:e,colors:pxt.appTarget.runtime.palette.slice(),aspectRatioLocked:!1,tilemap:{bitmap:e.data.tilemap.data(),overlayLayers:[e.data.layers]},tileset:v(e.data.tileset,t),nextId:e.data.nextId}}(e,t):function(e){return{kind:"Animation",asset:e,visible:!0,colors:pxt.appTarget.runtime.palette.slice(),aspectRatioLocked:"tile"===e.type,currentFrame:0,frames:"animation"===e.type?e.frames.map((e=>({bitmap:e}))):[{bitmap:e.bitmap}],interval:"animation"===e.type?e.interval:100}}(e)}n.setTelemetryFunction=function(e){m=e},n.default=(e=c,t)=>{var n;switch(t.type){case r.OPEN_TILE_EDITOR:case r.CHANGE_PREVIEW_ANIMATING:case r.CHANGE_CANVAS_ZOOM:case r.CHANGE_IMAGE_TOOL:case r.CHANGE_CURSOR_SIZE:case r.CHANGE_SELECTED_COLOR:case r.CHANGE_CURSOR_LOCATION:case r.CHANGE_BACKGROUND_COLOR:case r.SWAP_FOREGROUND_BACKGROUND:case r.TOGGLE_ONION_SKIN_ENABLED:case r.CHANGE_OVERLAY_ENABLED:case r.CHANGE_TILE_PALETTE_PAGE:case r.CHANGE_TILE_PALETTE_CATEGORY:case r.CHANGE_DRAWING_MODE:case r.SET_GALLERY_OPEN:case r.SHOW_ALERT:case r.HIDE_ALERT:case r.DISABLE_RESIZE:return Object.assign(Object.assign({},e),{editor:d(e.editor,t,e.store)});case r.SET_INITIAL_STATE:const a=t.state;return Object.assign(Object.assign({},e),{editor:Object.assign(Object.assign({},c.editor),{selectedColor:a.selectedColor,backgroundColor:a.backgroundColor,tilemapPalette:a.tilemapPalette,tileGalleryOpen:a.tileGalleryOpen,tileGallery:a.tileGallery,isTilemap:a.isTilemap,referencedTiles:e.editor.referencedTiles}),store:Object.assign(Object.assign({},e.store),{past:t.past||e.store.past,future:t.past?[]:e.store.future})});case r.OPEN_ASSET:const l=t.asset,f=t.gallery||(t.keepPast?e.editor.tileGallery:[]);let h=-1;if("tilemap"===l.type){const e=t.asset.data;if(pxt.sprite.isEmptyTilemap(e)){const t=e.tileset.tiles||[],r=null===(n=f.find((e=>-1!==e.tags.indexOf("forest"))))||void 0===n?void 0:n.qualifiedName,a=(0,i.lookupAsset)("tile",r);a&&!t.find((e=>e.id===r))&&t.push(a),h=t.indexOf(a)}}return Object.assign(Object.assign({},e),{editor:"tilemap"===l.type?{selectedColor:h,backgroundColor:-1,isTilemap:!0,tilemapPalette:{category:s.Forest,page:0},drawingMode:o.Default,overlayEnabled:!0,tileGallery:f,tileGalleryOpen:!!f,referencedTiles:l.data.projectReferences,previewAnimating:!1,onionSkinEnabled:!1,tilesetRevision:0,tool:t.keepPast?e.editor.tool:c.editor.tool,cursorSize:t.keepPast?e.editor.cursorSize:c.editor.cursorSize,editedTiles:t.keepPast?e.editor.editedTiles:void 0,deletedTiles:t.keepPast?e.editor.deletedTiles:void 0}:{isTilemap:!1,tilesetRevision:0,selectedColor:t.keepPast?e.editor.selectedColor:c.editor.selectedColor,backgroundColor:t.keepPast?e.editor.backgroundColor:c.editor.backgroundColor,previewAnimating:t.keepPast?e.editor.previewAnimating:c.editor.previewAnimating,tool:t.keepPast?e.editor.tool:c.editor.tool,onionSkinEnabled:t.keepPast?e.editor.onionSkinEnabled:c.editor.onionSkinEnabled,cursorSize:t.keepPast?e.editor.cursorSize:c.editor.cursorSize,resizeDisabled:t.keepPast?e.editor.resizeDisabled:c.editor.resizeDisabled},store:Object.assign(Object.assign({},e.store),{past:t.keepPast?e.store.past:[],present:E(t.asset,f),future:[]})});case r.CHANGE_ASSET_NAME:return g("change-asset-name"),Object.assign(Object.assign({},e),{store:{past:[...e.store.past,e.store.present],present:Object.assign(Object.assign({},e.store.present),{asset:Object.assign(Object.assign({},e.store.present.asset),{meta:Object.assign(Object.assign({},e.store.present.asset.meta||{}),{displayName:t.name})})}),future:[]}});case r.UNDO_IMAGE_EDIT:return e.store.past.length?(g("undo"),Object.assign(Object.assign({},e),{store:Object.assign(Object.assign({},e.store),{past:e.store.past.slice(0,e.store.past.length-1),present:e.store.past[e.store.past.length-1],future:[...e.store.future,e.store.present]}),editor:Object.assign(Object.assign({},e.editor),{tilesetRevision:e.editor.tilesetRevision+1})})):e;case r.REDO_IMAGE_EDIT:return e.store.future.length?(g("redo"),Object.assign(Object.assign({},e),{store:Object.assign(Object.assign({},e.store),{past:[...e.store.past,e.store.present],present:e.store.future[e.store.future.length-1],future:e.store.future.slice(0,e.store.future.length-1)}),editor:Object.assign(Object.assign({},e.editor),{tilesetRevision:e.editor.tilesetRevision+1})})):e;default:return Object.assign(Object.assign({},e),{editor:d(e.editor,t,e.store),store:Object.assign(Object.assign({},e.store),{past:[...e.store.past,e.store.present],present:e.editor.isTilemap?p(e.store.present,t):u(e.store.present,t),future:[]})})}}},{"../../../assets":11,"../actions/types":27}],31:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.mainStore=n.tileEditorStore=void 0;const i=e("redux"),r=e("./imageReducer"),a=(0,i.createStore)(r.default);n.default=a,n.tileEditorStore=(0,i.createStore)(r.default),n.mainStore=a},{"./imageReducer":30,redux:109}],32:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Minimap=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("../ImageEditor"),o=pxt.BrowserUtils.isEdge()?25:1;class l extends r.Component{constructor(){super(...arguments),this.tileColors=[]}componentDidMount(){this.canvas=this.refs["minimap-canvas"],this.redrawCanvas()}componentDidUpdate(){this.redrawCanvas()}render(){return(0,i.jsx)("div",Object.assign({className:"minimap-outer"},{children:(0,i.jsx)("canvas",{ref:"minimap-canvas",className:"paint-surface"})}))}redrawCanvas(){const{tilemap:e,lightMode:t}=this.props;let{bitmap:n,floating:i,layerOffsetX:r,layerOffsetY:a}=e;const l=this.canvas.getContext("2d"),c=pxt.sprite.Tilemap.fromData(n),u=i&&i.bitmap?pxt.sprite.Tilemap.fromData(i.bitmap):null;this.canvas.width=c.width*o,this.canvas.height=c.height*o,this.tileColors=[];for(let e=0;e<c.width;e++)for(let n=0;n<c.height;n++){const i=u?u.get(e-r,n-a):null,d=c.get(e,n);i?(l.fillStyle=this.getColor(i),l.fillRect(e*o,n*o,o,o)):d?(l.fillStyle=this.getColor(d),l.fillRect(e*o,n*o,o,o)):t?(l.fillStyle=s.LIGHT_MODE_TRANSPARENT,l.fillRect(e*o,n*o,o,o)):l.clearRect(e*o,n*o,o,o)}}getColor(e){if(!this.tileColors[e]){const{tileset:t,colors:n}=this.props;if(e>=t.tiles.length)return"#ffffff";const i=pxt.sprite.Bitmap.fromData(t.tiles[e].bitmap);this.tileColors[e]=pxt.sprite.computeAverageColor(i,n)}return this.tileColors[e]}}n.Minimap=(0,a.connect)((function({store:{present:e},editor:t},n){let i=e;return i?{tilemap:i.tilemap,tileset:i.tileset,colors:i.colors}:{}}),{})(l)},{"../ImageEditor":19,react:107,"react-redux":93,"react/jsx-runtime":108}],33:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TilePalette=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("../store/imageReducer"),o=e("../actions/dispatch"),l=e("../TimelineFrame"),c=e("../Dropdown"),u=e("../Pivot"),d=e("../Button"),p=e("../../../assets"),f=pxt.BrowserUtils.isEdge()?25:1,h=[{id:"forest",text:lf("Forest"),tiles:[]},{id:"aquatic",text:lf("Aquatic"),tiles:[]},{id:"dungeon",text:lf("Dungeon"),tiles:[]},{id:"misc",text:lf("Miscellaneous"),tiles:[]}],m=[{id:"custom",text:lf("My Tiles")},{id:"gallery",text:lf("Gallery")}],g=new pxt.sprite.Bitmap(16,16);class v extends r.Component{constructor(e){super(e),this.dropdownHandler=(e,t)=>{this.props.dispatchChangeTilePaletteCategory(t)},this.pivotHandler=(e,t)=>{this.props.dispatchSetGalleryOpen(1===t)},this.pageHandler=e=>{this.props.dispatchChangeTilePalettePage(e)},this.tileCreateHandler=()=>{this.props.dispatchOpenTileEditor()},this.tileEditHandler=()=>{const{tileset:e,selected:t,dispatchOpenTileEditor:n}=this.props,i=e.tiles[t];(null==i?void 0:i.isProjectTile)&&0!==t&&n(t,i.id)},this.tileDuplicateHandler=()=>{var e;const{tileset:t,selected:n,backgroundColor:i,dispatchCreateNewTile:r}=this.props;if(!t.tiles[n]||!t.tiles[n].isProjectTile||0===n)return;const a=t.tiles[n];r((0,p.createTile)(a.bitmap,null,null===(e=a.meta)||void 0===e?void 0:e.displayName),t.tiles.length,i)},this.tileDeleteAlertHandler=()=>{const{tileset:e,selected:t,dispatchShowAlert:n,dispatchHideAlert:i,referencedTiles:r}=this.props,a=e.tiles[t];t&&a&&a.isProjectTile&&(r&&-1!==r.indexOf(a.id)?n(lf("Unable to delete"),lf("This tile is used in your game. Remove all blocks using the tile before deleting."),[{label:lf("Cancel"),onClick:i}]):n(lf("Are you sure?"),lf("Deleting this tile will remove it from all other tile maps in your game."),[{label:lf("Yes"),onClick:this.deleteTile},{label:lf("No"),onClick:i}]))},this.deleteTile=()=>{const e=this.props.tileset.tiles[this.props.selected];e&&this.props.dispatchDeleteTile(this.props.selected,e.id)},this.canvasClickHandler=e=>{this.handleCanvasClickCore(e.clientX,e.clientY,e.button>0)},this.canvasTouchHandler=e=>{this.handleCanvasClickCore(e.changedTouches[0].clientX,e.changedTouches[0].clientY,!1)},this.foregroundBackgroundClickHandler=()=>{this.props.drawingMode!=s.TileDrawingMode.Default?this.props.dispatchChangeDrawingMode(s.TileDrawingMode.Default):this.props.dispatchSwapBackgroundForeground()},this.wallClickHandler=()=>{this.props.drawingMode===s.TileDrawingMode.Wall?this.props.dispatchChangeDrawingMode(s.TileDrawingMode.Default):this.props.dispatchChangeDrawingMode(s.TileDrawingMode.Wall)},this.preventContextMenu=e=>e.preventDefault();const{gallery:t}=e;if(this.refreshGallery(e),t){const e={};for(const n of t){const t=n.tags.find((e=>pxt.Util.startsWith(e,"category-")));t&&(e[t]||(e[t]={id:t,text:pxt.Util.rlf(`{id:tilecategory}${t.substr(9)}`),tiles:[]}),e[t].tiles.push(n))}this.categories=h.concat(Object.keys(e).map((t=>e[t])))}else this.categories=[]}componentDidMount(){this.canvas=this.refs["tile-canvas-surface"],this.updateGalleryTiles(),this.redrawCanvas()}UNSAFE_componentWillReceiveProps(e){this.props.selected!=e.selected?this.jumpToPageContaining(e.selected):this.props.backgroundColor!=e.backgroundColor&&this.jumpToPageContaining(e.backgroundColor),this.refreshGallery(e)}componentDidUpdate(){this.updateGalleryTiles(),this.redrawCanvas()}render(){const{colors:e,selected:t,backgroundColor:n,tileset:r,category:a,page:o,drawingMode:p,galleryOpen:f}=this.props,h=r.tiles[t]?r.tiles[t].bitmap:g.data(),v=r.tiles[n]?r.tiles[n].bitmap:g.data();g.data(),this.updateGalleryTiles();let E=Math.ceil(this.categoryTiles.length/16);f||this.categoryTiles.length%16!=0||E++;const k=!f&&(1===E||o===E-1),T=f||!this.renderedTiles.some((e=>!b(e)&&e.index===t));return(0,i.jsxs)("div",Object.assign({className:"tile-palette"},{children:[(0,i.jsxs)("div",Object.assign({className:"tile-palette-fg-bg"},{children:[(0,i.jsx)("div",Object.assign({className:"tile-palette-swatch fg "+(p==s.TileDrawingMode.Default?"selected":""),onClick:this.foregroundBackgroundClickHandler,role:"button"},{children:(0,i.jsx)(l.TimelineFrame,{frames:[{bitmap:h}],colors:e})})),(0,i.jsxs)("div",Object.assign({className:"tile-palette-swatch bg",onClick:this.foregroundBackgroundClickHandler,role:"button"},{children:[(0,i.jsx)(l.TimelineFrame,{frames:[{bitmap:v}],colors:e}),(0,i.jsx)(d.IconButton,{iconClass:"ms-Icon ms-Icon--ReturnKey",title:lf("Swap the background and foreground colors."),toggle:!0})]})),(0,i.jsx)("div",Object.assign({className:"tile-palette-swatch wall "+(p==s.TileDrawingMode.Wall?"selected":""),onClick:this.wallClickHandler,title:lf("Draw walls"),role:"button"},{children:(0,i.jsx)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1000 1000",width:"1000",height:"1000"},{children:(0,i.jsx)("path",{d:"M 968.49289,108.05443 771.30518,3.7581533 183.65231,166.0694 l 2.58963,202.62638 -156.247366,54.4148 0.872799,492.65563 179.544267,81.08212 758.08125,-222.4989 z M 765.6275,42.836761 916.79721,122.02922 412.26526,262.35026 250.08966,187.43643 Z M 934.62189,739.077 234.56171,946.92199 233.81426,554.79578 422.38222,493.25053 423.42046,300.4059 934.62189,157.54989 Z M 204.96854,402.33519 361.49056,473.98651 222.88861,518.46222 75.008408,444.5191 Z"})}))}))]})),(0,i.jsx)(u.Pivot,{options:m,selected:f?1:0,onChange:this.pivotHandler}),(0,i.jsxs)("div",Object.assign({className:"tile-palette-controls-outer"},{children:[f&&(0,i.jsx)(c.Dropdown,{onChange:this.dropdownHandler,options:this.categories.filter((e=>!!e.tiles.length)),selected:a}),!f&&(0,i.jsxs)("div",Object.assign({className:"tile-palette-controls"},{children:[(0,i.jsx)(d.IconButton,{onClick:this.tileEditHandler,iconClass:"ms-Icon ms-Icon--SingleColumnEdit",title:lf("Edit the selected tile"),disabled:T,toggle:!T}),(0,i.jsx)(d.IconButton,{onClick:this.tileDuplicateHandler,iconClass:"ms-Icon ms-Icon--Copy",title:lf("Duplicate the selected tile"),disabled:T,toggle:!T}),(0,i.jsx)(d.IconButton,{onClick:this.tileDeleteAlertHandler,iconClass:"ms-Icon ms-Icon--Delete",title:lf("Delete the selected tile"),disabled:T,toggle:!T})]}))]})),(0,i.jsxs)("div",Object.assign({className:"tile-canvas-outer",onContextMenu:this.preventContextMenu},{children:[(0,i.jsxs)("div",Object.assign({className:"tile-canvas"},{children:[(0,i.jsx)("canvas",{ref:"tile-canvas-surface",className:"paint-surface",onMouseDown:this.canvasClickHandler,onTouchStart:this.canvasTouchHandler,role:"complementary"}),k&&(0,i.jsx)("div",Object.assign({ref:"create-tile-ref"},{children:(0,i.jsx)(d.IconButton,{onClick:this.tileCreateHandler,iconClass:"ms-Icon ms-Icon--Add",title:lf("Create a new tile"),toggle:!0})}))]})),(0,i.jsx)("div",Object.assign({className:"tile-canvas-controls"},{children:y(E,o,this.pageHandler)}))]}))]}))}updateGalleryTiles(){const{page:e,category:t,galleryOpen:n}=this.props;this.categoryTiles=n?this.categories[t].tiles:this.getCustomTiles().map((([e,t])=>({index:t,bitmap:e.bitmap})));const i=16*e;this.renderedTiles=this.categoryTiles.slice(i,i+16)}jumpToPageContaining(e){const{tileset:t,dispatchSetGalleryOpen:n,dispatchChangeTilePaletteCategory:i,dispatchChangeTilePalettePage:r}=this.props;if(!e||e<0||e>=t.tiles.length)return;const a=t.tiles[e];if(a.isProjectTile){const e=this.getCustomTiles().map((([e,t])=>e));if(!e)return;const t=Math.max(Math.floor(e.findIndex((e=>e.id==a.id))/16),0);n(!1),r(t)}else{const e=this.categories.find((e=>-1!==e.tiles.findIndex((e=>e.qualifiedName==a.id))));if(!e||!e.tiles)return;const t=Math.max(Math.floor(e.tiles.findIndex((e=>e.qualifiedName==a.id))/16),0);n(!0),i(this.categories.indexOf(e)),r(t)}}redrawCanvas(){const{tileset:e,page:t,selected:n}=this.props,i=4*t*4,r=e.tileWidth+1;this.canvas.width=(4*r+1)*f,this.canvas.height=(4*r+1)*f;const a=this.canvas.getContext("2d");for(let e=0;e<4;e++)for(let t=0;t<4;t++){const s=this.categoryTiles[i+4*e+t];s&&(b(s)||s.index!==n||(a.fillStyle="#ff0000",a.fillRect(t*r,e*r,r+1,r+1)),a.fillStyle="#333333",a.fillRect(t*r+1,e*r+1,r-1,r-1),this.drawBitmap(pxt.sprite.Bitmap.fromData(s.bitmap),1+t*r,1+e*r))}this.positionCreateTileButton()}drawBitmap(e,t=0,n=0,i=!0,r=f,a=this.canvas){const{colors:s}=this.props,o=a.getContext("2d");o.imageSmoothingEnabled=!1;for(let a=0;a<e.width;a++)for(let l=0;l<e.height;l++){const c=e.get(a,l);c?(o.fillStyle=s[c],o.fillRect((a+t)*r,(l+n)*r,r,r)):i||o.clearRect((a+t)*r,(l+n)*r,r,r)}}handleCanvasClickCore(e,t,n){const i=this.canvas.getBoundingClientRect(),r=(e-i.left)/(i.width/4)|0,a=(t-i.top)/(i.height/4)|0,o=this.renderedTiles[4*a+r];if(o){let e,t;if(b(o)?(e=this.getTileIndex(o),t=o.qualifiedName):e=o.index,e>=0)n?this.props.dispatchChangeBackgroundColor(e):this.props.dispatchChangeSelectedColor(e);else{const{selected:e,backgroundColor:i,tileset:r}=this.props,a=r.tiles.length||1;this.props.dispatchCreateNewTile(null,n?e:a,n?a:i,t)}this.props.dispatchChangeDrawingMode(s.TileDrawingMode.Default)}}refreshGallery(e){const{gallery:t,tileset:n}=e;t&&h.forEach((e=>{e.tiles=t.filter((t=>-1!==t.tags.indexOf(e.id)&&t.tileWidth===n.tileWidth))}))}positionCreateTileButton(){const e=this.refs["create-tile-ref"];if(e){const t=this.categoryTiles.length%4,n=Math.floor(this.categoryTiles.length/4)%4;e.style.position="absolute",e.style.left="calc("+t/4+" * (100% - 0.5rem) + 0.25rem)",e.style.top="calc("+n/4+" * (100% - 0.5rem) + 0.25rem)"}}getCustomTiles(){return this.props.tileset.tiles.map(((e,t)=>[e,t])).filter((([e])=>e.isProjectTile)).sort((([e],[t])=>{const n="myTiles.transparency"+this.props.tileset.tileWidth;return e.id==n?-1:t.id==n?1:e.internalID-t.internalID}))}getTileIndex(e){const{tileset:t}=this.props;for(let n=0;n<t.tiles.length;n++)if(t.tiles[n].id===e.qualifiedName)return n;return-1}}function y(e,t,n){const r=16+5*(e-1),a=[];for(let n=0;n<e;n++)a[n]=n===t;return(0,i.jsxs)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${r} 10`,className:"tile-palette-pages "+(e<2?"disabled":"")},{children:[(0,i.jsx)("polygon",{className:"tile-palette-page-arrow",points:"1,5 4,3 4,7",onClick:t?()=>n(t-1):void 0}),a.map(((e,t)=>(0,i.jsx)("circle",{className:"tile-palette-page-dot",cx:8+5*t,cy:"5",r:e?2:1,onClick:e?void 0:()=>n(t)},t))),(0,i.jsx)("polygon",{className:"tile-palette-page-arrow",points:`${r-1},5 ${r-4},3 ${r-4},7`,onClick:t<e-1?()=>n(t+1):void 0})]}))}function b(e){return!!e.qualifiedName}const E={dispatchChangeSelectedColor:o.dispatchChangeSelectedColor,dispatchChangeBackgroundColor:o.dispatchChangeBackgroundColor,dispatchSwapBackgroundForeground:o.dispatchSwapBackgroundForeground,dispatchChangeTilePalettePage:o.dispatchChangeTilePalettePage,dispatchChangeTilePaletteCategory:o.dispatchChangeTilePaletteCategory,dispatchChangeDrawingMode:o.dispatchChangeDrawingMode,dispatchCreateNewTile:o.dispatchCreateNewTile,dispatchSetGalleryOpen:o.dispatchSetGalleryOpen,dispatchOpenTileEditor:o.dispatchOpenTileEditor,dispatchDeleteTile:o.dispatchDeleteTile,dispatchShowAlert:o.dispatchShowAlert,dispatchHideAlert:o.dispatchHideAlert};n.TilePalette=(0,a.connect)((function({store:{present:e},editor:t},n){let i=e;return i?{selected:t.selectedColor,tileset:i.tileset,backgroundColor:t.backgroundColor,category:t.tilemapPalette.category,page:t.tilemapPalette.page,colors:i.colors,drawingMode:t.drawingMode,gallery:t.tileGallery,galleryOpen:t.tileGalleryOpen,referencedTiles:t.referencedTiles}:{}}),E)(v)},{"../../../assets":11,"../Button":15,"../Dropdown":17,"../Pivot":20,"../TimelineFrame":23,"../actions/dispatch":26,"../store/imageReducer":30,react:107,"react-redux":93,"react/jsx-runtime":108}],34:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.replaceColorEdit=n.outlineEdit=n.flipEdit=n.rotateEdit=n.MarqueeEdit=n.FillEdit=n.CircleEdit=n.LineEdit=n.OutlineEdit=n.RectangleEdit=n.PaintEdit=n.SelectionEdit=n.Edit=n.EditState=n.getEditState=n.getEdit=n.tools=n.ToolCursor=void 0;const i=e("./store/imageReducer");var r,a;(a=r=n.ToolCursor||(n.ToolCursor={})).None="none",a.Default="default",a.Pointer="pointer",a.Crosshair="crosshair",a.Grab="grab",a.Grabbing="grabbing",a.EyeDropper="var(--eyedropper)",n.tools=[{tool:i.ImageEditorTool.Paint,iconClass:"ms-Icon ms-Icon--Edit",title:lf("Paint Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Erase,iconClass:"ms-Icon ms-Icon--EraseTool",title:lf("Erase Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Rect,iconClass:"ms-Icon ms-Icon--RectangleShape",title:lf("Rectangle Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Fill,iconClass:"ms-Icon ms-Icon--BucketColor",title:lf("Fill Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Circle,iconClass:"ms-Icon ms-Icon--CircleRing",title:lf("Circle Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Line,iconClass:"ms-Icon ms-Icon--Line",title:lf("Line Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Marquee,iconClass:"ms-Icon ms-Icon--SelectAll",title:lf("Marquee Tool"),hoverCursor:r.Crosshair,hoverLayerCursor:r.Grab,downLayerCursor:r.Grabbing},{tool:i.ImageEditorTool.Pan,iconClass:"ms-Icon ms-Icon--HandsFree",title:lf("Canvas Pan Tool"),hoverCursor:r.Grab,downCursor:r.Grabbing},{tool:i.ImageEditorTool.ColorSelect,hiddenTool:!0,iconClass:"ms-Icon ms-Icon--Edit",title:lf("Color Select Tool"),hoverCursor:r.EyeDropper}],n.getEdit=function(e,t,n,r){switch(e){case i.ImageEditorTool.Paint:return new c(t.width,t.height,n,r);case i.ImageEditorTool.Rect:return new u(t.width,t.height,n,r);case i.ImageEditorTool.Fill:return new f(t.width,t.height,n,r);case i.ImageEditorTool.Line:return new d(t.width,t.height,n,r);case i.ImageEditorTool.Marquee:return new h(t.width,t.height,n,r);case i.ImageEditorTool.Circle:return new p(t.width,t.height,n,r);case i.ImageEditorTool.Erase:return new c(t.width,t.height,0,r);case i.ImageEditorTool.ColorSelect:default:return}},n.getEditState=function(e,t,n=i.TileDrawingMode.Default){const r=new s(t?pxt.sprite.Tilemap.fromData(e.bitmap).copy():pxt.sprite.Bitmap.fromData(e.bitmap).copy());let a,o,l;return e.overlayLayers&&(r.overlayLayers=e.overlayLayers.map((e=>pxt.sprite.Bitmap.fromData(e).copy()))),r.layerOffsetX=e.layerOffsetX,r.layerOffsetY=e.layerOffsetY,e.floating&&(e.floating.bitmap&&(o=t?pxt.sprite.Tilemap.fromData(e.floating.bitmap).copy():pxt.sprite.Bitmap.fromData(e.floating.bitmap).copy()),e.floating.overlayLayers&&(l=e.floating.overlayLayers.map((e=>pxt.sprite.Bitmap.fromData(e).copy()))),a={image:o,overlayLayers:l}),r.floating=a,r.setActiveLayer(n),r};class s{constructor(e){this.activeLayerIndex=-1,this.image=e,this.layerOffsetX=0,this.layerOffsetY=0}get width(){return this.image.width}get height(){return this.image.height}get activeLayer(){return this.activeLayerIndex<0?this.image:this.overlayLayers[this.activeLayerIndex]}setActiveLayer(e){switch(e){case i.TileDrawingMode.Wall:this.activeLayerIndex=0;break;default:this.activeLayerIndex=-1}}copy(){const e=new s;if(e.image=this.image.copy(),e.overlayLayers=this.overlayLayers&&this.overlayLayers.map((e=>e.copy())),this.floating){let t,n;this.floating.image&&(t=this.floating.image.copy()),this.floating.overlayLayers&&(n=this.floating.overlayLayers.map((e=>e.copy()))),e.floating={image:t,overlayLayers:n}}return e.layerOffsetX=this.layerOffsetX,e.layerOffsetY=this.layerOffsetY,e}equals(e){return!(!this.image.equals(e.image)||this.floating&&!e.floating||!this.floating&&e.floating)&&(!this.floating||!this.floating.image||this.floating.image.equals(e.floating.image)&&this.layerOffsetX===e.layerOffsetX&&this.layerOffsetY===e.layerOffsetY)}mergeFloatingLayer(){this.floating&&(this.floating.image||this.floating.overlayLayers)&&(this.floating.image&&(this.floating.image.x0=this.layerOffsetX,this.floating.image.y0=this.layerOffsetY,this.image.apply(this.floating.image,!0),this.floating.image=void 0),this.floating.overlayLayers&&(this.floating.overlayLayers.forEach(((e,t)=>{e.x0=this.layerOffsetX,e.y0=this.layerOffsetY,this.overlayLayers[t].apply(e,!0)})),this.floating.overlayLayers=void 0))}copyToLayer(e,t,n,i,r=!1){if(0===n||0===i)return;n<0&&(e+=n,n=-n),i<0&&(t+=i,i=-i);let a,s=this.image.copy(e,t,n,i);if(this.layerOffsetX=s.x0,this.layerOffsetY=s.y0,s.x0=void 0,s.y0=void 0,this.overlayLayers&&(a=this.overlayLayers.map((r=>r.copy(e,t,n,i)))),r)for(let r=0;r<n;r++)for(let n=0;n<i;n++)this.image.set(e+r,t+n,0),this.overlayLayers&&this.overlayLayers.forEach((i=>i.set(e+r,t+n,0)));this.floating={image:s,overlayLayers:a}}inFloatingLayer(e,t){return!(!this.floating||!this.floating.image)&&(e-=this.layerOffsetX,t-=this.layerOffsetY,e>=0&&e<this.floating.image.width&&t>=0&&t<this.floating.image.height)}setFloatingLayer(e,t,n){var i,r;n&&this.mergeFloatingLayer(),this.floating={image:e},this.layerOffsetX=null!==(i=null==t?void 0:t.layerOffsetX)&&void 0!==i?i:0,this.layerOffsetY=null!==(r=null==t?void 0:t.layerOffsetY)&&void 0!==r?r:0}toImageState(){return{bitmap:this.image.data(),layerOffsetX:this.layerOffsetX,layerOffsetY:this.layerOffsetY,floating:this.floating&&{bitmap:this.floating.image?this.floating.image.data():void 0,overlayLayers:this.floating.overlayLayers?this.floating.overlayLayers.map((e=>e.data())):void 0},overlayLayers:this.overlayLayers?this.overlayLayers.map((e=>e.data())):void 0}}}n.EditState=s;class o{constructor(e,t,n,i){this.canvasWidth=e,this.canvasHeight=t,this.color=n,this.toolWidth=i}doEdit(e){this.isStarted&&this.doEditCore(e)}inBounds(e,t){return e>=0&&e<this.canvasWidth&&t>=0&&t<this.canvasHeight}start(e,t,n,i,r){this.isStarted=!0,this.startCol=e,this.startRow=t,this.startX=n,this.startY=i}drawCursor(e,t,n){n(e,t)}}n.Edit=o;class l extends o{update(e,t){this.endCol=e,this.endRow=t,this.isDragged||e==this.startCol&&t==this.startRow||(this.isDragged=!0)}topLeft(){return{x:Math.min(this.startCol,this.endCol),y:Math.min(this.startRow,this.endRow)}}bottomRight(){return{x:Math.max(this.startCol,this.endCol),y:Math.max(this.startRow,this.endRow)}}}n.SelectionEdit=l;class c extends o{constructor(e,t,n,i){super(e,t,n,i),this.showPreview=!0,this.mask=new pxt.sprite.Bitmask(e,t)}update(e,t){this.interpolate(this.startCol,this.startRow,e,t),this.startCol=e,this.startRow=t}interpolate(e,t,n,i){const r=n-e,a=i-t,s=(e,t)=>this.mask.set(e,t);if(0===r){const n=a>=0?i:t;for(let r=a>=0?t:i;r<=n;r++)this.drawCore(e,r,s);return}const o=r>0?1:-1,l=a>0?1:-1,c=Math.abs(a/r);let u=0,d=t;for(let t=e;o>0?t<=n:t>=n;t+=o)for(this.drawCore(t,d,s),u+=c;u>=.5;)(l>0?d<=i:d>=i)&&this.drawCore(t,d,s),d+=l,u-=1}doEditCore(e){e.mergeFloatingLayer();for(let t=0;t<e.width;t++)for(let n=0;n<e.height;n++)this.mask.get(t,n)&&e.activeLayer.set(t,n,this.color)}drawCursor(e,t,n){this.drawCore(e,t,n)}drawCore(e,t,n){e-=Math.floor(this.toolWidth/2),t-=Math.floor(this.toolWidth/2);for(let i=0;i<this.toolWidth;i++)for(let r=0;r<this.toolWidth;r++){const a=e+i,s=t+r;a>=0&&a<this.canvasWidth&&s>=0&&s<this.canvasHeight&&n(e+i,t+r)}}}n.PaintEdit=c;n.RectangleEdit=class extends l{constructor(){super(...arguments),this.showPreview=!0}doEditCore(e){e.mergeFloatingLayer();const t=this.topLeft(),n=this.bottomRight();for(let i=t.x;i<=n.x;i++)for(let r=t.y;r<=n.y;r++)e.activeLayer.set(i,r,this.color)}};class u extends l{constructor(){super(...arguments),this.showPreview=!0}doEditCore(e){e.mergeFloatingLayer();let t=this.topLeft();t.x-=this.toolWidth>>1,t.y-=this.toolWidth>>1;let n=this.bottomRight();n.x+=this.toolWidth>>1,n.y+=this.toolWidth>>1;for(let i=0;i<this.toolWidth;i++)this.drawRectangle(e,{x:t.x+i,y:t.y+i},{x:n.x-i,y:n.y-i})}drawRectangle(e,t,n){if(!(t.x>n.x||t.y>n.y)){for(let i=t.x;i<=n.x;i++)e.activeLayer.set(i,t.y,this.color),e.activeLayer.set(i,n.y,this.color);for(let i=t.y;i<=n.y;i++)e.activeLayer.set(t.x,i,this.color),e.activeLayer.set(n.x,i,this.color)}}drawCursor(e,t,n){this.drawCore(e,t,n)}drawCore(e,t,n){e-=Math.floor(this.toolWidth/2),t-=Math.floor(this.toolWidth/2);for(let i=0;i<this.toolWidth;i++)for(let r=0;r<this.toolWidth;r++){const a=e+i,s=t+r;a>=0&&a<this.canvasWidth&&s>=0&&s<this.canvasHeight&&n(e+i,t+r)}}}n.OutlineEdit=u;class d extends l{constructor(){super(...arguments),this.showPreview=!0}doEditCore(e){e.mergeFloatingLayer(),this.bresenham(this.startCol,this.startRow,this.endCol,this.endRow,e)}bresenham(e,t,n,i,r){const a=n-e,s=i-t,o=(e,t)=>r.activeLayer.set(e,t,this.color);if(0===a){const n=s>=0?i:t;for(let r=s>=0?t:i;r<=n;r++)this.drawCore(e,r,o);return}const l=a>0?1:-1,c=s>0?1:-1,u=Math.abs(s/a);let d=0,p=t;for(let t=e;l>0?t<=n:t>=n;t+=l)for(this.drawCore(t,p,o),d+=u;d>=.5;)(c>0?p<=i:p>=i)&&this.drawCore(t,p,o),p+=c,d-=1}drawCursor(e,t,n){this.drawCore(e,t,n)}drawCore(e,t,n){e-=Math.floor(this.toolWidth/2),t-=Math.floor(this.toolWidth/2);for(let i=0;i<this.toolWidth;i++)for(let r=0;r<this.toolWidth;r++)n(e+i,t+r)}}n.LineEdit=d;class p extends l{constructor(){super(...arguments),this.showPreview=!0}doEditCore(e){e.mergeFloatingLayer();const t=this.topLeft(),n=this.bottomRight(),i=n.x-t.x,r=n.y-t.y,a=Math.floor(Math.hypot(i,r)),s=this.startCol,o=this.startRow;this.midpoint(s,o,a,e)}midpoint(e,t,n,i){let r=n-1,a=0,s=1,o=1,l=s-2*n;for(;r>=a;)i.activeLayer.set(e+r,t+a,this.color),i.activeLayer.set(e+r,t-a,this.color),i.activeLayer.set(e+a,t+r,this.color),i.activeLayer.set(e+a,t-r,this.color),i.activeLayer.set(e-a,t+r,this.color),i.activeLayer.set(e-a,t-r,this.color),i.activeLayer.set(e-r,t+a,this.color),i.activeLayer.set(e-r,t-a,this.color),l<=0&&(a++,l+=o,o+=2),l>0&&(r--,l+=(s+=2)-2*n)}}n.CircleEdit=p;class f extends o{constructor(){super(...arguments),this.showPreview=!0}start(e,t,n,i,r){this.isStarted=!0,this.col=e,this.row=t}update(e,t){this.col=e,this.row=t}doEditCore(e){const t=e.activeLayer!==e.image,n=(n,i)=>(t?e.activeLayer.get(n,i)+1<<8:0)+e.image.get(n,i),i=n(this.col,this.row);if(i===this.color)return;e.mergeFloatingLayer();const r=new pxt.sprite.Bitmask(e.width,e.height);r.set(this.col,this.row);const a=[{x:this.col,y:this.row}];for(;a.length;){const t=a.pop();n(t.x,t.y)===i&&(e.activeLayer.set(t.x,t.y,this.color),s(t.x+1,t.y),s(t.x-1,t.y),s(t.x,t.y+1),s(t.x,t.y-1))}function s(e,t){e>=0&&e<r.width&&t>=0&&t<r.height&&!r.get(e,t)&&(r.set(e,t),a.push({x:e,y:t}))}}}n.FillEdit=f;class h extends l{constructor(){super(...arguments),this.isMove=!1,this.isResize=!1,this.showPreview=!1}start(e,t,n,i,r){this.isStarted=!0,this.startCol=e,this.startRow=t;const a=document.elementFromPoint(n,i);if(r.floating&&r.floating.image)if(a&&"image-editor-floating-layer-corner"==a.className){this.isResize=!0,this.startOffsetX=r.layerOffsetX,this.startOffsetY=r.layerOffsetY;let e,t=0;const a=document.getElementsByClassName("image-editor-floating-layer-corner");for(let r=0;r<a.length;r++){let s=Math.sqrt(Math.pow(a[r].getBoundingClientRect().x-n,2)+Math.pow(a[r].getBoundingClientRect().y-i,2));s>t&&(t=s,e=a[r])}const s=document.getElementsByClassName("paint-surface");let o;for(let e=0;e<s.length;e++)s[e].className.includes("main")&&(o=s[e]);const l=o.getBoundingClientRect().left,c=o.getBoundingClientRect().top,u=o.getBoundingClientRect().width,d=o.getBoundingClientRect().height;this.anchorCol=(e.getBoundingClientRect().x-l)/u*this.canvasWidth,this.anchorRow=(e.getBoundingClientRect().y-c)/d*this.canvasHeight,this.originalImage||(this.originalImage=r.floating.image.copy())}else r.inFloatingLayer(e,t)&&(this.isMove=!0,this.startOffsetX=r.layerOffsetX,this.startOffsetY=r.layerOffsetY)}inBounds(e,t){return this.isMove||super.inBounds(e,t)}doEditCore(e){const t=this.topLeft(),n=this.bottomRight();if(this.isDragged)if(this.isMove)e.layerOffsetX=this.startOffsetX+this.endCol-this.startCol,e.layerOffsetY=this.startOffsetY+this.endRow-this.startRow;else if(this.isResize){const t=Math.round(Math.abs(this.anchorCol-this.endCol)),n=Math.round(Math.abs(this.anchorRow-this.endRow)),i=function(e,t,n){const i=new pxt.sprite.Bitmap(t,n,0,0);for(let r=0;r<t;r++)for(let a=0;a<n;a++){const s=Math.floor(r/t*e.width),o=Math.floor(a/n*e.height),l=e.get(s,o);i.set(r,a,l)}return i}(this.originalImage,t,n);e.setFloatingLayer(i,{layerOffsetX:Math.round(Math.min(this.anchorCol,this.endCol)),layerOffsetY:Math.round(Math.min(this.anchorRow,this.endRow))},!1)}else e.mergeFloatingLayer(),e.copyToLayer(t.x,t.y,n.x-t.x+1,n.y-t.y+1,!0);else this.isMove||e.mergeFloatingLayer()}}n.MarqueeEdit=h,n.rotateEdit=function(e,t,n,i){var r;const a=!!(null===(r=e.floating)||void 0===r?void 0:r.image),o=a?e.floating:e,l=n?new pxt.sprite.Tilemap(o.image.height,o.image.width):new pxt.sprite.Bitmap(o.image.height,o.image.width),c=o.overlayLayers?o.overlayLayers.map((e=>new pxt.sprite.Bitmap(e.height,e.width))):void 0;for(let e=0;e<o.image.width;e++)for(let t=0;t<o.image.height;t++)d(o.image,l,e,t),c&&c.forEach(((n,i)=>d(o.overlayLayers[i],n,e,t)));const u=l.width===l.height&&l.width===e.image.width&&e.image.width===e.image.height;if(!i&&!a||u){const e=new s(l);return e.overlayLayers=c,e}if(!a)for(let t=0;t<e.width;t++)for(let n=0;n<e.height;n++)e.image.set(t,n,0),e.overlayLayers&&e.overlayLayers.forEach((e=>null==e?void 0:e.set(t,n,0)));return(l.width===e.image.height&&l.height===e.image.width||l.width===e.image.width&&l.height===e.image.height)&&(e.layerOffsetX=(e.width>>1)-(l.width>>1),e.layerOffsetY=(e.height>>1)-(l.height>>1)),e.floating={image:l,overlayLayers:c},e;function d(e,n,i,r){t?n.set(r,i,e.get(i,e.height-r-1)):n.set(r,i,e.get(e.width-i-1,r))}},n.flipEdit=function(e,t,n){var i,r;const a=(null===(i=e.floating)||void 0===i?void 0:i.image)?e.floating:e,o=n?new pxt.sprite.Tilemap(a.image.width,a.image.height):new pxt.sprite.Bitmap(a.image.width,a.image.height),l=a.overlayLayers?a.overlayLayers.map((e=>new pxt.sprite.Bitmap(e.width,e.height))):void 0;for(let e=0;e<a.image.width;e++)for(let t=0;t<a.image.height;t++)c(a.image,o,e,t),l&&l.forEach(((n,i)=>c(a.overlayLayers[i],n,e,t)));if(null===(r=e.floating)||void 0===r?void 0:r.image)return e.floating={image:o,overlayLayers:l},e;{const e=new s(o);return e.overlayLayers=l,e}function c(e,n,i,r){t?n.set(i,r,e.get(i,e.height-r-1)):n.set(i,r,e.get(e.width-i-1,r))}},n.outlineEdit=function(e,t){var n,i;const r=(null===(n=e.floating)||void 0===n?void 0:n.image)?e.floating:e,a=e.copy(),s=(null===(i=null==e?void 0:e.floating)||void 0===i?void 0:i.image)?a.floating.image:a.image;for(let e=0;e<r.image.width;e++)for(let n=0;n<r.image.height;n++)0===r.image.get(e,n)&&(0===r.image.get(e-1,n)&&0===r.image.get(e,n-1)&&0===r.image.get(e+1,n)&&0===r.image.get(e,n+1)||s.set(e,n,t));return a},n.replaceColorEdit=function(e,t,n){var i,r;const a=(null===(i=e.floating)||void 0===i?void 0:i.image)?e.floating:e,s=e.copy(),o=(null===(r=null==e?void 0:e.floating)||void 0===r?void 0:r.image)?s.floating.image:s.image;for(let e=0;e<a.image.width;e++)for(let i=0;i<a.image.height;i++)a.image.get(e,i)===t&&o.set(e,i,n);return s}},{"./store/imageReducer":30}],35:[function(e,t,n){"use strict";function i(){return"undefined"!=typeof window&&!!window.PointerEvent}function r(){return"undefined"!=typeof window&&("ontouchstart"in window||navigator&&navigator.maxTouchPoints>0)}var a;Object.defineProperty(n,"__esModule",{value:!0}),n.createTilemapPatchFromFloatingLayer=n.applyBitmapData=n.imageStateToTilemap=n.imageStateToBitmap=n.bindGestureEvents=n.GestureState=n.fireClickOnlyOnEnter=n.clientCoord=n.pointerEvents=n.Bitmask=n.MapTools=n.isBitmapSupported=n.isTouchEnabled=n.hasPointerEvents=n.DRAG_RADIUS=void 0,n.DRAG_RADIUS=3,n.hasPointerEvents=i,n.isTouchEnabled=r,n.isBitmapSupported=function(){return!!window.createImageBitmap},(a=n.MapTools||(n.MapTools={}))[a.Pan=0]="Pan",a[a.Stamp=1]="Stamp",a[a.Object=2]="Object",a[a.Erase=3]="Erase";function s(e){if(e.touches){const t=e;return t.touches.length?t.touches[0]:t.changedTouches[0]}return e}n.Bitmask=class{constructor(e,t){this.width=e,this.height=t,this.mask=new Uint8Array(Math.ceil(e*t/8))}set(e,t){const n=e+this.width*t,i=n>>3,r=7&n;this.mask[i]|=1<<r}get(e,t){const n=e+this.width*t,i=n>>3,r=7&n;return this.mask[i]>>r&1}},n.pointerEvents=i()?{up:"pointerup",down:["pointerdown"],move:"pointermove",enter:"pointerenter",leave:"pointerleave"}:r()?{up:"mouseup",down:["mousedown","touchstart"],move:"touchmove",enter:"touchenter",leave:"touchend"}:{up:"mouseup",down:["mousedown"],move:"mousemove",enter:"mouseenter",leave:"mouseleave"},n.clientCoord=s,n.fireClickOnlyOnEnter=function(e){13===("number"==typeof e.which?e.which:e.keyCode)&&(e.preventDefault(),e.currentTarget.click())};class o{constructor(e,t,n){this.target=e,this.isRightClick=n,this.startX=t.clientX,this.startY=t.clientY,this.currentX=t.clientX,this.currentY=t.clientY}update(e){this.currentX=e.clientX,this.currentY=e.clientY,!this.isDrag&&this.distance()>n.DRAG_RADIUS?(this.isDrag=!0,this.target.onDragStart(e,this.isRightClick)):this.isDrag&&this.target.onDragMove(e)}end(e){e&&this.update(e),e=e||{clientX:this.currentX,clientY:this.currentY},this.isDrag?this.target.onDragEnd(e):this.target.onClick(e,this.isRightClick)}distance(){return Math.sqrt(Math.pow(this.currentX-this.startX,2)+Math.pow(this.currentY-this.startY,2))}}function l(e,t){for(let n=0;n<e.changedTouches.length;n++)if(e.changedTouches[n].identifier===t)return e.changedTouches[n]}function c(e){return e.button>0}n.GestureState=o,n.bindGestureEvents=function(e,t){i()?function(e,t){let n;e.addEventListener("pointerup",(e=>{n&&(n.end(s(e)),e.preventDefault()),n=void 0})),e.addEventListener("pointerdown",(e=>{n&&n.end(),n=new o(t,s(e),c(e)),e.preventDefault()})),e.addEventListener("pointermove",(e=>{n&&(n.update(s(e)),e.preventDefault())})),e.addEventListener("pointerleave",(e=>{n&&(n.end(s(e)),e.preventDefault()),n=void 0}))}(e,t):r()?function(e,t){let n,i;e.addEventListener("touchend",(e=>{if(n&&i){const t=l(e,i);t&&(n.end(t),n=void 0,e.preventDefault())}})),e.addEventListener("touchstart",(e=>{n&&n.end(),i=e.changedTouches[0].identifier,n=new o(t,e.changedTouches[0],c(e))})),e.addEventListener("touchmove",(e=>{if(n&&i){const t=l(e,i);t&&(n.update(t),e.preventDefault())}})),e.addEventListener("touchcancel",(e=>{if(n&&i){const t=l(e,i);t&&(n.end(t),n=void 0,e.preventDefault())}}))}(e,t):function(e,t){let n;e.addEventListener("mouseup",(e=>{n&&n.end(s(e)),n=void 0})),e.addEventListener("mousedown",(e=>{n&&n.end(),n=new o(t,s(e),c(e))})),e.addEventListener("mousemove",(e=>{n&&n.update(s(e))})),e.addEventListener("mouseleave",(e=>{n&&n.end(s(e)),n=void 0}))}(e,t)},n.imageStateToBitmap=function(e){const t=pxt.sprite.Bitmap.fromData(e.bitmap);if(e.floating&&e.floating.bitmap){const n=pxt.sprite.Bitmap.fromData(e.floating.bitmap);n.x0=e.layerOffsetX||0,n.y0=e.layerOffsetY||0,t.apply(n,!0)}return t},n.imageStateToTilemap=function(e){const t=pxt.sprite.Tilemap.fromData(e.bitmap);if(e.floating&&e.floating.bitmap){const n=pxt.sprite.Tilemap.fromData(e.floating.bitmap);n.x0=e.layerOffsetX||0,n.y0=e.layerOffsetY||0,t.apply(n,!0)}return t},n.applyBitmapData=function(e,t,n=0,i=0){if(!e||!t)return e;const r=pxt.sprite.Bitmap.fromData(e),a=pxt.sprite.Bitmap.fromData(t);return a.x0=n,a.y0=i,r.apply(a,!0),r.data()},n.createTilemapPatchFromFloatingLayer=function(e,t){if(!e.floating)return;const n=pxt.sprite.Tilemap.fromData(e.floating.image.data()),i=new pxt.sprite.Tilemap(n.width,n.height),r=e.floating.overlayLayers?e.floating.overlayLayers.map((e=>pxt.sprite.base64EncodeBitmap(e.data()))):[];let a=[];for(let e=0;e<n.width;e++)for(let r=0;r<n.height;r++){const s=t.tiles[n.get(e,r)],o=a.indexOf(s);-1===o?(i.set(e,r,a.length),a.push(s)):i.set(e,r,o)}return{map:pxt.sprite.hexEncodeTilemap(i),layers:r,tiles:a.map((e=>pxt.sprite.base64EncodeBitmap(e.bitmap)))}}},{}],36:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ImageFieldEditor=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./assetEditor/assetCard"),s=e("../assets"),o=e("./ImageEditor/ImageEditor"),l=e("./ImageEditor/keyboardShortcuts"),c=e("./ImageEditor/store/imageReducer"),u=e("./FilterPanel"),d=e("../util"),p=e("../../../react-common/components/controls/EditorToggle"),f=e("./MusicFieldEditor"),h=e("../../../react-common/components/util");class m extends r.Component{constructor(e){super(e),this.tagClickHandler=e=>{let t=this.state.gallerySelectedTags;const n=e.toLowerCase(),i=t.indexOf(n);i<0?t.push(n):t.splice(i,1),this.setState({gallerySelectedTags:t})},this.clearFilterTags=()=>{this.setState({gallerySelectedTags:[]})},this.toggleFilter=()=>{this.setState({filterOpen:!this.state.filterOpen})},this.showEditor=()=>{this.setImageEditorShortcutsEnabled(!0),v("gallery-editor"),this.setState({currentView:"editor",tileGalleryVisible:!1})},this.showGallery=()=>{this.setImageEditorShortcutsEnabled(!1),v("gallery-builtin"),this.setState({currentView:"gallery",tileGalleryVisible:!1})},this.showMyAssets=()=>{this.setImageEditorShortcutsEnabled(!1),v("gallery-my-assets"),this.userAssets=(0,s.getAssets)(void 0,void 0,this.options.temporaryAssets),this.setState({currentView:"my-assets",tileGalleryVisible:!1})},this.toggleTileGallery=()=>{this.state.tileGalleryVisible?this.setState({tileGalleryVisible:!1}):this.setState({tileGalleryVisible:!0,currentView:"editor"})},this.onAssetSelected=e=>{var t,n;if(this.ref&&e.id!==(null===(t=this.asset)||void 0===t?void 0:t.id))if(this.state.editingTile)this.ref.openInTileEditor(pxt.sprite.Bitmap.fromData(e.bitmap));else if("gallery"===this.state.currentView)this.ref.openGalleryAsset(e);else{const t=pxt.react.getTilemapProject();"tilemap"===(null===(n=this.asset)||void 0===n?void 0:n.type)&&pxt.sprite.updateTilemapReferencesFromResult(t,this.asset),this.asset.meta.displayName?t.updateAsset(this.asset):e.meta.displayName||(e=Object.assign(Object.assign({},pxt.cloneAsset(e)),{id:this.asset.id,meta:this.asset.meta})),"tilemap"===e.type&&pxt.sprite.addMissingTilemapTilesAndReferences(t,e),this.ref.openAsset(e,void 0,!0)}v("gallery-selection"),this.setState({currentView:"editor",tileGalleryVisible:!1}),this.setImageEditorShortcutsEnabled(!0)},this.onTileEditorOpenClose=e=>{this.setState({editingTile:e})},this.onDoneClick=()=>{this.closeEditor&&this.closeEditor(),this.props.doneButtonCallback&&this.props.doneButtonCallback()},this.state={currentView:"editor",headerVisible:!0,filterOpen:!1,gallerySelectedTags:[],galleryFilter:""},(0,c.setTelemetryFunction)(v)}get asset(){var e;return null===(e=this.ref)||void 0===e?void 0:e.getAsset()}render(){var e,t;const{currentView:n,headerVisible:r,editingTile:a,hideMyAssets:s,filterOpen:l}=this.state,c="gallery"===this.state.currentView&&l;let m=r;const v=!this.props.isMusicEditor&&(!this.asset||a||"tilemap"!==this.asset.type),y=!s&&!a;this.asset&&!this.galleryAssets&&v&&this.updateGalleryAssets();const b=["tile","dialog","background"];let E=[],k=[];switch(n){case"my-assets":k=this.filterAssetsByType(this.userAssets,a?"tile":null===(e=this.asset)||void 0===e?void 0:e.type),E=this.getAvailableTags(k,b);break;case"gallery":k=this.filterAssetsByType(this.galleryAssets,a?"tile":null===(t=this.asset)||void 0===t?void 0:t.type,!0,!0),E=this.getAvailableTags(k,b),k=this.filterAssetsByTag(k)}const T=[{label:lf("Editor"),title:lf("Editor"),focusable:!0,icon:"fas fa-paint-brush",onClick:this.showEditor,view:"editor"},{label:lf("Gallery"),title:lf("Gallery"),focusable:!0,icon:"fas fa-image",onClick:this.showGallery,view:"gallery"},{label:lf("My Assets"),title:lf("My Assets"),focusable:!0,icon:"fas fa-folder",onClick:this.showMyAssets,view:"my-assets"}];return v||y?v?y||T.splice(2,1):T.splice(1,1):m=!1,(0,i.jsxs)("div",Object.assign({className:(0,h.classList)("image-editor-wrapper",this.props.isMusicEditor&&"music-asset-editor")},{children:[m&&(0,i.jsxs)("div",Object.assign({className:"gallery-editor-header"},{children:[(0,i.jsx)("div",{className:"image-editor-header-left"}),(0,i.jsx)("div",Object.assign({className:"image-editor-header-center"},{children:(0,i.jsx)(p.EditorToggle,{id:"image-editor-toggle",className:"slim tablet-compact",items:T,selected:T.findIndex((e=>e.view===n))})})),(0,i.jsxs)("div",Object.assign({className:"image-editor-header-right"},{children:[(0,i.jsxs)("div",Object.assign({className:"gallery-filter-button "+("gallery"===this.state.currentView?"":"hidden"),role:"button",onClick:this.toggleFilter,onKeyDown:d.fireClickOnEnter},{children:[(0,i.jsx)("div",Object.assign({className:"gallery-filter-button-icon"},{children:(0,i.jsx)("i",{className:"icon filter"})})),(0,i.jsx)("div",Object.assign({className:"gallery-filter-button-label"},{children:lf("Filter")}))]})),!a&&(0,i.jsx)("div",Object.assign({className:"image-editor-close-button",role:"button",onClick:this.onDoneClick},{children:(0,i.jsx)("i",{className:"ui icon close"})}))]}))]})),(0,i.jsxs)("div",Object.assign({className:"image-editor-gallery-window"},{children:[(0,i.jsxs)("div",Object.assign({className:"image-editor-gallery-content"},{children:[this.props.isMusicEditor?(0,i.jsx)(f.MusicFieldEditor,{ref:"image-editor",onDoneClicked:this.onDoneClick}):(0,i.jsx)(o.ImageEditor,{ref:"image-editor",singleFrame:this.props.singleFrame,onDoneClicked:this.onDoneClick,onTileEditorOpenClose:this.onTileEditorOpenClose,lightMode:this.lightMode}),(0,i.jsx)(g,{items:k,hidden:"editor"===n,onAssetSelected:this.onAssetSelected})]})),(0,i.jsx)("div",Object.assign({className:"filter-panel-gutter "+(c?"":"hidden")},{children:(0,i.jsx)("div",Object.assign({className:"filter-panel-container"},{children:(0,i.jsx)(u.FilterPanel,{enabledTags:this.state.gallerySelectedTags,tagClickHandler:this.tagClickHandler,clearTags:this.clearFilterTags,tagOptions:E})}))}))]}))]}))}componentDidMount(){this.ref=this.refs["image-editor"],v("image-editor-shown")}componentWillUnmount(){v("image-editor-hidden"),this.galleryAssets=void 0,this.userAssets=void 0}init(e,t,n){switch(this.closeEditor=t,this.options=n,this.lightMode=n.lightMode,e.type){case"image":this.initSingleFrame(e,n);break;case"tile":n.disableResize=!0,this.initSingleFrame(e,n);break;case"animation":this.initAnimation(e,n);break;case"tilemap":this.initTilemap(e,n);break;case"song":this.ref.openAsset(e)}this.editID=e.id;let i=!1;n&&(this.blocksInfo=n.blocksInfo,n.filter&&(this.setState({galleryFilter:n.filter}),i=!0),null!=n.headerVisible&&(this.setState({headerVisible:n.headerVisible}),i=!0),null!=n.hideMyAssets&&(this.setState({hideMyAssets:n.hideMyAssets}),i=!0)),i||this.forceUpdate()}getValue(){return this.ref?this.ref.getAsset():null}getJres(){return this.ref?this.ref.getJres():""}getPersistentData(){return this.ref?this.ref.getPersistentData():null}restorePersistentData(e){this.ref&&(this.ref.restorePersistentData(e),this.options&&this.options.disableResize&&this.ref.disableResize())}onResize(){this.ref&&this.ref.onResize()}updateGalleryAssets(){this.galleryAssets=(0,s.getAssets)(!0,this.asset.type)}getAvailableTags(e,t){let n=[];return this.galleryAssets?(e.forEach((e=>{var i;null===(i=e.meta.tags)||void 0===i||i.forEach((e=>{const i=function(e){let t=0===e.indexOf("?")&&e.length>1?e.substring(1):e;return t.toLowerCase()}(e);t.indexOf(i)<0&&n.indexOf(i)<0&&n.push(i)}))})),n):[]}filterAssetsByTag(e){return this.state.gallerySelectedTags.length>0&&this.state.filterOpen&&(e=e.filter((e=>{var t;return!!(null===(t=e.meta.tags)||void 0===t?void 0:t.find((e=>this.state.gallerySelectedTags.indexOf(e)>=0)))}))),e}filterAssetsByType(e,t,n=!1,i){var r;if(void 0===t&&(t=null===(r=this.asset)||void 0===r?void 0:r.type),void 0===t)return e;if(this.asset&&!n&&(e=e.map((e=>e.type!==this.asset.type||e.id!==this.asset.id?e:(0,s.assetToGalleryItem)(this.getValue()))),this.state.editingTile)){const t=this.ref.getAsset();e=e.map((e=>{var n;return(null===(n=t.data.editedTiles)||void 0===n?void 0:n.indexOf(e.id))>=0?(0,s.assetToGalleryItem)(t.data.tileset.tiles.find((t=>t.id===e.id))):e}))}if(i){e.forEach((e=>{var t,n;!e.meta.tags&&this.options&&(e.meta.tags=(null===(n=null===(t=this.blocksInfo.apis.byQName[e.id])||void 0===t?void 0:t.attributes.tags)||void 0===n?void 0:n.split(" "))||[])}));const t=this.state.galleryFilter.split(" ").filter((e=>!!e)).map((e=>e.toLowerCase())),n=t.filter((e=>0!==e.indexOf("!"))),i=t.filter((e=>0===e.indexOf("!")&&e.length>1)).map((e=>e.substring(1)));e=e.filter((e=>function(e,t){const n=e.meta.tags?e.meta.tags:[];return t.every((e=>{const t=`?${e}`;return n.some((n=>n===e||n===t))}))}(e,n)&&function(e,t){const n=e.meta.tags?e.meta.tags:[];return t.every((e=>!n.some((t=>t===e))))}(e,i)))}if(n)switch(t){case"animation":return e.filter((e=>"animation"===e.type||"tile"===e.type||"image"===e.type));case"image":return e.filter((e=>"tile"===e.type||"image"===e.type));case"tile":return e.filter((e=>"tile"===e.type));case"tilemap":return e.filter((e=>"tilemap"===e.type));case"song":return e.filter((e=>"song"===e.type))}else switch(t){case"animation":return e.filter((e=>"animation"===e.type));case"image":return e.filter((e=>"image"===e.type));case"tile":return e.filter((e=>"tile"===e.type));case"tilemap":return e.filter((e=>"tilemap"===e.type));case"song":return e.filter((e=>"song"===e.type))}}initSingleFrame(e,t){this.ref.openAsset(e),t.disableResize&&this.ref.disableResize()}initAnimation(e,t){this.ref.openAsset(e),t.disableResize&&this.ref.disableResize()}initTilemap(e,t){let n;(null==t?void 0:t.blocksInfo)&&(this.blocksInfo=t.blocksInfo,n=pxt.sprite.filterItems(pxt.sprite.getGalleryItems(this.blocksInfo,"Image"),["tile"]).map((e=>({bitmap:pxt.sprite.getBitmap(this.blocksInfo,e.qName).data(),tags:e.tags,qualifiedName:e.qName,tileWidth:16})))),(null==t?void 0:t.galleryTiles)&&(n=t.galleryTiles.map((e=>({bitmap:e.bitmap,tags:e.tags,qualifiedName:e.qName,tileWidth:16})))),this.ref.openAsset(e,n)}loadJres(e){this.ref&&this.ref.loadJres(e)}setImageEditorShortcutsEnabled(e){e&&this.shortcutLock?((0,l.releaseShortcutLock)(this.shortcutLock),this.shortcutLock=void 0):e||this.shortcutLock||(this.shortcutLock=(0,l.obtainShortcutLock)())}}n.ImageFieldEditor=m;class g extends r.Component{constructor(){super(...arguments),this.clickHandler=e=>{this.props.onAssetSelected(e)}}render(){let{items:e,hidden:t}=this.props;return(0,i.jsx)("div",Object.assign({className:"image-editor-gallery "+(e&&!t?"visible":"")},{children:!t&&e&&e.map(((e,t)=>(0,i.jsx)(a.AssetCardView,{asset:e,selected:!1,onClick:this.clickHandler},t)))}))}}r.Component;function v(e){pxt.tickEvent("image.editor",{action:e})}},{"../../../react-common/components/controls/EditorToggle":4,"../../../react-common/components/util":9,"../assets":11,"../util":59,"./FilterPanel":12,"./ImageEditor/ImageEditor":19,"./ImageEditor/keyboardShortcuts":28,"./ImageEditor/store/imageReducer":30,"./MusicFieldEditor":37,"./assetEditor/assetCard":40,react:107,"react/jsx-runtime":108}],37:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.MusicFieldEditor=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./musicEditor/MusicEditor");class s extends r.Component{constructor(e){super(e),this.onSongChanged=e=>{this.mostRecentValue=e},this.onAssetNameChanged=e=>{this.setState({editingSong:Object.assign(Object.assign({},this.state.editingSong),{meta:Object.assign(Object.assign({},this.state.editingSong.meta),{displayName:e})})})},this.state={editRef:0}}render(){const{onDoneClicked:e}=this.props,{editingSong:t}=this.state;return(0,i.jsx)("div",Object.assign({className:"music-field-editor"},{children:t&&(0,i.jsx)(a.MusicEditor,{asset:t,onSongChanged:this.onSongChanged,onAssetNameChanged:this.onAssetNameChanged,editRef:this.state.editRef,onDoneClicked:e})}))}getAsset(){if(this.state.editingSong)return Object.assign(Object.assign({},this.state.editingSong),{song:this.mostRecentValue||this.state.editingSong.song})}openAsset(e){pxt.assets.music.inflateSong(e.song),this.setState({editingSong:e,editRef:this.state.editRef+1})}openGalleryAsset(e){}getJres(){return""}loadJres(e){}disableResize(){}onResize(){}getPersistentData(){}restorePersistentData(e){}}n.MusicFieldEditor=s},{"./musicEditor/MusicEditor":45,react:107,"react/jsx-runtime":108}],38:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.dispatchUpdateGalleryAssets=n.dispatchUpdateUserAssets=n.dispatchChangeGalleryView=n.dispatchChangeSelectedAsset=void 0;const i=e("./types");n.dispatchChangeSelectedAsset=(e,t)=>({type:i.CHANGE_SELECTED_ASSET,assetType:e,assetId:t});n.dispatchChangeGalleryView=(e,t,n)=>({type:i.CHANGE_GALLERY_VIEW,view:e,assetType:t,assetId:n});n.dispatchUpdateUserAssets=()=>({type:i.UPDATE_USER_ASSETS});n.dispatchUpdateGalleryAssets=()=>({type:i.UPDATE_GALLERY_ASSETS})},{"./types":39}],39:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.UPDATE_GALLERY_ASSETS=n.UPDATE_USER_ASSETS=n.CHANGE_GALLERY_VIEW=n.CHANGE_SELECTED_ASSET=void 0,n.CHANGE_SELECTED_ASSET="CHANGE_SELECTED_ASSET",n.CHANGE_GALLERY_VIEW="CHANGE_GALLERY_VIEW",n.UPDATE_USER_ASSETS="UPDATE_USER_ASSETS",n.UPDATE_GALLERY_ASSETS="UPDATE_GALLERY_ASSETS"},{}],40:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.AssetCard=n.AssetCardView=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./store/assetEditorReducerState"),o=e("./actions/dispatch"),l=e("./assetPreview");class c extends r.Component{constructor(){super(...arguments),this.clickHandler=()=>{const{type:e,id:t}=this.props.asset;this.props.dispatchChangeSelectedAsset(e,t)}}render(){const{asset:e,selected:t}=this.props;return(0,i.jsx)(u,{asset:e,selected:t,onClick:this.clickHandler})}}class u extends r.Component{constructor(){super(...arguments),this.clickHandler=()=>{this.props.onClick(this.props.asset)}}getDisplayIconForAsset(e){switch(e){case"tile":return"clone";case"animation":return"video";case"tilemap":return"map";case"image":default:return null}}render(){var e,t;const{asset:n,selected:r}=this.props,a=(0,s.isGalleryAsset)(n),o=this.getDisplayIconForAsset(n.type),c=o||!(null===(e=n.meta)||void 0===e?void 0:e.displayName);return(0,i.jsxs)("div",Object.assign({className:"asset-editor-card "+(r?"selected":""),onClick:this.clickHandler,role:"listitem"},{children:[(0,i.jsx)(l.AssetPreview,{asset:n}),c&&(0,i.jsxs)("div",Object.assign({className:"asset-editor-card-label"},{children:[o&&(0,i.jsx)("div",Object.assign({className:"asset-editor-card-icon"},{children:(0,i.jsx)("i",{className:`icon ${o}`})})),!(null===(t=n.meta)||void 0===t?void 0:t.displayName)&&!a&&(0,i.jsx)("div",Object.assign({className:"asset-editor-card-icon warning"},{children:(0,i.jsx)("i",{className:"icon exclamation triangle"})}))]}))]}))}}n.AssetCardView=u;const d={dispatchChangeSelectedAsset:o.dispatchChangeSelectedAsset};n.AssetCard=(0,a.connect)((function(e,t){return e?{selected:e.selectedAsset&&t.asset.id==e.selectedAsset.id}:{}}),d)(c)},{"./actions/dispatch":38,"./assetPreview":41,"./store/assetEditorReducerState":42,react:107,"react-redux":93,"react/jsx-runtime":108}],41:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.AssetPreview=void 0;const i=e("react/jsx-runtime"),r=e("react");class a extends r.Component{constructor(){super(...arguments),this.onMouseEnter=()=>{this.restartAnimation()},this.onMouseLeave=()=>{this.endAnimation()},this.restartAnimation=()=>{var e;this.endAnimation();const t=this.props.asset;"animation"===t.type&&(null===(e=t.framePreviewURIs)||void 0===e?void 0:e.length)>1&&(this.currentFrame=0,this.animationIntervalRef=setInterval((()=>{this.ref&&(this.ref.src=t.framePreviewURIs[this.currentFrame]),this.currentFrame=(this.currentFrame+1)%t.framePreviewURIs.length}),Math.max(t.interval,100)))},this.handleRef=e=>{e&&(this.ref=e)}}render(){var e;const{asset:t}=this.props,n="animation"===t.type&&(null===(e=t.framePreviewURIs)||void 0===e?void 0:e.length)>1,r=t.meta.displayName||(t.meta.temporaryInfo?lf("Temporary Asset"):t.id);return(0,i.jsx)("div",Object.assign({className:"asset-editor-preview",title:r},{children:(0,i.jsx)("img",{src:t.previewURI,alt:lf("A preview of your asset (eg image, tile, animation)"),onMouseEnter:n?this.onMouseEnter:void 0,onMouseLeave:n?this.onMouseLeave:void 0,ref:n?this.handleRef:void 0,loading:"lazy"})}))}componentDidUpdate(){this.animationIntervalRef&&this.restartAnimation()}componentWillUnmount(){this.endAnimation()}endAnimation(){this.animationIntervalRef&&(clearInterval(this.animationIntervalRef),this.animationIntervalRef=void 0,this.ref.src=this.props.asset.previewURI)}}n.AssetPreview=a},{react:107,"react/jsx-runtime":108}],42:[function(e,t,n){"use strict";var i;Object.defineProperty(n,"__esModule",{value:!0}),n.isGalleryAsset=n.GalleryView=void 0,(i=n.GalleryView||(n.GalleryView={}))[i.User=0]="User",i[i.Gallery=1]="Gallery",n.isGalleryAsset=function(e){return null==e?void 0:e.id.startsWith("sprites.")}},{}],43:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.EditControls=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../../../../react-common/components/controls/Button"),s=e("../../../../react-common/components/controls/Input"),o=e("../../assets");n.EditControls=e=>{const{onAssetNameChanged:t,onDoneClicked:n,assetName:l}=e,[c,u]=r.useState(),[d,p]=r.useState(),f=e=>{let n=null;const i=e.trim();if(!i)return u(void 0),void p(void 0);pxt.validateAssetName(i)?(0,o.isNameTaken)(i)&&i!==l&&(n=lf("This name is already used elsewhere in your project")):n=lf("Names may only contain letters, numbers, '-', '_', and space"),n?(u(i),p(n)):(t(i),u(void 0),p(void 0))};return(0,i.jsxs)("div",Object.assign({className:"music-editor-edit-controls"},{children:[d&&(0,i.jsx)("div",Object.assign({className:"music-editor-name-error"},{children:d})),(0,i.jsx)(s.Input,{placeholder:lf("Asset Name"),initialValue:l||c,onBlur:f,onEnterKey:f}),(0,i.jsx)(a.Button,{className:"green",title:lf("Done"),label:lf("Done"),onClick:n})]}))}},{"../../../../react-common/components/controls/Button":1,"../../../../react-common/components/controls/Input":7,"../../assets":11,react:107,"react/jsx-runtime":108}],44:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.GridHighlight=void 0;const i=e("react/jsx-runtime"),r=e("./svgConstants");n.GridHighlight=e=>{const{start:t,end:n,ticksPerBeat:a}=e,s=null!=t&&null!=n,o=Math.min(t,n),l=Math.max(t,n);return s?(0,i.jsxs)("g",{children:[(0,i.jsx)("rect",{fill:"#03adfc",x:(0,r.tickToX)(a,o),y:r.STAFF_HEADER_HEIGHT-r.STAFF_GRID_TICK_HEIGHT,width:(0,r.tickToX)(a,l)-(0,r.tickToX)(a,o),height:r.STAFF_GRID_TICK_HEIGHT}),(0,i.jsx)("rect",{fill:"#03adfc",x:(0,r.tickToX)(a,o),y:r.BASS_STAFF_TOP+r.STAFF_HEADER_HEIGHT-r.STAFF_GRID_TICK_HEIGHT,width:(0,r.tickToX)(a,l)-(0,r.tickToX)(a,o),height:r.STAFF_GRID_TICK_HEIGHT})]}):(0,i.jsx)("g",{})}},{"./svgConstants":57,"react/jsx-runtime":108}],45:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.MusicEditor=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./EditControls"),s=e("./keyboardNavigation"),o=e("./playback"),l=e("./PlaybackControls"),c=e("./ScrollableWorkspace"),u=e("./TrackSelector"),d=e("./utils");n.MusicEditor=e=>{const{asset:t,onSongChanged:n,savedUndoStack:p,onAssetNameChanged:f,editRef:h,onDoneClicked:m}=e,[g,v]=r.useState(0),[y,b]=r.useState("1/8"),[E,k]=r.useState(t.song),[T,C]=r.useState(!1),[w,S]=r.useState(!1),[x,O]=r.useState(p||[]),[_,j]=r.useState([]),[I,N]=r.useState(h),[A,P]=r.useState(),[D,L]=r.useState(),[R,M]=r.useState(!1),[F,H]=r.useState((0,d.doesSongUseBassClef)(t.song));r.useEffect((()=>()=>{(0,o.stopPlayback)()}),[]),r.useEffect((()=>{const e=e=>{A&&(e.preventDefault(),e.stopPropagation(),e.clipboardData.setData("application/makecode-song",JSON.stringify(A)))},t=e=>{if(A){e.preventDefault(),e.stopPropagation(),e.clipboardData.setData("application/makecode-song",JSON.stringify(A));const t=(0,d.applySelection)(A,w?g:void 0);z((0,d.deleteSelectedNotes)(t),!0)}},n=e=>{const t=e.clipboardData.getData("application/makecode-song");if(t){const e=JSON.parse(t);let n;n=A?{originalSong:(0,d.deleteSelectedNotes)((0,d.applySelection)(A,w?g:void 0)),pastedContent:e,startTick:A.startTick,endTick:A.startTick+(e.endTick-e.startTick),deltaTick:0,transpose:0}:{originalSong:E,pastedContent:e,startTick:0,endTick:e.endTick-e.startTick,deltaTick:0,transpose:0},z((0,d.applySelection)(n,w?g:void 0),!1),P(n)}};return document.addEventListener("copy",e),document.addEventListener("cut",t),document.addEventListener("paste",n),()=>{document.removeEventListener("copy",e),document.removeEventListener("cut",t),document.removeEventListener("paste",n)}}),[A,w,E]),I!==h&&(N(h),k(t.song));const B=r.useRef(),G=T?1:function(e,t){switch(e){case"1/4":return t;case"1/8":return t/2;case"1/16":return t/4;case"1/32":return t/8}}(y,E.ticksPerBeat),W=!!E.tracks[g].drums,z=(e,t)=>{var i;(0,o.isPlaying)()&&(0,o.updatePlaybackSongAsync)(e);let r=x.slice();t&&(r.push(pxt.assets.music.cloneSong((null==A?void 0:A.originalSong)||(null===(i=B.current)||void 0===i?void 0:i.original)||E)),O(r),j([])),k(e),n&&n(e),B.current&&(B.current.editing=e)},U=()=>{var e,t;let n;return P(void 0),"move"===(null===(e=null==B?void 0:B.current)||void 0===e?void 0:e.dragType)?n=(0,d.unselectAllNotes)(B.current.editing):(0,d.findSelectedRange)(E)&&(n=(0,d.unselectAllNotes)(E)),n&&(z(n,!0),"move"===(null===(t=null==B?void 0:B.current)||void 0===t?void 0:t.dragType)&&(B.current=void 0)),n},V=e=>{L(D?Object.assign(Object.assign({},D),{tick:e}):{tick:e,gridTicks:G,track:g,bassClef:!1,hideTracksActive:w,selection:A})};return(0,i.jsxs)("div",Object.assign({className:"music-editor"},{children:[(0,i.jsx)(u.TrackSelector,{song:E,selected:g,onTrackSelected:e=>{U(),M(!1);const t=E.tracks[e];t.drums?(0,o.playDrumAsync)(t.drums[0]):(0,o.playNoteAsync)((0,d.rowToNote)(t.instrument.octave,6,!1).note,t.instrument,(0,o.tickToMs)(E.beatsPerMinute,E.ticksPerBeat,E.ticksPerBeat/2)),v(e),D&&L(Object.assign(Object.assign({},D),{track:e})),T&&C(!1)},eraserActive:T,onEraserClick:()=>{U(),M(!1),C(!T)},hideTracksActive:w,onHideTracksClick:()=>{U(),M(!1),S(!w)},selectedResolution:y,onResolutionSelected:b}),(0,i.jsx)(c.ScrollableWorkspace,{song:E,selectedTrack:g,eraserActive:T,onWorkspaceClick:(e,t)=>{M(!1);const n=E.tracks[g],i=n.instrument,r=(0,d.findPreviousNoteEvent)(E,g,e.tick);U(),V(e.tick);const a=t=>W?t.note===e.row:(0,d.isBassClefNote)(i.octave,t)===e.isBassClef&&(0,d.noteToRow)(i.octave,t)===e.row;if((null==r?void 0:r.startTick)===e.tick&&r.notes.some(a)){const n=(0,d.unselectAllNotes)(E);if(t&&!W){const t=r.notes.find(a),s=12*i.octave-20,l=12*i.octave+20,c=(0,d.removeNoteAtRowFromTrack)(n,g,e.row,e.isBassClef,e.tick);let u;u="normal"===t.enharmonicSpelling&&t.note<l?"sharp":"sharp"===t.enharmonicSpelling&&t.note>s||t.note===l?"flat":"normal";const p=(0,d.rowToNote)(i.octave,e.row,e.isBassClef,u);z((0,d.addNoteToTrack)(c,g,p,r.startTick,r.endTick),!0),(0,o.playNoteAsync)(p.note,i,(0,o.tickToMs)(E.beatsPerMinute,E.ticksPerBeat,G))}else z((0,d.removeNoteAtRowFromTrack)(n,g,e.row,e.isBassClef,e.tick),!0)}else{if(T){for(let t=0;t<E.tracks.length;t++){if(w&&t!==g)continue;const n=E.tracks[t],i=n.instrument,r=(n.drums?e.row:(0,d.rowToNote)(i.octave,e.row,e.isBassClef),(0,d.findPreviousNoteEvent)(E,t,e.tick));((null==r?void 0:r.startTick)===e.tick||(null==r?void 0:r.endTick)>e.tick)&&r.notes.some(a)&&z((0,d.removeNoteAtRowFromTrack)(E,t,e.row,e.isBassClef,r.startTick),!1)}return}{const t=W?{note:e.row,enharmonicSpelling:"normal"}:(0,d.rowToNote)(i.octave,e.row,e.isBassClef),r=E.beatsPerMeasure*E.ticksPerBeat*E.measures;if(e.tick===r)return;const a=W?1:G;z((0,d.unselectAllNotes)((0,d.addNoteToTrack)(E,g,t,e.tick,e.tick+a)),!0),W?(0,o.playDrumAsync)(n.drums[e.row]):(0,o.playNoteAsync)(t.note,i,(0,o.tickToMs)(E.beatsPerMinute,E.ticksPerBeat,G))}}},onWorkspaceDragStart:()=>{if(M(!1),B.current)return B.current.editing=E,B.current.original=E,void(B.current.selectionAtDragStart=A&&Object.assign({},A));B.current={editing:E,original:E,selectionAtDragStart:A&&Object.assign({},A)}},onWorkspaceDragEnd:()=>{if("move"===B.current.dragType){const e=B.current.dragEnd.tick-B.current.dragStart.tick,t=B.current.dragEnd.row-(B.current.dragEnd.isBassClef?12:0)-(B.current.dragStart.row-(B.current.dragStart.isBassClef?12:0));return P(Object.assign(Object.assign({},B.current.selectionAtDragStart),{deltaTick:B.current.selectionAtDragStart.deltaTick+e,transpose:B.current.selectionAtDragStart.transpose+t})),B.current.dragStart=void 0,B.current.dragEnd=void 0,void(B.current.selectionAtDragStart=void 0)}if("note-length"===B.current.dragType&&U(),pxt.assets.music.songEquals(B.current.editing,B.current.original)||z(B.current.editing,!0),"marquee"===B.current.dragType){const e=(0,d.findSelectedRange)(B.current.editing,G);P(e?{startTick:e.start,endTick:e.end,deltaTick:0,transpose:0,originalSong:B.current.editing}:void 0)}B.current=void 0},onWorkspaceDrag:(e,t)=>{if(V(t.tick),T){for(let e=0;e<E.tracks.length;e++){if(w&&e!==g)continue;const n=E.tracks[e].instrument,i=(0,d.findPreviousNoteEvent)(E,e,t.tick),r=e=>W?e.note===t.row:(0,d.isBassClefNote)(n.octave,e)===t.isBassClef&&(0,d.noteToRow)(n.octave,e)===t.row;((null==i?void 0:i.startTick)===t.tick||(null==i?void 0:i.endTick)>t.tick)&&i.notes.some(r)&&z((0,d.removeNoteAtRowFromTrack)(E,e,t.row,t.isBassClef,i.startTick),!1)}return}if(B.current.dragType=void 0,B.current.dragStart=e,B.current.dragEnd=t,B.current.original.tracks[g].drums)return void z((0,d.fillDrums)(B.current.original,g,e.row,e.tick,t.tick,G),!1);if(B.current.selectionAtDragStart){const n=(0,d.findNoteEventAtPosition)(B.current.original,e,w?g:void 0);if(null==n?void 0:n.selected){B.current.dragType="move";const n=t.tick-e.tick,i=t.row-(t.isBassClef?12:0)-(e.row-(e.isBassClef?12:0)),r=Object.assign(Object.assign({},B.current.selectionAtDragStart),{deltaTick:n+B.current.selectionAtDragStart.deltaTick,transpose:i+B.current.selectionAtDragStart.transpose}),a=(0,d.applySelection)(r,w?g:void 0);return z(a,!1),void P(r)}}const n=(0,d.findPreviousNoteEvent)(B.current.original,g,e.tick);if(!W&&n&&e.tick>=n.startTick&&e.tick<n.endTick){let i=!1;for(const t of n.notes)if((0,d.noteToRow)(E.tracks[g].instrument.octave,t)===e.row){i=!0;break}if(i){if(t.tick<n.startTick+1)return;return P(void 0),B.current.dragType="note-length",void z((0,d.editNoteEventLength)(B.current.original,g,n.startTick,t.tick),!1)}}P({startTick:e.tick,endTick:t.tick,deltaTick:0,transpose:0,originalSong:B.current.editing}),z((0,d.selectNoteEventsInRange)(B.current.original,e.tick,t.tick,w?g:void 0),!1),B.current.dragType="marquee"},gridTicks:G,hideUnselectedTracks:w,showBassClef:F,selection:A,cursor:R?D:void 0,onKeydown:e=>{M(!0);let t=D;t||(t={tick:0,gridTicks:G,track:g,bassClef:!1,hideTracksActive:w,selection:A}),t.gridTicks=G,t.track=g,t.selection=A,t.hideTracksActive=w;const[n,i]=(0,s.handleKeyboardEvent)(E,t,e);pxt.assets.music.songEquals(n,E)||z(n,!i.selection),i.selection?P(i.selection):P(void 0),L(i)}}),(0,i.jsx)(l.PlaybackControls,{song:E,onTempoChange:e=>{U(),M(!1),z(Object.assign(Object.assign({},E),{beatsPerMinute:e}),!0)},onMeasuresChanged:e=>{U(),M(!1),z((0,d.changeSongLength)(E,e),!0)},onUndoClick:()=>{if(!x.length)return;j(_.concat([E]));const e=x.pop();O(x.slice()),z(e,!1)},onRedoClick:()=>{if(!_.length)return;O(x.concat([E]));const e=_.pop();j(_.slice()),z(e,!1)},showBassClef:F,onBassClefCheckboxClick:H,hasUndo:!!x.length,hasRedo:!!_.length}),(0,i.jsx)(a.EditControls,{assetName:t.meta.displayName,onAssetNameChanged:f,onDoneClicked:m})]}))}},{"./EditControls":43,"./PlaybackControls":48,"./ScrollableWorkspace":49,"./TrackSelector":52,"./keyboardNavigation":55,"./playback":56,"./utils":58,react:107,"react/jsx-runtime":108}],46:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Note=void 0;const i=e("react/jsx-runtime"),r=e("../../../../react-common/components/util"),a=e("./svgConstants");n.Note=e=>{const{row:t,iconURI:n,length:s,opacity:o,enharmonicSpelling:l,isBassClef:c,selected:u,cursorHighlighted:d}=e;return(0,i.jsxs)("g",Object.assign({className:(0,r.classList)("music-staff-note",u&&"selected",d&&"cursor-highlighted"),transform:`translate(${-a.NOTE_ICON_WIDTH/2}, ${(0,a.rowY)(t,c)-a.NOTE_ICON_WIDTH/2})`},{children:[0===t&&(0,i.jsx)("line",{className:"music-staff-row",x1:-a.NOTE_ICON_WIDTH/2,y1:a.NOTE_ICON_WIDTH/2,x2:3*a.NOTE_ICON_WIDTH/2,y2:a.NOTE_ICON_WIDTH/2,opacity:o}),!!s&&(0,i.jsx)("rect",{x:a.NOTE_ICON_WIDTH/2,y:a.NOTE_ICON_WIDTH/2-a.NOTE_DURATION_HEIGHT/2,width:s,height:a.NOTE_DURATION_HEIGHT}),(0,i.jsx)("image",Object.assign({x:0,y:0,width:a.NOTE_ICON_WIDTH,height:a.NOTE_ICON_WIDTH,href:n,opacity:o},{children:(0,i.jsx)("animate",{attributeName:"y",values:"0;-7;-10;-7;0",dur:"0.25s",repeatCount:"1",begin:"indefinite"})})),l&&"normal"!==l&&(0,i.jsx)("text",Object.assign({x:a.NOTE_ICON_WIDTH,y:0,fontSize:a.NOTE_ICON_WIDTH/2},{children:"sharp"===l?"♯":"♭"}))]}))}},{"../../../../react-common/components/util":9,"./svgConstants":57,"react/jsx-runtime":108}],47:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NoteGroup=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./Note"),s=e("./playback"),o=e("./svgConstants"),l=e("./utils");n.NoteGroup=e=>{const{song:t,noteEvent:n,octave:c,iconURI:u,isDrumTrack:d,cursor:p}=e;let f;r.useEffect((()=>{let e=!1;const t=t=>{if(t>=n.startTick&&t<n.endTick){if(!e){e=!0,f.classList.add("music-note-playing");const t=f.querySelectorAll("animate");for(let e=0;e<t.length;e++)t.item(e).beginElement()}}else e&&(e=!1,f.classList.remove("music-note-playing"))},i=()=>{e&&(e=!1,f.classList.remove("music-note-playing"))};return(0,s.addTickListener)(t),(0,s.addPlaybackStateListener)(i),()=>{(0,s.removeTickListener)(t),(0,s.removePlaybackStateListener)(i),f.classList.remove("music-note-playing")}}),[n]);const h=(0,o.tickToX)(t.ticksPerBeat,n.startTick),m=d?0:(0,o.tickToX)(t.ticksPerBeat,n.endTick)-h,g=(null==p?void 0:p.tick)===n.startTick;return(0,i.jsx)("g",Object.assign({className:"music-staff-note-group",transform:`translate(${h}, 0)`,ref:e=>{e&&(f=e)}},{children:n.notes.map(((e,t)=>{let r,s=!1;return d?r=e.note:(s=(0,l.isBassClefNote)(c,e),r=(0,l.noteToRow)(c,e)),(0,i.jsx)(a.Note,{isBassClef:s,row:r,enharmonicSpelling:e.enharmonicSpelling,iconURI:u,length:m,selected:n.selected,cursorHighlighted:g&&p.noteGroupIndex===t},t)}))}))}},{"./Note":46,"./playback":56,"./svgConstants":57,"./utils":58,react:107,"react/jsx-runtime":108}],48:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.PlaybackControls=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../../../../react-common/components/controls/Button"),s=e("../../../../react-common/components/controls/Checkbox"),o=e("../../../../react-common/components/controls/Input"),l=e("../../../../react-common/components/util"),c=e("./playback");n.PlaybackControls=e=>{const{song:t,onTempoChange:n,onMeasuresChanged:u,onUndoClick:d,onRedoClick:p,hasUndo:f,hasRedo:h,showBassClef:m,onBassClefCheckboxClick:g}=e,[v,y]=r.useState("stop");r.useEffect((()=>{const e=e=>{y(e)};return(0,c.addPlaybackStateListener)(e),()=>(0,c.removePlaybackStateListener)(e)}),[]);const b=e=>{let t=parseFloat(e);Number.isNaN(t)||(t=Math.min(500,Math.max(20,Math.floor(t))),n(t))},E=e=>{let t=parseInt(e);isNaN(t)||t<1||t>50||u(t)};return(0,i.jsxs)("div",Object.assign({className:"music-playback-controls"},{children:[(0,i.jsxs)("div",Object.assign({className:"music-playback-buttons"},{children:[(0,i.jsx)(a.Button,{className:"square-button",title:lf("Stop"),leftIcon:"fas fa-stop",onClick:()=>{(0,c.stopPlayback)(),y("stop")}}),(0,i.jsx)(a.Button,{className:(0,l.classList)("square-button","play"===v&&"green"),title:lf("Play"),leftIcon:"fas fa-play",onClick:()=>{(0,c.startPlaybackAsync)(t,!1),y("play")}}),(0,i.jsx)(a.Button,{className:(0,l.classList)("square-button","loop"===v&&"green"),title:lf("Loop"),leftIcon:"fas fa-retweet",onClick:()=>{(0,c.isLooping)()||((0,c.isPlaying)()?(0,c.setLooping)(!0):(0,c.startPlaybackAsync)(t,!0),y("loop"))}})]})),(0,i.jsx)(o.Input,{id:"music-playback-tempo-input music-editor-label",label:lf("Tempo:"),initialValue:t.beatsPerMinute.toString(),onBlur:b,onEnterKey:b}),(0,i.jsx)("div",{className:"spacer"}),(0,i.jsx)(s.Checkbox,{className:"music-editor-label",id:"show-bass-clef",label:lf("Show bass clef"),isChecked:m,onChange:g}),(0,i.jsxs)("div",Object.assign({className:"music-undo-redo common-button-group"},{children:[(0,i.jsx)(a.Button,{className:"square-button purple",title:lf("Undo"),leftIcon:"xicon undo",disabled:!f,onClick:d}),(0,i.jsx)(a.Button,{className:"square-button purple",title:lf("Redo"),leftIcon:"xicon redo",disabled:!h,onClick:p})]})),(0,i.jsxs)("div",Object.assign({className:"music-playback-measures"},{children:[(0,i.jsx)("div",Object.assign({className:"music-editor-label"},{children:lf("Measures:")})),(0,i.jsx)(a.Button,{className:"menu-button",title:lf("Remove measure"),leftIcon:"fas fa-minus-circle",onClick:()=>{t.measures>1&&u(t.measures-1)}}),(0,i.jsx)(o.Input,{id:"music-playback-measures-input",initialValue:t.measures.toString(),onBlur:E,onEnterKey:E}),(0,i.jsx)(a.Button,{className:"menu-button",title:lf("Add measure"),leftIcon:"fas fa-plus-circle",onClick:()=>{t.measures<50&&u(t.measures+1)}})]}))]}))}},{"../../../../react-common/components/controls/Button":1,"../../../../react-common/components/controls/Checkbox":2,"../../../../react-common/components/controls/Input":7,"../../../../react-common/components/util":9,"./playback":56,react:107,"react/jsx-runtime":108}],49:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ScrollableWorkspace=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./svgConstants"),s=e("./utils"),o=e("./Workspace");n.ScrollableWorkspace=e=>{const{cursor:t,song:n}=e,l=r.useRef(null);return r.useEffect((()=>{if(!t)return;const e=(0,a.tickToX)(n.ticksPerBeat,t.tick),i=l.current.querySelector("svg"),r=e=>{const t=i.createSVGPoint();return t.x=e,t.y=0,t.matrixTransform(i.getScreenCTM()).x},o=r(e),c=(0,s.findNoteEventAtTick)(n,t.track,t.tick),u=r(e+a.BEAT_WIDTH)-o;let d;d=c?r((0,a.tickToX)(n.ticksPerBeat,c.endTick+n.ticksPerBeat/2))-o:u;const p=l.current.getBoundingClientRect(),f=o-p.x,h=f+d;f<u?l.current.scrollLeft+=f-u:d<p.width&&h>p.width&&(l.current.scrollLeft+=h-p.width)}),[null==t?void 0:t.tick,n.ticksPerBeat]),(0,i.jsx)("div",Object.assign({ref:l,className:"music-scrollable-workspace"},{children:(0,i.jsx)("div",Object.assign({className:"music-scroller"},{children:(0,i.jsx)(o.Workspace,Object.assign({},e))}))}))}},{"./Workspace":53,"./svgConstants":57,"./utils":58,react:107,"react/jsx-runtime":108}],50:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Staff=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../../../../react-common/components/util"),s=e("./playback"),o=e("./svgConstants");n.Staff=e=>{const{top:t,isBassClef:n,gridTicks:l,ticksPerBeat:c,beatsPerMeasure:u,beatsPerMinute:d,measures:p}=e;let f;r.useEffect((()=>{const e=(0,s.tickToMs)(d,c,1),t=(0,o.tickToX)(c,2)-(0,o.tickToX)(c,1);let n,i,r=0,a=!1;const l=e=>{r=(0,o.tickToX)(c,e),i=Date.now(),a||(a=!0,f.style.display="unset",n=requestAnimationFrame(p))},u=()=>{a=!1,f.style.display="none",n&&cancelAnimationFrame(n)},p=()=>{const s=r+t*(Date.now()-i)/e;f.setAttribute("transform",`translate(${s}, 0)`),a&&(n=requestAnimationFrame(p))};return(0,s.addTickListener)(l),(0,s.addPlaybackStateListener)(u),()=>{(0,s.removeTickListener)(l),(0,s.removePlaybackStateListener)(u),n&&cancelAnimationFrame(n)}}),[c,d]);const h=(0,o.workspaceWidth)(p,u),m=[];for(let e=0;e<5;e++)m.push((0,i.jsx)("line",{className:"music-staff-row",x1:0,y1:(0,o.rowY)(2*e+2,!1),x2:h,y2:(0,o.rowY)(2*e+2,!1)},e));const g=[],v=l;for(let e=0;e<p*u*c;e+=v){const t=e%c==0,r=e%(u*c)==0,s=!t&&!r;g.push((0,i.jsxs)("g",{children:[r&&!n&&(0,i.jsx)("text",Object.assign({x:(0,o.tickToX)(c,e),y:o.STAFF_HEADER_HEIGHT-o.STAFF_HEADER_OFFSET,textAnchor:"middle",fontSize:o.STAFF_HEADER_FONT_SIZE},{children:Math.floor(e/(u*c))+1})),(0,i.jsx)("line",{className:"music-staff-column",x1:(0,o.tickToX)(c,e),y1:o.STAFF_HEADER_HEIGHT-o.STAFF_GRID_TICK_HEIGHT,x2:(0,o.tickToX)(c,e),y2:o.STAFF_HEADER_HEIGHT}),!s&&(0,i.jsx)("line",{className:(0,a.classList)("music-staff-column",t&&"beat-start",r&&"measure-start"),x1:(0,o.tickToX)(c,e),y1:n&&r?0:o.STAFF_HEADER_HEIGHT,x2:(0,o.tickToX)(c,e),y2:o.WORKSPACE_HEIGHT})]},e))}return(0,i.jsxs)("g",Object.assign({className:"music-staff",transform:`translate(0 ${t})`},{children:[(0,i.jsx)("rect",{className:"music-staff-background",x:0,y:o.STAFF_HEADER_HEIGHT,width:h,height:o.WORKSPACE_HEIGHT-o.STAFF_HEADER_HEIGHT}),(0,i.jsx)("image",{className:"music-staff-clef",href:n?"/static/music-editor/bass-clef.svg":"/static/music-editor/treble-clef.svg",height:n?o.BASS_CLEF_HEIGHT:o.CLEF_HEIGHT,x:0,y:n?o.BASS_CLEF_TOP:o.STAFF_HEADER_HEIGHT}),(0,i.jsx)("rect",{fill:"#000",x:0,y:o.STAFF_HEADER_HEIGHT-o.STAFF_GRID_TICK_HEIGHT,width:h,height:o.STAFF_GRID_TICK_HEIGHT}),(0,i.jsx)("rect",{fill:"#dedede",x:o.CLEF_WIDTH,y:o.STAFF_HEADER_HEIGHT-o.STAFF_GRID_TICK_HEIGHT,width:h-o.CLEF_WIDTH-o.STAFF_END_WIDTH,height:o.STAFF_GRID_TICK_HEIGHT}),(0,i.jsx)("g",Object.assign({className:"music-staff-rows"},{children:m})),(0,i.jsx)("g",Object.assign({className:"music-staff-beats"},{children:g})),(0,i.jsxs)("g",Object.assign({className:"music-staff-end"},{children:[(0,i.jsx)("rect",{x:h-o.STAFF_END_WIDTH,y:o.STAFF_HEADER_HEIGHT,width:3,height:o.WORKSPACE_HEIGHT-o.STAFF_HEADER_HEIGHT}),(0,i.jsx)("rect",{x:h-12,y:o.STAFF_HEADER_HEIGHT,width:12,height:o.WORKSPACE_HEIGHT-o.STAFF_HEADER_HEIGHT})]})),(0,i.jsx)("g",Object.assign({className:"music-playback-head",ref:e=>{e&&(f=e)}},{children:(0,i.jsx)("line",{className:"music-playback-line",x1:0,y1:o.STAFF_HEADER_HEIGHT,x2:0,y2:o.WORKSPACE_HEIGHT})}))]}))}},{"../../../../react-common/components/util":9,"./playback":56,"./svgConstants":57,react:107,"react/jsx-runtime":108}],51:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Track=void 0;const i=e("react/jsx-runtime"),r=e("./Note"),a=e("./NoteGroup"),s=e("./svgConstants");n.Track=e=>{const{song:t,track:n,cursorLocation:o,keyboardCursor:l}=e;let c;return o&&(c=(0,i.jsx)("g",Object.assign({transform:`translate(${(0,s.tickToX)(t.ticksPerBeat,o.tick)}, 0)`},{children:(0,i.jsx)(r.Note,{isBassClef:o.isBassClef,row:o.row,iconURI:n.iconURI,opacity:.5})}))),(0,i.jsxs)("g",Object.assign({className:"music-staff-track"},{children:[l&&(0,i.jsx)("g",{children:(0,i.jsx)("rect",{x:(0,s.tickToX)(t.ticksPerBeat,l.tick),y:l.bassClef?s.BASS_STAFF_TOP+s.STAFF_HEADER_HEIGHT:s.STAFF_HEADER_HEIGHT,width:5,height:s.WORKSPACE_HEIGHT-s.STAFF_HEADER_HEIGHT,fill:"purple"})}),n.notes.map((e=>(0,i.jsx)(a.NoteGroup,{noteEvent:e,octave:n.instrument.octave,song:t,iconURI:n.iconURI,isDrumTrack:!!n.drums,cursor:l},e.startTick))),c]}))}},{"./Note":46,"./NoteGroup":47,"./svgConstants":57,"react/jsx-runtime":108}],52:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TrackSelector=void 0;const i=e("react/jsx-runtime"),r=e("../../../../react-common/components/controls/Button"),a=e("../../../../react-common/components/controls/Checkbox"),s=e("../../../../react-common/components/controls/Dropdown"),o=e("../../../../react-common/components/controls/FocusList"),l=e("../../../../react-common/components/util"),c={four:"1/4",eight:"1/8",sixteen:"1/16",thirtytwo:"1/32"};n.TrackSelector=e=>{const{song:t,selected:n,onTrackSelected:u,selectedResolution:d,onResolutionSelected:p,eraserActive:f,onEraserClick:h,hideTracksActive:m,onHideTracksClick:g}=e,v=[{title:lf("1/4 Note"),label:lf("1/4"),id:"four"},{title:lf("1/8 Note"),label:lf("1/8"),id:"eight"},{title:lf("1/16 Note"),label:lf("1/16"),id:"sixteen"},{title:lf("1/32 Note"),label:lf("1/32"),id:"thirtytwo"}];return(0,i.jsxs)("div",Object.assign({className:"music-track-selector"},{children:[(0,i.jsxs)(o.FocusList,Object.assign({role:"radiogroup",ariaLabel:lf("Track selection")},{children:[t.tracks.map(((e,a)=>(0,i.jsx)(r.Button,{role:"radio",ariaSelected:n===a&&!f,ariaPosInSet:a+1,ariaSetSize:t.tracks.length+1,title:e.name,className:(0,l.classList)("music-track-button square-button pixellated",n===a&&!f&&"selected"),label:(0,i.jsx)("img",{src:e.iconURI,alt:e.name}),onClick:()=>(e=>{u(e)})(a)},e.name))),(0,i.jsx)(r.Button,{className:(0,l.classList)("music-track-button square-button",f&&"selected"),title:f?lf("Turn off eraser tool"):lf("Turn on eraser tool"),leftIcon:"fas fa-eraser",ariaSelected:f,ariaPosInSet:t.tracks.length,ariaSetSize:t.tracks.length+1,onClick:h})]})),(0,i.jsx)(a.Checkbox,{className:"music-editor-label",id:"hide-tracks",label:lf("Only show selected instrument"),isChecked:m,onChange:g}),(0,i.jsxs)("div",Object.assign({className:"music-track-grid"},{children:[(0,i.jsx)("div",Object.assign({className:"music-editor-label"},{children:lf("Grid:")})),(0,i.jsx)(s.Dropdown,{id:"grid-resolution",ariaLabel:lf("Staff grid resolution"),items:v,selectedId:Object.keys(c).find((e=>c[e]===d)),onItemSelected:e=>{p(c[e])}})]}))]}))}},{"../../../../react-common/components/controls/Button":1,"../../../../react-common/components/controls/Checkbox":2,"../../../../react-common/components/controls/Dropdown":3,"../../../../react-common/components/controls/FocusList":5,"../../../../react-common/components/util":9,"react/jsx-runtime":108}],53:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Workspace=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../../../../react-common/components/util"),s=e("./GridHighlight"),o=e("./Staff"),l=e("./svgConstants"),c=e("./Track"),u=e("./utils"),d=e("./WorkspaceSelection");function p(e,t,n,i){const r=(0,a.screenToSVGCoord)(t,(0,a.clientCoord)(e)),s=r.y>l.BASS_STAFF_TOP,o=(0,l.closestTick)(n.ticksPerBeat,r.x+l.BEAT_WIDTH/n.ticksPerBeat,i);return{isBassClef:s,row:(0,l.closestRow)(r.y),tick:o}}n.Workspace=e=>{const{song:t,onWorkspaceClick:n,gridTicks:f,selectedTrack:h,onWorkspaceDrag:m,onWorkspaceDragStart:g,onWorkspaceDragEnd:v,onKeydown:y,cursor:b,hideUnselectedTracks:E,eraserActive:k,showBassClef:T,selection:C}=e,[w,S]=r.useState(null),[x,O]=r.useState(null),[_,j]=r.useState(!1);let I;r.useEffect((()=>{I.onpointerdown=e=>{e.preventDefault(),I.focus();const n=p(e,I,t,f);n.tick>=0&&n.row>=0&&n.row<12&&O(n)},I.onpointermove=e=>{const n=p(e,I,t,f);if(w&&w.tick===n.tick&&w.row===n.row)return;const i=t.beatsPerMeasure*t.ticksPerBeat*t.measures;n.tick>=0&&n.row>=0&&n.row<12&&n.tick<=i?(x&&(_||(j(!0),g()),m(x,n)),n.tick<i?S(n):S(null)):S(null)},I.onpointerleave=e=>{S(null),_&&(v(),j(!1))},I.onpointerup=e=>{if(O(null),_)v(),j(!1);else{const i=p(e,I,t,f);i.tick>=0&&i.row>=0&&i.row<12&&n(i,e.ctrlKey)}}}),[w,x,_,m,v,g]);let N,A,P=_||k?void 0:w;const D=w&&(0,u.findNoteEventAtTick)(t,h,w.tick),L=x&&(0,u.findNoteEventAtTick)(t,h,x.tick);C?(N=C.startTick+C.deltaTick,A=C.endTick+C.deltaTick):!k&&L&&(null==w?void 0:w.tick)>=L.startTick?(N=L.startTick,A=L.endTick):!k&&_&&w&&x?(N=Math.min(w.tick,x.tick),A=Math.max(w.tick,x.tick)):D?(N=D.startTick,A=D.endTick):w&&(N=w.tick,A=w.tick+f),D&&P&&(P=Object.assign(Object.assign({},P),{tick:D.startTick}));const R=t.tracks.filter(((e,t)=>t!==h)),M=T?2*l.WORKSPACE_HEIGHT:l.WORKSPACE_HEIGHT,F=pxt.assets.music.getSongInfo(t);return(0,i.jsxs)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",className:(0,a.classList)("music-workspace",k&&"erasing"),viewBox:`0 0 ${(0,l.workspaceWidth)(t.measures,t.beatsPerMeasure)+20} ${M}`,"aria-label":lf("Music Workspace"),tabIndex:0,onKeyDown:y,ref:e=>{e&&(I=e)}},{children:[(0,i.jsxs)("filter",Object.assign({id:"selection-outline"},{children:[(0,i.jsx)("feMorphology",{in:"SourceAlpha",result:"DILATED",operator:"dilate",radius:"4"}),(0,i.jsx)("feFlood",{floodColor:"yellow",floodOpacity:"1",result:"FLOODED"}),(0,i.jsx)("feComposite",{in:"FLOODED",in2:"DILATED",operator:"in",result:"OUTLINE"}),(0,i.jsxs)("feMerge",{children:[(0,i.jsx)("feMergeNode",{in:"OUTLINE"}),(0,i.jsx)("feMergeNode",{in:"SourceGraphic"})]})]})),(0,i.jsxs)("filter",Object.assign({id:"cursor-outline"},{children:[(0,i.jsx)("feMorphology",{in:"SourceAlpha",result:"DILATED",operator:"dilate",radius:"4"}),(0,i.jsx)("feFlood",{floodColor:"purple",floodOpacity:"1",result:"FLOODED"}),(0,i.jsx)("feComposite",{in:"FLOODED",in2:"DILATED",operator:"in",result:"OUTLINE"}),(0,i.jsxs)("feMerge",{children:[(0,i.jsx)("feMergeNode",{in:"OUTLINE"}),(0,i.jsx)("feMergeNode",{in:"SourceGraphic"})]})]})),(0,i.jsx)(o.Staff,Object.assign({},F,{top:0,gridTicks:f})),T&&(0,i.jsx)(o.Staff,Object.assign({},F,{top:l.BASS_STAFF_TOP,isBassClef:!0,gridTicks:f})),(0,i.jsx)(s.GridHighlight,Object.assign({},F,{start:N,end:A})),C&&(0,i.jsx)(d.WorkspaceSelection,Object.assign({},F,{range:C})),!E&&R.map(((e,n)=>(0,i.jsx)(c.Track,{track:e,song:t},n))),(0,i.jsx)(c.Track,{track:t.tracks[h],song:t,cursorLocation:P,keyboardCursor:b})]}))}},{"../../../../react-common/components/util":9,"./GridHighlight":44,"./Staff":50,"./Track":51,"./WorkspaceSelection":54,"./svgConstants":57,"./utils":58,react:107,"react/jsx-runtime":108}],54:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.WorkspaceSelection=void 0;const i=e("react/jsx-runtime"),r=e("./svgConstants");n.WorkspaceSelection=e=>{const{range:t,ticksPerBeat:n}=e,a=(0,r.tickToX)(n,t.startTick+t.deltaTick),s=(0,r.tickToX)(n,t.endTick+t.deltaTick);return(0,i.jsxs)("g",{children:[(0,i.jsx)("rect",{className:"music-workspace-selection",fill:"#03adfc",opacity:.5,x:Math.min(a,s),y:r.STAFF_HEADER_HEIGHT,width:Math.max(a,s)-Math.min(a,s),height:r.WORKSPACE_HEIGHT-r.STAFF_HEADER_HEIGHT}),(0,i.jsx)("rect",{className:"music-workspace-selection",fill:"#03adfc",opacity:.5,x:Math.min(a,s),y:r.BASS_STAFF_TOP+r.STAFF_HEADER_HEIGHT,width:Math.max(a,s)-Math.min(a,s),height:r.WORKSPACE_HEIGHT-r.STAFF_HEADER_HEIGHT})]})}},{"./svgConstants":57,"react/jsx-runtime":108}],55:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.handleKeyboardEvent=void 0;const i=e("./playback"),r=e("./utils");n.handleKeyboardEvent=function(e,t,n){const a=n.ctrlKey||n.metaKey,s=n.shiftKey,o=n.altKey,l=t.selection?void 0:(0,r.findNoteEventAtTick)(e,t.track,t.tick);(null==l?void 0:l.startTick)===t.tick&&void 0===t.noteGroupIndex&&(t.noteGroupIndex=0);let c=e,u=Object.assign(Object.assign({},t),{selection:t.selection&&Object.assign({},t.selection)});const d=e.tracks[t.track].instrument,p=d.octave,f=e.ticksPerBeat*e.beatsPerMeasure,h=f*e.measures,m=!!t.selection,g=e=>{u.selection&&(c=(0,r.applySelection)(u.selection,t.hideTracksActive?t.track:void 0),e&&(c=(0,r.unselectAllNotes)(c)),delete u.selection)},v=t=>{for(const n of t.notes)(0,i.playNoteAsync)(n.note,d,(0,i.tickToMs)(c.beatsPerMinute,e.ticksPerBeat,t.endTick-t.startTick))};switch(n.key){case"ArrowUp":case"Up":if(n.preventDefault(),s){u.bassClef=!1;break}if(u.selection){u.selection.transpose++,c=(0,r.applySelection)(u.selection);break}if(!l)break;if(o&&a)u.noteGroupIndex=l.notes.length-1;else if(o)u.noteGroupIndex=Math.min(t.noteGroupIndex+1,l.notes.length-1);else{let n=l.notes[t.noteGroupIndex];const s=c.tracks[t.track];let o=(0,r.isBassClefNote)(p,n);const f=s.drums?n.note:(0,r.noteToRow)(p,n);let h=f;const m=a?12:1;for(;l.notes.some((e=>s.drums?e.note===h:(0,r.isBassClefNote)(p,e)===o&&h===(0,r.noteToRow)(p,e)));)if((h+=m)>=12){if(!o)break;o=!1,h-=12}if(h>=12||h<0)break;const g=s.drums?{note:h,enharmonicSpelling:"normal"}:(0,r.rowToNote)(p,h,o,n.enharmonicSpelling);c=(0,r.removeNoteAtRowFromTrack)(c,t.track,f,(0,r.isBassClefNote)(p,n),l.startTick),c=(0,r.addNoteToTrack)(c,t.track,g,l.startTick,l.endTick);const v=(0,r.findNoteEventAtTick)(c,t.track,t.tick);u.noteGroupIndex=v.notes.findIndex((e=>e.note===g.note)),(0,i.playNoteAsync)(g.note,d,(0,i.tickToMs)(c.beatsPerMinute,e.ticksPerBeat,v.endTick-v.startTick))}break;case"ArrowDown":case"Down":if(n.preventDefault(),s){u.bassClef=!0;break}if(u.selection){u.selection.transpose--,c=(0,r.applySelection)(u.selection);break}if(!l)break;if(o&&a)u.noteGroupIndex=0;else if(o)u.noteGroupIndex=Math.max(t.noteGroupIndex-1,0);else{let n=l.notes[t.noteGroupIndex];const s=c.tracks[t.track];let o=(0,r.isBassClefNote)(p,n);const f=s.drums?n.note:(0,r.noteToRow)(p,n);let h=f;const m=a?-12:-1;for(;l.notes.some((e=>s.drums?e.note===h:(0,r.isBassClefNote)(p,e)===o&&h===(0,r.noteToRow)(p,e)));)if((h+=m)<0){if(o)break;o=!0,h+=12}if(h>=12||h<0)break;const g=s.drums?{note:h,enharmonicSpelling:"normal"}:(0,r.rowToNote)(p,h,o,n.enharmonicSpelling);c=(0,r.removeNoteAtRowFromTrack)(c,t.track,f,(0,r.isBassClefNote)(p,n),l.startTick),c=(0,r.addNoteToTrack)(c,t.track,g,l.startTick,l.endTick);const v=(0,r.findNoteEventAtTick)(c,t.track,t.tick);u.noteGroupIndex=v.notes.findIndex((e=>e.note===g.note)),(0,i.playNoteAsync)(g.note,d,(0,i.tickToMs)(c.beatsPerMinute,e.ticksPerBeat,v.endTick-v.startTick))}break;case"ArrowLeft":case"Left":if(n.preventDefault(),s&&m&&(u.selection.deltaTick||u.selection.transpose)&&g(!0),a){u.tick%f==0?u.tick=Math.max(u.tick-f,0):u.tick=Math.floor(u.tick/f)*f;const e=(0,r.findNoteEventAtTick)(c,t.track,u.tick);(null==e?void 0:e.startTick)===u.tick?(u.noteGroupIndex=0,v(e)):u.noteGroupIndex=void 0;break}const y=t.tick%t.gridTicks!=0?Math.floor(u.tick/t.gridTicks)*t.gridTicks:t.tick-t.gridTicks,b=(0,r.findPreviousNoteEvent)(c,t.track,t.tick-1);if((null==b?void 0:b.endTick)>y){u.tick=b.startTick,u.noteGroupIndex=0;break}u.tick=Math.max(y,0),u.noteGroupIndex=void 0;break;case"ArrowRight":case"Right":if(n.preventDefault(),s&&m&&(u.selection.deltaTick||u.selection.transpose)&&g(!0),a){u.tick%f==0?u.tick=Math.min(u.tick+f,h-f):(u.tick=Math.min(Math.ceil(u.tick/f)*f,h-f),u.tick>=h&&(u.tick-=f));const e=(0,r.findNoteEventAtTick)(c,t.track,u.tick);(null==e?void 0:e.startTick)===u.tick?(u.noteGroupIndex=0,v(e)):u.noteGroupIndex=void 0;break}const E=l?Math.ceil(l.endTick/t.gridTicks)*t.gridTicks:t.tick+t.gridTicks,k=(0,r.findNextNoteEvent)(c,t.track,t.tick);if((null==k?void 0:k.startTick)<=E){u.tick=k.startTick,u.noteGroupIndex=0;break}u.tick=Math.min(Math.ceil(E/t.gridTicks)*t.gridTicks,h-t.gridTicks),u.noteGroupIndex=void 0;break;case"End":if(n.preventDefault(),a){u.tick=h-t.gridTicks;const e=(0,r.findNoteEventAtTick)(c,t.track,u.tick);e?(u.tick=e.startTick,u.noteGroupIndex=0,v(e)):u.noteGroupIndex=void 0}break;case"Home":if(n.preventDefault(),a){u.tick=0;const e=(0,r.findNoteEventAtTick)(c,t.track,u.tick);e?(u.noteGroupIndex=0,v(e)):u.noteGroupIndex=void 0}break;case"Backspace":if(n.preventDefault(),t.selection)g(),c=(0,r.deleteSelectedNotes)(c);else if(void 0!==t.noteGroupIndex){if(a){c=(0,r.removeNoteEventFromTrack)(c,t.track,t.tick),u.noteGroupIndex=void 0;break}c=(0,r.removeNoteFromTrack)(c,t.track,l.notes[t.noteGroupIndex],l.startTick),1===l.notes.length?u.noteGroupIndex=void 0:u.noteGroupIndex=Math.min(u.noteGroupIndex,l.notes.length-2)}break;case"Enter":m&&g(!0);break;case"Spacebar":case" ":(0,i.isPlaying)()?(0,i.stopPlayback)():(0,i.startPlaybackAsync)(e,a);break;case"j":case"J":if(e.tracks[t.track].drums)break;if(l){n.preventDefault();const e=l.notes[u.noteGroupIndex],a=12*d.octave-20,s=12*d.octave+20,o=(0,r.noteToRow)(p,e),f=l.startTick,h=(0,r.isBassClefNote)(p,e);let m;c=(0,r.removeNoteAtRowFromTrack)(c,u.track,o,h,f),m="normal"===e.enharmonicSpelling&&e.note<s?"sharp":"sharp"===e.enharmonicSpelling&&e.note>a||e.note===s?"flat":"normal";const g=(0,r.rowToNote)(d.octave,o,h,m);c=(0,r.addNoteToTrack)(c,u.track,g,l.startTick,l.endTick),(0,i.playNoteAsync)(g.note,d,(0,i.tickToMs)(c.beatsPerMinute,c.ticksPerBeat,t.gridTicks))}break;default:if(/^[a-g]$/i.test(n.key)){let e;n.preventDefault(),g(!0),e=t.bassClef?(0,r.rowToNote)(p,3+"abcdefg".indexOf(n.key.toLowerCase()),!0):(0,r.rowToNote)(p,5+"abcdefg".indexOf(n.key.toLowerCase()),!1),l?-1===l.notes.indexOf(e)&&(c=(0,r.addNoteToTrack)(c,t.track,e,l.startTick,l.endTick),v((0,r.findNoteEventAtTick)(c,t.track,l.startTick))):(c=(0,r.addNoteToTrack)(c,t.track,e,t.tick,t.tick+t.gridTicks),u.noteGroupIndex=0,v((0,r.findNoteEventAtTick)(c,t.track,t.tick)));break}if(/^[1-9]$/.test(n.key)){n.preventDefault(),g(!0),l&&(c=(0,r.editNoteEventLength)(c,t.track,l.startTick,l.startTick+parseInt(n.key)*t.gridTicks),v((0,r.findNoteEventAtTick)(c,t.track,l.startTick)));break}}if(u.tick!==t.tick)if(s)u.selection?u.selection.endTick=u.tick:u.selection={originalSong:e,startTick:t.tick,endTick:u.tick,transpose:0,deltaTick:0},c=(0,r.applySelection)(u.selection,u.hideTracksActive?u.track:void 0);else if(u.selection){const e=(0,r.selectNoteEventsInRange)(u.selection.originalSong,u.selection.startTick,u.selection.endTick,u.hideTracksActive?u.track:void 0),n=(0,r.findSelectedRange)(e,u.gridTicks);n&&(u.selection.startTick=n.start,u.selection.endTick=n.end),u.selection.deltaTick+=u.tick-t.tick,c=(0,r.applySelection)(u.selection,u.hideTracksActive?u.track:void 0),u.selection.startTick+u.selection.deltaTick>0&&(u.tick=u.selection.startTick+u.selection.deltaTick)}return[c,u]}},{"./playback":56,"./utils":58}],56:[function(e,t,n){"use strict";let i,r,a;Object.defineProperty(n,"__esModule",{value:!0}),n.removePlaybackStateListener=n.addPlaybackStateListener=n.removeTickListener=n.addTickListener=n.stopPlayback=n.updatePlaybackSongAsync=n.setLooping=n.isLooping=n.isPlaying=n.tickToMs=n.startPlaybackAsync=n.playDrumAsync=n.playNoteAsync=void 0;let s=[],o=[];const l=[31,33,35,37,39,41,44,46,49,52,55,58,62,65,69,73,78,82,87,92,98,104,110,117,123,131,139,147,156,165,175,185,196,208,220,233,247,262,277,294,311,330,349,370,392,415,440,466,494,523,554,587,622,659,698,740,784,831,880,932,988,1047,1109,1175,1245,1319,1397,1480,1568,1661,1760,1865,1976,2093,2217,2349,2489,2637,2794,2960,3136,3322,3520,3729,3951,4186,4435,4699,4978,5274,5588,5920,6272,6645,7040,7459,7902];async function c(e,t,n,i){await pxsim.AudioContextManager.playInstructionsAsync(pxt.assets.music.renderInstrument(t,l[e],n,100),i)}async function u(e,t){await pxsim.AudioContextManager.playInstructionsAsync(pxt.assets.music.renderDrumInstrument(e,100),t)}async function d(){return r||i||(r=new Promise((e=>{i=new Worker("data:application/javascript,"+encodeURIComponent(h));const t=n=>{"ready"===n.data&&(e(i),i.removeEventListener("message",t))};i.addEventListener("message",t)})))}function p(e,t,n){return 6e4/e/t*n}function f(){return!!a&&!a.cancellationToken.cancelled}n.playNoteAsync=c,n.playDrumAsync=u,n.startPlaybackAsync=async function(e,t){const n={song:e,looping:t,cancellationToken:{cancelled:!1},tick:0};a&&(a.cancellationToken.cancelled=!0),a=n;const i=await d();let r=0;const l=()=>n.cancellationToken.cancelled,h=e=>{i.postMessage(e)},m=()=>{if(i.removeEventListener("message",g),n.cancellationToken.cancelled=!0,!f()){h({type:"stop"});for(const e of s)e("stop")}},g=e=>{if("tick"===e.data)if(l())m();else{for(const e of n.song.tracks)for(const t of e.notes)if(t.startTick===r)for(const i of t.notes)e.drums?u(e.drums[i.note],l):c(i.note,e.instrument,p(n.song.beatsPerMinute,n.song.ticksPerBeat,t.endTick-t.startTick),l);else if(t.startTick>r)break;for(const e of o)e(r);++r>=n.song.ticksPerBeat*n.song.beatsPerMeasure*n.song.measures&&(n.looping?r=0:m())}};h({type:"start",interval:p(n.song.beatsPerMinute,n.song.ticksPerBeat,1)}),i.addEventListener("message",g);for(const e of s)e(t?"loop":"play")},n.tickToMs=p,n.isPlaying=f,n.isLooping=function(){return f()&&a.looping},n.setLooping=function(e){a&&(a.looping=e)},n.updatePlaybackSongAsync=async function(e){f()&&(a.song.beatsPerMinute!==e.beatsPerMinute&&(await d()).postMessage({type:"set-interval",interval:p(e.beatsPerMinute,e.ticksPerBeat,1)}),a.song=e)},n.stopPlayback=function(){a&&(a.cancellationToken.cancelled=!0)},n.addTickListener=function(e){o.push(e)},n.removeTickListener=function(e){o=o.filter((t=>e!==t))},n.addPlaybackStateListener=function(e){s.push(e)},n.removePlaybackStateListener=function(e){s=s.filter((t=>e!==t))};const h='\n/**\n * Adpated from https://github.com/cwilso/metronome/\n */\n\nlet timerRef;\nlet interval;\n\naddEventListener("message", ev => {\n const message = ev.data;\n\n if (message.type === "start") {\n updateInterval(message.interval, true);\n }\n else if (message.type === "stop") {\n clearInterval(timerRef);\n timerRef = undefined;\n }\n else if (message.type === "set-interval") {\n updateInterval(message.interval, false);\n }\n})\n\npostMessage("ready");\n\nfunction updateInterval(interval, startIfStopped) {\n if (timerRef) {\n clearInterval(timerRef);\n startIfStopped = true;\n }\n interval = interval;\n\n if (startIfStopped) {\n timerRef = setInterval(() => postMessage("tick"), interval);\n }\n}\n'},{}],57:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.rowY=n.closestRow=n.closestTick=n.beatToX=n.tickToX=n.workspaceWidth=n.BASS_CLEF_HEIGHT=n.BASS_CLEF_TOP=n.BASS_STAFF_HEADER_HEIGHT=n.BASS_STAFF_TOP=n.NOTE_DURATION_HEIGHT=n.NOTE_ICON_WIDTH=n.WORKSPACE_HEIGHT=n.STAFF_GRID_TICK_HEIGHT=n.STAFF_END_WIDTH=n.STAFF_HEADER_OFFSET=n.STAFF_HEADER_FONT_SIZE=n.STAFF_HEADER_HEIGHT=n.CLEF_HEIGHT=n.CLEF_WIDTH=n.STAFF_ROW_HEIGHT=n.BEAT_WIDTH=void 0,n.BEAT_WIDTH=150,n.STAFF_ROW_HEIGHT=50,n.CLEF_WIDTH=250,n.CLEF_HEIGHT=320,n.STAFF_HEADER_HEIGHT=n.STAFF_ROW_HEIGHT,n.STAFF_HEADER_FONT_SIZE=40,n.STAFF_HEADER_OFFSET=11,n.STAFF_END_WIDTH=25,n.STAFF_GRID_TICK_HEIGHT=7,n.WORKSPACE_HEIGHT=n.STAFF_HEADER_HEIGHT+7*n.STAFF_ROW_HEIGHT,n.NOTE_ICON_WIDTH=45,n.NOTE_DURATION_HEIGHT=n.NOTE_ICON_WIDTH/3,n.BASS_STAFF_TOP=n.WORKSPACE_HEIGHT,n.BASS_STAFF_HEADER_HEIGHT=n.STAFF_ROW_HEIGHT/2,n.BASS_CLEF_TOP=90,n.BASS_CLEF_HEIGHT=230,n.workspaceWidth=function(e,t){return n.CLEF_WIDTH+e*t*n.BEAT_WIDTH+n.STAFF_END_WIDTH},n.tickToX=function(e,t){return n.CLEF_WIDTH+n.BEAT_WIDTH/e*t},n.beatToX=function(e){return n.CLEF_WIDTH+n.BEAT_WIDTH*e},n.closestTick=function(e,t,i){const r=Math.floor((t-n.CLEF_WIDTH)*(e/n.BEAT_WIDTH));return Math.floor(r/i)*i},n.closestRow=function(e){const t=e>n.BASS_STAFF_TOP;return 12-Math.round((e-n.STAFF_HEADER_HEIGHT-(t?n.BASS_STAFF_TOP:0))/(n.STAFF_ROW_HEIGHT/2))},n.rowY=function(e,t){return t?n.BASS_STAFF_TOP+n.STAFF_HEADER_HEIGHT+(12-e%12)*n.STAFF_ROW_HEIGHT/2:n.STAFF_HEADER_HEIGHT+(12-e%12)*n.STAFF_ROW_HEIGHT/2}},{}],58:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.doesSongUseBassClef=n.applySelection=n.moveSelectedNotes=n.deleteSelectedNotes=n.unselectAllNotes=n.selectNoteEventsInRange=n.findSelectedRange=n.changeSongLength=n.findNoteEventAtPosition=n.findNextNoteEvent=n.findPreviousNoteEvent=n.findNoteEventAtTick=n.fillDrums=n.editNoteEventLength=n.removeNoteEventFromTrack=n.removeNoteAtRowFromTrack=n.removeNoteFromTrack=n.addNoteToTrack=n.isBassClefNote=n.noteToRow=n.rowToNote=void 0;const i=[0,2,4,5,7,9,11,12,14,16,17,19];function r(e,t,n,r){const a=i[t]+12*e+1-(n?20:0);return r&&"normal"!==r?"sharp"===r?{note:a+1,enharmonicSpelling:r}:{note:a-1,enharmonicSpelling:r}:{note:a,enharmonicSpelling:"normal"}}function a(e,t){const n=t.note-1-12*e+(s(e,t)?20:0);for(let e=0;e<i.length;e++){if(i[e]===n)return"normal"===t.enharmonicSpelling?e:"sharp"===t.enharmonicSpelling?e-1:e+1;if(i[e]>n){if("sharp"===t.enharmonicSpelling)return e-1;if("flat"===t.enharmonicSpelling)return e}}return"sharp"===t.enharmonicSpelling&&n===i[i.length-1]+1?i.length-1:-1}function s(e,t){return"flat"===t.enharmonicSpelling?t.note<12*e:"sharp"===t.enharmonicSpelling?t.note<=12*e+1:t.note<12*e+1}function o(e,t,n,i,r){return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,a)=>a!==t?e:Object.assign(Object.assign({},e),{notes:l(e.notes,n,i,r,e.instrument.octave,!!e.drums)})))})}function l(e,t,n,i,r,o){const l={notes:[t],startTick:n,endTick:i};for(let i=0;i<e.length;i++){if(e[i].startTick>n)return e.slice(0,i).concat([l]).concat(e.slice(i));if(e[i].endTick>n)return e[i].notes.some((e=>e.note===t.note&&e.enharmonicSpelling===t.enharmonicSpelling))?e.slice():e.map(((e,n)=>n!==i?e:Object.assign(Object.assign({},e),{notes:e.notes.concat([t]).sort(((e,t)=>{if(o)return e.note-t.note;const n=s(r,e);return n===s(r,t)?a(r,e)-a(r,t):n?-1:1}))})))}return e.slice().concat([l])}function c(e,t,n){const i=e.slice();for(let e=0;e<i.length;e++)if(i[e].startTick==n){i[e]=Object.assign(Object.assign({},i[e]),{notes:i[e].notes.filter((e=>e.note!==t.note))});break}return i.filter((e=>e.notes.length))}function u(e,t,n,i,r,o){const l=e.slice();for(let e=0;e<l.length;e++)if(l[e].startTick==r){l[e]=Object.assign(Object.assign({},l[e]),{notes:l[e].notes.filter((e=>o?e.note!==t:s(i,e)!==n||a(i,e)!==t))});break}return l.filter((e=>e.notes.length))}function d(e,t,n){const i=e.slice();if(t>=n)return i;let r;for(let e=0;e<i.length;e++)i[e].startTick===t?(r=Object.assign(Object.assign({},i[e]),{endTick:n}),i[e]=r):r&&i[e].startTick<r.endTick&&(i[e]=void 0);return i.filter((e=>!!e))}function p(e,t,n){const i=e.tracks[t];for(const e of i.notes)if(e.startTick<=n&&e.endTick>n)return e}function f(e,t){let n=e.measures*e.beatsPerMeasure*e.ticksPerBeat+1,i=-1;for(const t of e.tracks)for(const e of t.notes)e.selected&&(n=Math.min(e.startTick,n),i=Math.max(e.endTick,i));if(-1!==i)return void 0!==t&&(n=Math.floor(n/t)*t,i=Math.ceil(i/t)*t),{start:n,end:i}}function h(e,t,n,i){return void 0!==i?Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,r)=>r!==i?e:m(e,Math.min(t,n),Math.max(t,n))))}):Object.assign(Object.assign({},e),{tracks:e.tracks.map((e=>m(e,Math.min(t,n),Math.max(t,n))))})}function m(e,t,n){return Object.assign(Object.assign({},e),{notes:e.notes.map((e=>Object.assign(Object.assign({},e),{notes:e.notes.slice(),selected:!(e.startTick>=n||e.endTick<=t)})))})}function g(e){return Object.assign(Object.assign({},e),{tracks:e.tracks.map((e=>Object.assign(Object.assign({},e),{notes:e.notes.map((e=>Object.assign(Object.assign({},e),{selected:!1})))})))})}function v(e,t,n,i){const r=f(e);if(!r)return e;const{start:a,end:s}=r,o=a+t,l=s+t,c=e.beatsPerMeasure*e.ticksPerBeat*e.measures;return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,r)=>void 0!==i&&i!=r?e:Object.assign(Object.assign({},e),{notes:e.notes.filter((e=>e.selected||e.endTick<=o||e.startTick>=l)).map((i=>i.selected?b(i,e.instrument.octave,t,n,!!e.drums):i)).map((e=>Object.assign(Object.assign({},e),{endTick:Math.min(e.endTick,c)}))).filter((e=>e.notes.length>0&&e.startTick>=0&&e.startTick<c)).sort(((e,t)=>e.startTick-t.startTick))})))})}function y(e,t){return e.pastedContent?function(e,t){const n=y(e.pastedContent,t),i=f(n,t),r=e.startTick+e.deltaTick,a=r+(i.end-i.start),s=g(e.originalSong),o=s.beatsPerMeasure*s.ticksPerBeat*s.measures;return Object.assign(Object.assign({},s),{tracks:s.tracks.map(((s,l)=>void 0!==t&&t!=l?s:Object.assign(Object.assign({},s),{notes:s.notes.filter((e=>e.endTick<=r||e.startTick>=a)).concat(n.tracks[l].notes.filter((e=>e.selected)).map((t=>Object.assign(Object.assign({},t),{startTick:t.startTick-i.start+e.startTick,endTick:t.endTick-i.start+e.startTick})))).map((t=>t.selected?b(t,s.instrument.octave,e.deltaTick,e.transpose,!!s.drums):t)).map((e=>Object.assign(Object.assign({},e),{endTick:Math.min(e.endTick,o)}))).filter((e=>e.notes.length>0&&e.startTick>=0&&e.startTick<o)).sort(((e,t)=>e.startTick-t.startTick))})))})}(e,t):v(h(e.originalSong,e.startTick,e.endTick,t),e.deltaTick,e.transpose,t)}function b(e,t,n,o,l){const c=Object.assign(Object.assign({},e),{startTick:e.startTick+n,endTick:e.endTick+n,notes:[]});if(l)c.notes=e.notes.slice();else for(const n of e.notes){let e=s(t,n),l=a(t,n);l+o>=i.length?e&&(l-=12,e=!1):l+o<0&&(e||(l+=12,e=!0));const u=l+o;u<0||u>=i.length||c.notes.push(r(t,u,e,n.enharmonicSpelling))}return c}n.rowToNote=r,n.noteToRow=a,n.isBassClefNote=s,n.addNoteToTrack=o,n.removeNoteFromTrack=function(e,t,n,i){return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,r)=>r!==t?e:Object.assign(Object.assign({},e),{notes:c(e.notes,n,i)})))})},n.removeNoteAtRowFromTrack=function(e,t,n,i,r){return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,a)=>a!==t?e:Object.assign(Object.assign({},e),{notes:u(e.notes,n,i,e.instrument.octave,r,!!e.drums)})))})},n.removeNoteEventFromTrack=function(e,t,n){return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,i)=>i!==t?e:Object.assign(Object.assign({},e),{notes:e.notes.filter((e=>e.startTick!==n))})))})},n.editNoteEventLength=function(e,t,n,i){const r=e.beatsPerMeasure*e.ticksPerBeat*e.measures;return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,a)=>a!==t?e:Object.assign(Object.assign({},e),{notes:d(e.notes,n,Math.min(i,r))})))})},n.fillDrums=function(e,t,n,i,r,a){for(let s=i;s<r;s+=a)e=o(e,t,{note:n,enharmonicSpelling:"normal"},s,s+1);return e},n.findNoteEventAtTick=p,n.findPreviousNoteEvent=function(e,t,n){const i=e.tracks[t];let r;for(const e of i.notes){if(e.startTick>n)return r;r=e}return r},n.findNextNoteEvent=function(e,t,n){const i=e.tracks[t];for(const e of i.notes)if(e.startTick>n)return e},n.findNoteEventAtPosition=function(e,t,n){if(void 0!==n){const i=p(e,n,t.tick);return(null==i?void 0:i.notes.some((i=>a(e.tracks[n].instrument.octave,i)===t.row)))?i:void 0}for(let n=0;n<e.tracks.length;n++){const i=p(e,n,t.tick);if(null==i?void 0:i.notes.some((i=>a(e.tracks[n].instrument.octave,i)===t.row)))return i}},n.changeSongLength=function(e,t){const n=t*e.beatsPerMeasure*e.ticksPerBeat;return Object.assign(Object.assign({},e),{measures:t,tracks:e.tracks.map((e=>{const t=Object.assign(Object.assign({},e),{notes:e.notes.slice()});return t.notes=t.notes.filter((e=>e.startTick<n)),t.notes=t.notes.map((e=>Object.assign(Object.assign({},e),{endTick:Math.min(e.endTick,n)}))),t}))})},n.findSelectedRange=f,n.selectNoteEventsInRange=h,n.unselectAllNotes=g,n.deleteSelectedNotes=function(e){return Object.assign(Object.assign({},e),{tracks:e.tracks.map((e=>Object.assign(Object.assign({},e),{notes:e.notes.filter((e=>!e.selected))})))})},n.moveSelectedNotes=v,n.applySelection=y,n.doesSongUseBassClef=function(e){return e.tracks.some((e=>!e.drums&&e.notes.some((t=>t.notes.some((t=>s(e.instrument.octave,t)))))))}},{}],59:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.fireClickOnEnter=void 0,n.fireClickOnEnter=function(e){const t="number"==typeof e.which?e.which:e.keyCode;13!==t&&32!==t||(e.preventDefault(),e.currentTarget.click())}},{}],60:[function(e,t,n){var i=e("./toPropertyKey.js");t.exports=function(e,t,n){return(t=i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},t.exports.__esModule=!0,t.exports.default=t.exports},{"./toPropertyKey.js":67}],61:[function(e,t,n){function i(){return t.exports=i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},t.exports.__esModule=!0,t.exports.default=t.exports,i.apply(this,arguments)}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},{}],62:[function(e,t,n){t.exports=function(e){return e&&e.__esModule?e:{default:e}},t.exports.__esModule=!0,t.exports.default=t.exports},{}],63:[function(e,t,n){var i=e("./typeof.js").default;function r(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(r=function(e){return e?n:t})(e)}t.exports=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var n=r(t);if(n&&n.has(e))return n.get(e);var a={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var l=s?Object.getOwnPropertyDescriptor(e,o):null;l&&(l.get||l.set)?Object.defineProperty(a,o,l):a[o]=e[o]}return a.default=e,n&&n.set(e,a),a},t.exports.__esModule=!0,t.exports.default=t.exports},{"./typeof.js":68}],64:[function(e,t,n){var i=e("./defineProperty.js");function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}t.exports=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e},t.exports.__esModule=!0,t.exports.default=t.exports},{"./defineProperty.js":60}],65:[function(e,t,n){t.exports=function(e,t){if(null==e)return{};var n,i,r={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(r[n]=e[n]);return r},t.exports.__esModule=!0,t.exports.default=t.exports},{}],66:[function(e,t,n){var i=e("./typeof.js").default;t.exports=function(e,t){if("object"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},t.exports.__esModule=!0,t.exports.default=t.exports},{"./typeof.js":68}],67:[function(e,t,n){var i=e("./typeof.js").default,r=e("./toPrimitive.js");t.exports=function(e){var t=r(e,"string");return"symbol"===i(t)?t:String(t)},t.exports.__esModule=!0,t.exports.default=t.exports},{"./toPrimitive.js":66,"./typeof.js":68}],68:[function(e,t,n){function i(e){return t.exports=i="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},t.exports.__esModule=!0,t.exports.default=t.exports,i(e)}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},{}],69:[function(e,t,n){"use strict";var i=e("react-is"),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},s={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},o={};function l(e){return i.isMemo(e)?s:o[e.$$typeof]||r}o[i.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},o[i.Memo]=s;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,h=Object.prototype;t.exports=function e(t,n,i){if("string"!=typeof n){if(h){var r=f(n);r&&r!==h&&e(t,r,i)}var s=u(n);d&&(s=s.concat(d(n)));for(var o=l(t),m=l(n),g=0;g<s.length;++g){var v=s[g];if(!(a[v]||i&&i[v]||m&&m[v]||o&&o[v])){var y=p(n,v);try{c(t,v,y)}catch(t){}}}}return t}},{"react-is":77}],70:[function(e,t,n){"use strict";var i=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function s(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}t.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,o,l=s(e),c=1;c<arguments.length;c++){for(var u in n=Object(arguments[c]))r.call(n,u)&&(l[u]=n[u]);if(i){o=i(n);for(var d=0;d<o.length;d++)a.call(n,o[d])&&(l[o[d]]=n[o[d]])}}return l}},{}],71:[function(e,t,n){"use strict";var i=e("./lib/ReactPropTypesSecret");function r(){}function a(){}a.resetWarningCache=r,t.exports=function(){function e(e,t,n,r,a,s){if(s!==i){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:r};return n.PropTypes=n,n}},{"./lib/ReactPropTypesSecret":73}],72:[function(e,t,n){t.exports=e("./factoryWithThrowingShims")()},{"./factoryWithThrowingShims":71}],73:[function(e,t,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},{}],74:[function(e,t,n){"use strict";var i=e("react"),r=e("object-assign"),a=e("scheduler");function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!i)throw Error(s(227));var o=new Set,l={};function c(e,t){u(e,t),u(e+"Capture",t)}function u(e,t){for(l[e]=t,e=0;e<t.length;e++)o.add(t[e])}var d=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f=Object.prototype.hasOwnProperty,h={},m={};function g(e,t,n,i,r,a,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=s}var v={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){v[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];v[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){v[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){v[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){v[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){v[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){v[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){v[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){v[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function E(e,t,n,i){var r=v.hasOwnProperty(t)?v[t]:null;(null!==r?0===r.type:!i&&2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1]))||(function(e,t,n,i){if(null==t||function(e,t,n,i){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!i&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,i))return!0;if(i)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,r,i)&&(n=null),i||null===r?function(e){return!!f.call(m,e)||!f.call(h,e)&&(p.test(e)?m[e]=!0:(h[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):r.mustUseProperty?e[r.propertyName]=null===n?3!==r.type&&"":n:(t=r.attributeName,i=r.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(r=r.type)||4===r&&!0===n?"":""+n,i?e.setAttributeNS(i,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(y,b);v[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(y,b);v[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(y,b);v[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){v[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),v.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){v[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var k=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,T=60103,C=60106,w=60107,S=60108,x=60114,O=60109,_=60110,j=60112,I=60113,N=60120,A=60115,P=60116,D=60121,L=60128,R=60129,M=60130,F=60131;if("function"==typeof Symbol&&Symbol.for){var H=Symbol.for;T=H("react.element"),C=H("react.portal"),w=H("react.fragment"),S=H("react.strict_mode"),x=H("react.profiler"),O=H("react.provider"),_=H("react.context"),j=H("react.forward_ref"),I=H("react.suspense"),N=H("react.suspense_list"),A=H("react.memo"),P=H("react.lazy"),D=H("react.block"),H("react.scope"),L=H("react.opaque.id"),R=H("react.debug_trace_mode"),M=H("react.offscreen"),F=H("react.legacy_hidden")}var B,G="function"==typeof Symbol&&Symbol.iterator;function W(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=G&&e[G]||e["@@iterator"])?e:null}function z(e){if(void 0===B)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);B=t&&t[1]||""}return"\n"+B+e}var U=!1;function V(e,t){if(!e||U)return"";U=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var i=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){i=e}e.call(t.prototype)}else{try{throw Error()}catch(e){i=e}e()}}catch(e){if(e&&i&&"string"==typeof e.stack){for(var r=e.stack.split("\n"),a=i.stack.split("\n"),s=r.length-1,o=a.length-1;1<=s&&0<=o&&r[s]!==a[o];)o--;for(;1<=s&&0<=o;s--,o--)if(r[s]!==a[o]){if(1!==s||1!==o)do{if(s--,0>--o||r[s]!==a[o])return"\n"+r[s].replace(" at new "," at ")}while(1<=s&&0<=o);break}}}finally{U=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?z(e):""}function $(e){switch(e.tag){case 5:return z(e.type);case 16:return z("Lazy");case 13:return z("Suspense");case 19:return z("SuspenseList");case 0:case 2:case 15:return V(e.type,!1);case 11:return V(e.type.render,!1);case 22:return V(e.type._render,!1);case 1:return V(e.type,!0);default:return""}}function Y(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case w:return"Fragment";case C:return"Portal";case x:return"Profiler";case S:return"StrictMode";case I:return"Suspense";case N:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case _:return(e.displayName||"Context")+".Consumer";case O:return(e._context.displayName||"Context")+".Provider";case j:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case A:return Y(e.type);case D:return Y(e._render);case P:t=e._payload,e=e._init;try{return Y(e(t))}catch(e){}}return null}function K(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function q(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function X(e){e._valueTracker||(e._valueTracker=function(e){var t=q(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var r=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){i=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(e){i=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=q(e)?e.checked?"true":"false":e.value),(e=i)!==n&&(t.setValue(e),!0)}function Z(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return r({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,i=null!=t.checked?t.checked:t.defaultChecked;n=K(null!=t.value?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&E(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=K(t.value),i=t.type;if(null!=n)"number"===i?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===i||"reset"===i)return void e.removeAttribute("value");t.hasOwnProperty("value")?re(e,t.type,n):t.hasOwnProperty("defaultValue")&&re(e,t.type,K(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function ie(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!("submit"!==i&&"reset"!==i||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function re(e,t,n){"number"===t&&Z(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function ae(e,t){return e=r({children:void 0},t),(t=function(e){var t="";return i.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function se(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&i&&(e[n].defaultSelected=!0)}else{for(n=""+K(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(i&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function oe(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(s(91));return r({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function le(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(s(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(s(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:K(n)}}function ce(e,t){var n=K(t.value),i=K(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=i&&(e.defaultValue=""+i)}function ue(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var de="http://www.w3.org/1999/xhtml",pe="http://www.w3.org/2000/svg";function fe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function he(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?fe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var me,ge,ve=(ge=function(e,t){if(e.namespaceURI!==pe||"innerHTML"in e)e.innerHTML=t;else{for((me=me||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=me.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,i){MSApp.execUnsafeLocalFunction((function(){return ge(e,t)}))}:ge);function ye(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var be={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ee=["Webkit","ms","Moz","O"];function ke(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||be.hasOwnProperty(e)&&be[e]?(""+t).trim():t+"px"}function Te(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var i=0===n.indexOf("--"),r=ke(n,t[n],i);"float"===n&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}Object.keys(be).forEach((function(e){Ee.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),be[t]=be[e]}))}));var Ce=r({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function we(e,t){if(t){if(Ce[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(s(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(s(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(s(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(s(62))}}function Se(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function xe(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Oe=null,_e=null,je=null;function Ie(e){if(e=er(e)){if("function"!=typeof Oe)throw Error(s(280));var t=e.stateNode;t&&(t=nr(t),Oe(e.stateNode,e.type,t))}}function Ne(e){_e?je?je.push(e):je=[e]:_e=e}function Ae(){if(_e){var e=_e,t=je;if(je=_e=null,Ie(e),t)for(e=0;e<t.length;e++)Ie(t[e])}}function Pe(e,t){return e(t)}function De(e,t,n,i,r){return e(t,n,i,r)}function Le(){}var Re=Pe,Me=!1,Fe=!1;function He(){null===_e&&null===je||(Le(),Ae())}function Be(e,t){var n=e.stateNode;if(null===n)return null;var i=nr(n);if(null===i)return null;n=i[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(i=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!i;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(s(231,t,typeof n));return n}var Ge=!1;if(d)try{var We={};Object.defineProperty(We,"passive",{get:function(){Ge=!0}}),window.addEventListener("test",We,We),window.removeEventListener("test",We,We)}catch(ge){Ge=!1}function ze(e,t,n,i,r,a,s,o,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(e){this.onError(e)}}var Ue=!1,Ve=null,$e=!1,Ye=null,Ke={onError:function(e){Ue=!0,Ve=e}};function qe(e,t,n,i,r,a,s,o,l){Ue=!1,Ve=null,ze.apply(Ke,arguments)}function Xe(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function Ze(e){if(Xe(e)!==e)throw Error(s(188))}function Je(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Xe(e)))throw Error(s(188));return t!==e?null:e}for(var n=e,i=t;;){var r=n.return;if(null===r)break;var a=r.alternate;if(null===a){if(null!==(i=r.return)){n=i;continue}break}if(r.child===a.child){for(a=r.child;a;){if(a===n)return Ze(r),e;if(a===i)return Ze(r),t;a=a.sibling}throw Error(s(188))}if(n.return!==i.return)n=r,i=a;else{for(var o=!1,l=r.child;l;){if(l===n){o=!0,n=r,i=a;break}if(l===i){o=!0,i=r,n=a;break}l=l.sibling}if(!o){for(l=a.child;l;){if(l===n){o=!0,n=a,i=r;break}if(l===i){o=!0,i=a,n=r;break}l=l.sibling}if(!o)throw Error(s(189))}}if(n.alternate!==i)throw Error(s(190))}if(3!==n.tag)throw Error(s(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function et(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var tt,nt,it,rt,at=!1,st=[],ot=null,lt=null,ct=null,ut=new Map,dt=new Map,pt=[],ft="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function ht(e,t,n,i,r){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:r,targetContainers:[i]}}function mt(e,t){switch(e){case"focusin":case"focusout":ot=null;break;case"dragenter":case"dragleave":lt=null;break;case"mouseover":case"mouseout":ct=null;break;case"pointerover":case"pointerout":ut.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":dt.delete(t.pointerId)}}function gt(e,t,n,i,r,a){return null===e||e.nativeEvent!==a?(e=ht(t,n,i,r,a),null!==t&&null!==(t=er(t))&&nt(t),e):(e.eventSystemFlags|=i,t=e.targetContainers,null!==r&&-1===t.indexOf(r)&&t.push(r),e)}function vt(e){var t=Ji(e.target);if(null!==t){var n=Xe(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Qe(n)))return e.blockedOn=t,void rt(e.lanePriority,(function(){a.unstable_runWithPriority(e.priority,(function(){it(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function yt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=er(n))&&nt(t),e.blockedOn=n,!1;t.shift()}return!0}function bt(e,t,n){yt(e)&&n.delete(t)}function Et(){for(at=!1;0<st.length;){var e=st[0];if(null!==e.blockedOn){null!==(e=er(e.blockedOn))&&tt(e);break}for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&st.shift()}null!==ot&&yt(ot)&&(ot=null),null!==lt&&yt(lt)&&(lt=null),null!==ct&&yt(ct)&&(ct=null),ut.forEach(bt),dt.forEach(bt)}function kt(e,t){e.blockedOn===t&&(e.blockedOn=null,at||(at=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Et)))}function Tt(e){function t(t){return kt(t,e)}if(0<st.length){kt(st[0],e);for(var n=1;n<st.length;n++){var i=st[n];i.blockedOn===e&&(i.blockedOn=null)}}for(null!==ot&&kt(ot,e),null!==lt&&kt(lt,e),null!==ct&&kt(ct,e),ut.forEach(t),dt.forEach(t),n=0;n<pt.length;n++)(i=pt[n]).blockedOn===e&&(i.blockedOn=null);for(;0<pt.length&&null===(n=pt[0]).blockedOn;)vt(n),null===n.blockedOn&&pt.shift()}function Ct(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var wt={animationend:Ct("Animation","AnimationEnd"),animationiteration:Ct("Animation","AnimationIteration"),animationstart:Ct("Animation","AnimationStart"),transitionend:Ct("Transition","TransitionEnd")},St={},xt={};function Ot(e){if(St[e])return St[e];if(!wt[e])return e;var t,n=wt[e];for(t in n)if(n.hasOwnProperty(t)&&t in xt)return St[e]=n[t];return e}d&&(xt=document.createElement("div").style,"AnimationEvent"in window||(delete wt.animationend.animation,delete wt.animationiteration.animation,delete wt.animationstart.animation),"TransitionEvent"in window||delete wt.transitionend.transition);var _t=Ot("animationend"),jt=Ot("animationiteration"),It=Ot("animationstart"),Nt=Ot("transitionend"),At=new Map,Pt=new Map,Dt=["abort","abort",_t,"animationEnd",jt,"animationIteration",It,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Nt,"transitionEnd","waiting","waiting"];function Lt(e,t){for(var n=0;n<e.length;n+=2){var i=e[n],r=e[n+1];r="on"+(r[0].toUpperCase()+r.slice(1)),Pt.set(i,t),At.set(i,r),c(r,[i])}}(0,a.unstable_now)();var Rt=8;function Mt(e){if(0!=(1&e))return Rt=15,1;if(0!=(2&e))return Rt=14,2;if(0!=(4&e))return Rt=13,4;var t=24&e;return 0!==t?(Rt=12,t):0!=(32&e)?(Rt=11,32):0!=(t=192&e)?(Rt=10,t):0!=(256&e)?(Rt=9,256):0!=(t=3584&e)?(Rt=8,t):0!=(4096&e)?(Rt=7,4096):0!=(t=4186112&e)?(Rt=6,t):0!=(t=62914560&e)?(Rt=5,t):67108864&e?(Rt=4,67108864):0!=(134217728&e)?(Rt=3,134217728):0!=(t=805306368&e)?(Rt=2,t):0!=(1073741824&e)?(Rt=1,1073741824):(Rt=8,e)}function Ft(e,t){var n=e.pendingLanes;if(0===n)return Rt=0;var i=0,r=0,a=e.expiredLanes,s=e.suspendedLanes,o=e.pingedLanes;if(0!==a)i=a,r=Rt=15;else if(0!=(a=134217727&n)){var l=a&~s;0!==l?(i=Mt(l),r=Rt):0!=(o&=a)&&(i=Mt(o),r=Rt)}else 0!=(a=n&~s)?(i=Mt(a),r=Rt):0!==o&&(i=Mt(o),r=Rt);if(0===i)return 0;if(i=n&((0>(i=31-Ut(i))?0:1<<i)<<1)-1,0!==t&&t!==i&&0==(t&s)){if(Mt(t),r<=Rt)return t;Rt=r}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=i;0<t;)r=1<<(n=31-Ut(t)),i|=e[n],t&=~r;return i}function Ht(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Bt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Gt(24&~t))?Bt(10,t):e;case 10:return 0===(e=Gt(192&~t))?Bt(8,t):e;case 8:return 0===(e=Gt(3584&~t))&&0===(e=Gt(4186112&~t))&&(e=512),e;case 2:return 0===(t=Gt(805306368&~t))&&(t=268435456),t}throw Error(s(358,e))}function Gt(e){return e&-e}function Wt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function zt(e,t,n){e.pendingLanes|=t;var i=t-1;e.suspendedLanes&=i,e.pingedLanes&=i,(e=e.eventTimes)[t=31-Ut(t)]=n}var Ut=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Vt(e)/$t|0)|0},Vt=Math.log,$t=Math.LN2;var Yt=a.unstable_UserBlockingPriority,Kt=a.unstable_runWithPriority,qt=!0;function Xt(e,t,n,i){Me||Le();var r=Zt,a=Me;Me=!0;try{De(r,e,t,n,i)}finally{(Me=a)||He()}}function Qt(e,t,n,i){Kt(Yt,Zt.bind(null,e,t,n,i))}function Zt(e,t,n,i){var r;if(qt)if((r=0==(4&t))&&0<st.length&&-1<ft.indexOf(e))e=ht(null,e,t,n,i),st.push(e);else{var a=Jt(e,t,n,i);if(null===a)r&&mt(e,i);else{if(r){if(-1<ft.indexOf(e))return e=ht(a,e,t,n,i),void st.push(e);if(function(e,t,n,i,r){switch(t){case"focusin":return ot=gt(ot,e,t,n,i,r),!0;case"dragenter":return lt=gt(lt,e,t,n,i,r),!0;case"mouseover":return ct=gt(ct,e,t,n,i,r),!0;case"pointerover":var a=r.pointerId;return ut.set(a,gt(ut.get(a)||null,e,t,n,i,r)),!0;case"gotpointercapture":return a=r.pointerId,dt.set(a,gt(dt.get(a)||null,e,t,n,i,r)),!0}return!1}(a,e,t,n,i))return;mt(e,i)}Ai(e,t,i,null,n)}}}function Jt(e,t,n,i){var r=xe(i);if(null!==(r=Ji(r))){var a=Xe(r);if(null===a)r=null;else{var s=a.tag;if(13===s){if(null!==(r=Qe(a)))return r;r=null}else if(3===s){if(a.stateNode.hydrate)return 3===a.tag?a.stateNode.containerInfo:null;r=null}else a!==r&&(r=null)}}return Ai(e,t,i,r,n),null}var en=null,tn=null,nn=null;function rn(){if(nn)return nn;var e,t,n=tn,i=n.length,r="value"in en?en.value:en.textContent,a=r.length;for(e=0;e<i&&n[e]===r[e];e++);var s=i-e;for(t=1;t<=s&&n[i-t]===r[a-t];t++);return nn=r.slice(e,1<t?1-t:void 0)}function an(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function sn(){return!0}function on(){return!1}function ln(e){function t(t,n,i,r,a){for(var s in this._reactName=t,this._targetInst=i,this.type=n,this.nativeEvent=r,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(r):r[s]);return this.isDefaultPrevented=(null!=r.defaultPrevented?r.defaultPrevented:!1===r.returnValue)?sn:on,this.isPropagationStopped=on,this}return r(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=sn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=sn)},persist:function(){},isPersistent:sn}),t}var cn,un,dn,pn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},fn=ln(pn),hn=r({},pn,{view:0,detail:0}),mn=ln(hn),gn=r({},hn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:On,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==dn&&(dn&&"mousemove"===e.type?(cn=e.screenX-dn.screenX,un=e.screenY-dn.screenY):un=cn=0,dn=e),cn)},movementY:function(e){return"movementY"in e?e.movementY:un}}),vn=ln(gn),yn=ln(r({},gn,{dataTransfer:0})),bn=ln(r({},hn,{relatedTarget:0})),En=ln(r({},pn,{animationName:0,elapsedTime:0,pseudoElement:0})),kn=ln(r({},pn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}})),Tn=ln(r({},pn,{data:0})),Cn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},wn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function xn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function On(){return xn}var _n=ln(r({},hn,{key:function(e){if(e.key){var t=Cn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=an(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?wn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:On,charCode:function(e){return"keypress"===e.type?an(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?an(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}})),jn=ln(r({},gn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),In=ln(r({},hn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:On})),Nn=ln(r({},pn,{propertyName:0,elapsedTime:0,pseudoElement:0})),An=ln(r({},gn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Pn=[9,13,27,32],Dn=d&&"CompositionEvent"in window,Ln=null;d&&"documentMode"in document&&(Ln=document.documentMode);var Rn=d&&"TextEvent"in window&&!Ln,Mn=d&&(!Dn||Ln&&8<Ln&&11>=Ln),Fn=String.fromCharCode(32),Hn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Pn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Gn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Wn=!1;var zn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Un(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!zn[e.type]:"textarea"===t}function Vn(e,t,n,i){Ne(i),0<(t=Di(t,"onChange")).length&&(n=new fn("onChange","change",null,n,i),e.push({event:n,listeners:t}))}var $n=null,Yn=null;function Kn(e){xi(e,0)}function qn(e){if(Q(tr(e)))return e}function Xn(e,t){if("change"===e)return t}var Qn=!1;if(d){var Zn;if(d){var Jn="oninput"in document;if(!Jn){var ei=document.createElement("div");ei.setAttribute("oninput","return;"),Jn="function"==typeof ei.oninput}Zn=Jn}else Zn=!1;Qn=Zn&&(!document.documentMode||9<document.documentMode)}function ti(){$n&&($n.detachEvent("onpropertychange",ni),Yn=$n=null)}function ni(e){if("value"===e.propertyName&&qn(Yn)){var t=[];if(Vn(t,Yn,e,xe(e)),e=Kn,Me)e(t);else{Me=!0;try{Pe(e,t)}finally{Me=!1,He()}}}}function ii(e,t,n){"focusin"===e?(ti(),Yn=n,($n=t).attachEvent("onpropertychange",ni)):"focusout"===e&&ti()}function ri(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return qn(Yn)}function ai(e,t){if("click"===e)return qn(t)}function si(e,t){if("input"===e||"change"===e)return qn(t)}var oi="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},li=Object.prototype.hasOwnProperty;function ci(e,t){if(oi(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++)if(!li.call(t,n[i])||!oi(e[n[i]],t[n[i]]))return!1;return!0}function ui(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function di(e,t){var n,i=ui(e);for(e=0;i;){if(3===i.nodeType){if(n=e+i.textContent.length,e<=t&&n>=t)return{node:i,offset:t-e};e=n}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=ui(i)}}function pi(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?pi(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function fi(){for(var e=window,t=Z();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=Z((e=t.contentWindow).document)}return t}function hi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var mi=d&&"documentMode"in document&&11>=document.documentMode,gi=null,vi=null,yi=null,bi=!1;function Ei(e,t,n){var i=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;bi||null==gi||gi!==Z(i)||(i="selectionStart"in(i=gi)&&hi(i)?{start:i.selectionStart,end:i.selectionEnd}:{anchorNode:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset},yi&&ci(yi,i)||(yi=i,0<(i=Di(vi,"onSelect")).length&&(t=new fn("onSelect","select",null,t,n),e.push({event:t,listeners:i}),t.target=gi)))}Lt("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Lt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Lt(Dt,2);for(var ki="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),Ti=0;Ti<ki.length;Ti++)Pt.set(ki[Ti],0);u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ci="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),wi=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ci));function Si(e,t,n){var i=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,i,r,a,o,l,c){if(qe.apply(this,arguments),Ue){if(!Ue)throw Error(s(198));var u=Ve;Ue=!1,Ve=null,$e||($e=!0,Ye=u)}}(i,t,void 0,e),e.currentTarget=null}function xi(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var i=e[n],r=i.event;i=i.listeners;e:{var a=void 0;if(t)for(var s=i.length-1;0<=s;s--){var o=i[s],l=o.instance,c=o.currentTarget;if(o=o.listener,l!==a&&r.isPropagationStopped())break e;Si(r,o,c),a=l}else for(s=0;s<i.length;s++){if(l=(o=i[s]).instance,c=o.currentTarget,o=o.listener,l!==a&&r.isPropagationStopped())break e;Si(r,o,c),a=l}}}if($e)throw e=Ye,$e=!1,Ye=null,e}function Oi(e,t){var n=ir(t),i=e+"__bubble";n.has(i)||(Ni(t,e,2,!1),n.add(i))}var _i="_reactListening"+Math.random().toString(36).slice(2);function ji(e){e[_i]||(e[_i]=!0,o.forEach((function(t){wi.has(t)||Ii(t,!1,e,null),Ii(t,!0,e,null)})))}function Ii(e,t,n,i){var r=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,a=n;if("selectionchange"===e&&9!==n.nodeType&&(a=n.ownerDocument),null!==i&&!t&&wi.has(e)){if("scroll"!==e)return;r|=2,a=i}var s=ir(a),o=e+"__"+(t?"capture":"bubble");s.has(o)||(t&&(r|=4),Ni(a,e,r,t),s.add(o))}function Ni(e,t,n,i){var r=Pt.get(t);switch(void 0===r?2:r){case 0:r=Xt;break;case 1:r=Qt;break;default:r=Zt}n=r.bind(null,t,n,e),r=void 0,!Ge||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(r=!0),i?void 0!==r?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):void 0!==r?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function Ai(e,t,n,i,r){var a=i;if(0==(1&t)&&0==(2&t)&&null!==i)e:for(;;){if(null===i)return;var s=i.tag;if(3===s||4===s){var o=i.stateNode.containerInfo;if(o===r||8===o.nodeType&&o.parentNode===r)break;if(4===s)for(s=i.return;null!==s;){var l=s.tag;if((3===l||4===l)&&((l=s.stateNode.containerInfo)===r||8===l.nodeType&&l.parentNode===r))return;s=s.return}for(;null!==o;){if(null===(s=Ji(o)))return;if(5===(l=s.tag)||6===l){i=a=s;continue e}o=o.parentNode}}i=i.return}!function(e,t,n){if(Fe)return e(t,n);Fe=!0;try{Re(e,t,n)}finally{Fe=!1,He()}}((function(){var i=a,r=xe(n),s=[];e:{var o=At.get(e);if(void 0!==o){var l=fn,c=e;switch(e){case"keypress":if(0===an(n))break e;case"keydown":case"keyup":l=_n;break;case"focusin":c="focus",l=bn;break;case"focusout":c="blur",l=bn;break;case"beforeblur":case"afterblur":l=bn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=vn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=yn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=In;break;case _t:case jt:case It:l=En;break;case Nt:l=Nn;break;case"scroll":l=mn;break;case"wheel":l=An;break;case"copy":case"cut":case"paste":l=kn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=jn}var u=0!=(4&t),d=!u&&"scroll"===e,p=u?null!==o?o+"Capture":null:o;u=[];for(var f,h=i;null!==h;){var m=(f=h).stateNode;if(5===f.tag&&null!==m&&(f=m,null!==p&&null!=(m=Be(h,p))&&u.push(Pi(h,m,f))),d)break;h=h.return}0<u.length&&(o=new l(o,c,null,n,r),s.push({event:o,listeners:u}))}}if(0==(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(o="mouseover"===e||"pointerover"===e)||0!=(16&t)||!(c=n.relatedTarget||n.fromElement)||!Ji(c)&&!c[Qi])&&(l||o)&&(o=r.window===r?r:(o=r.ownerDocument)?o.defaultView||o.parentWindow:window,l?(l=i,null!==(c=(c=n.relatedTarget||n.toElement)?Ji(c):null)&&(c!==(d=Xe(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=i),l!==c)){if(u=vn,m="onMouseLeave",p="onMouseEnter",h="mouse","pointerout"!==e&&"pointerover"!==e||(u=jn,m="onPointerLeave",p="onPointerEnter",h="pointer"),d=null==l?o:tr(l),f=null==c?o:tr(c),(o=new u(m,h+"leave",l,n,r)).target=d,o.relatedTarget=f,m=null,Ji(r)===i&&((u=new u(p,h+"enter",c,n,r)).target=f,u.relatedTarget=d,m=u),d=m,l&&c)e:{for(p=c,h=0,f=u=l;f;f=Li(f))h++;for(f=0,m=p;m;m=Li(m))f++;for(;0<h-f;)u=Li(u),h--;for(;0<f-h;)p=Li(p),f--;for(;h--;){if(u===p||null!==p&&u===p.alternate)break e;u=Li(u),p=Li(p)}u=null}else u=null;null!==l&&Ri(s,o,l,u,!1),null!==c&&null!==d&&Ri(s,d,c,u,!0)}if("select"===(l=(o=i?tr(i):window).nodeName&&o.nodeName.toLowerCase())||"input"===l&&"file"===o.type)var g=Xn;else if(Un(o))if(Qn)g=si;else{g=ri;var v=ii}else(l=o.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===o.type||"radio"===o.type)&&(g=ai);switch(g&&(g=g(e,i))?Vn(s,g,n,r):(v&&v(e,o,i),"focusout"===e&&(v=o._wrapperState)&&v.controlled&&"number"===o.type&&re(o,"number",o.value)),v=i?tr(i):window,e){case"focusin":(Un(v)||"true"===v.contentEditable)&&(gi=v,vi=i,yi=null);break;case"focusout":yi=vi=gi=null;break;case"mousedown":bi=!0;break;case"contextmenu":case"mouseup":case"dragend":bi=!1,Ei(s,n,r);break;case"selectionchange":if(mi)break;case"keydown":case"keyup":Ei(s,n,r)}var y;if(Dn)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else Wn?Bn(e,n)&&(b="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(b="onCompositionStart");b&&(Mn&&"ko"!==n.locale&&(Wn||"onCompositionStart"!==b?"onCompositionEnd"===b&&Wn&&(y=rn()):(tn="value"in(en=r)?en.value:en.textContent,Wn=!0)),0<(v=Di(i,b)).length&&(b=new Tn(b,e,null,n,r),s.push({event:b,listeners:v}),(y||null!==(y=Gn(n)))&&(b.data=y))),(y=Rn?function(e,t){switch(e){case"compositionend":return Gn(t);case"keypress":return 32!==t.which?null:(Hn=!0,Fn);case"textInput":return(e=t.data)===Fn&&Hn?null:e;default:return null}}(e,n):function(e,t){if(Wn)return"compositionend"===e||!Dn&&Bn(e,t)?(e=rn(),nn=tn=en=null,Wn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Mn&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))&&0<(i=Di(i,"onBeforeInput")).length&&(r=new Tn("onBeforeInput","beforeinput",null,n,r),s.push({event:r,listeners:i}),r.data=y)}xi(s,t)}))}function Pi(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Di(e,t){for(var n=t+"Capture",i=[];null!==e;){var r=e,a=r.stateNode;5===r.tag&&null!==a&&(r=a,null!=(a=Be(e,n))&&i.unshift(Pi(e,a,r)),null!=(a=Be(e,t))&&i.push(Pi(e,a,r))),e=e.return}return i}function Li(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Ri(e,t,n,i,r){for(var a=t._reactName,s=[];null!==n&&n!==i;){var o=n,l=o.alternate,c=o.stateNode;if(null!==l&&l===i)break;5===o.tag&&null!==c&&(o=c,r?null!=(l=Be(n,a))&&s.unshift(Pi(n,l,o)):r||null!=(l=Be(n,a))&&s.push(Pi(n,l,o))),n=n.return}0!==s.length&&e.push({event:t,listeners:s})}function Mi(){}var Fi=null,Hi=null;function Bi(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Gi(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Wi="function"==typeof setTimeout?setTimeout:void 0,zi="function"==typeof clearTimeout?clearTimeout:void 0;function Ui(e){(1===e.nodeType||9===e.nodeType&&null!=(e=e.body))&&(e.textContent="")}function Vi(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function $i(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var Yi=0;var Ki=Math.random().toString(36).slice(2),qi="__reactFiber$"+Ki,Xi="__reactProps$"+Ki,Qi="__reactContainer$"+Ki,Zi="__reactEvents$"+Ki;function Ji(e){var t=e[qi];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Qi]||n[qi]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=$i(e);null!==e;){if(n=e[qi])return n;e=$i(e)}return t}n=(e=n).parentNode}return null}function er(e){return!(e=e[qi]||e[Qi])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function tr(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(s(33))}function nr(e){return e[Xi]||null}function ir(e){var t=e[Zi];return void 0===t&&(t=e[Zi]=new Set),t}var rr=[],ar=-1;function sr(e){return{current:e}}function or(e){0>ar||(e.current=rr[ar],rr[ar]=null,ar--)}function lr(e,t){rr[++ar]=e.current,e.current=t}var cr={},ur=sr(cr),dr=sr(!1),pr=cr;function fr(e,t){var n=e.type.contextTypes;if(!n)return cr;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r,a={};for(r in n)a[r]=t[r];return i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function hr(e){return null!=e.childContextTypes}function mr(){or(dr),or(ur)}function gr(e,t,n){if(ur.current!==cr)throw Error(s(168));lr(ur,t),lr(dr,n)}function vr(e,t,n){var i=e.stateNode;if(e=t.childContextTypes,"function"!=typeof i.getChildContext)return n;for(var a in i=i.getChildContext())if(!(a in e))throw Error(s(108,Y(t)||"Unknown",a));return r({},n,i)}function yr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||cr,pr=ur.current,lr(ur,e),lr(dr,dr.current),!0}function br(e,t,n){var i=e.stateNode;if(!i)throw Error(s(169));n?(e=vr(e,t,pr),i.__reactInternalMemoizedMergedChildContext=e,or(dr),or(ur),lr(ur,e)):or(dr),lr(dr,n)}var Er=null,kr=null,Tr=a.unstable_runWithPriority,Cr=a.unstable_scheduleCallback,wr=a.unstable_cancelCallback,Sr=a.unstable_shouldYield,xr=a.unstable_requestPaint,Or=a.unstable_now,_r=a.unstable_getCurrentPriorityLevel,jr=a.unstable_ImmediatePriority,Ir=a.unstable_UserBlockingPriority,Nr=a.unstable_NormalPriority,Ar=a.unstable_LowPriority,Pr=a.unstable_IdlePriority,Dr={},Lr=void 0!==xr?xr:function(){},Rr=null,Mr=null,Fr=!1,Hr=Or(),Br=1e4>Hr?Or:function(){return Or()-Hr};function Gr(){switch(_r()){case jr:return 99;case Ir:return 98;case Nr:return 97;case Ar:return 96;case Pr:return 95;default:throw Error(s(332))}}function Wr(e){switch(e){case 99:return jr;case 98:return Ir;case 97:return Nr;case 96:return Ar;case 95:return Pr;default:throw Error(s(332))}}function zr(e,t){return e=Wr(e),Tr(e,t)}function Ur(e,t,n){return e=Wr(e),Cr(e,t,n)}function Vr(){if(null!==Mr){var e=Mr;Mr=null,wr(e)}$r()}function $r(){if(!Fr&&null!==Rr){Fr=!0;var e=0;try{var t=Rr;zr(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Rr=null}catch(t){throw null!==Rr&&(Rr=Rr.slice(e+1)),Cr(jr,Vr),t}finally{Fr=!1}}}var Yr=k.ReactCurrentBatchConfig;function Kr(e,t){if(e&&e.defaultProps){for(var n in t=r({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var qr=sr(null),Xr=null,Qr=null,Zr=null;function Jr(){Zr=Qr=Xr=null}function ea(e){var t=qr.current;or(qr),e.type._context._currentValue=t}function ta(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function na(e,t){Xr=e,Zr=Qr=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(Ps=!0),e.firstContext=null)}function ia(e,t){if(Zr!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(Zr=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Qr){if(null===Xr)throw Error(s(308));Qr=t,Xr.dependencies={lanes:0,firstContext:t,responders:null}}else Qr=Qr.next=t;return e._currentValue}var ra=!1;function aa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function sa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function oa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function la(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function ca(e,t){var n=e.updateQueue,i=e.alternate;if(null!==i&&n===(i=i.updateQueue)){var r=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?r=a=s:a=a.next=s,n=n.next}while(null!==n);null===a?r=a=t:a=a.next=t}else r=a=t;return n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:a,shared:i.shared,effects:i.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function ua(e,t,n,i){var a=e.updateQueue;ra=!1;var s=a.firstBaseUpdate,o=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var c=l,u=c.next;c.next=null,null===o?s=u:o.next=u,o=c;var d=e.alternate;if(null!==d){var p=(d=d.updateQueue).lastBaseUpdate;p!==o&&(null===p?d.firstBaseUpdate=u:p.next=u,d.lastBaseUpdate=c)}}if(null!==s){for(p=a.baseState,o=0,d=u=c=null;;){l=s.lane;var f=s.eventTime;if((i&l)===l){null!==d&&(d=d.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var h=e,m=s;switch(l=t,f=n,m.tag){case 1:if("function"==typeof(h=m.payload)){p=h.call(f,p,l);break e}p=h;break e;case 3:h.flags=-4097&h.flags|64;case 0:if(null==(l="function"==typeof(h=m.payload)?h.call(f,p,l):h))break e;p=r({},p,l);break e;case 2:ra=!0}}null!==s.callback&&(e.flags|=32,null===(l=a.effects)?a.effects=[s]:l.push(s))}else f={eventTime:f,lane:l,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===d?(u=d=f,c=p):d=d.next=f,o|=l;if(null===(s=s.next)){if(null===(l=a.shared.pending))break;s=l.next,l.next=null,a.lastBaseUpdate=l,a.shared.pending=null}}null===d&&(c=p),a.baseState=c,a.firstBaseUpdate=u,a.lastBaseUpdate=d,Mo|=o,e.lanes=o,e.memoizedState=p}}function da(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var i=e[t],r=i.callback;if(null!==r){if(i.callback=null,i=n,"function"!=typeof r)throw Error(s(191,r));r.call(i)}}}var pa=(new i.Component).refs;function fa(e,t,n,i){n=null==(n=n(i,t=e.memoizedState))?t:r({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var ha={isMounted:function(e){return!!(e=e._reactInternals)&&Xe(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var i=ll(),r=cl(e),a=oa(i,r);a.payload=t,null!=n&&(a.callback=n),la(e,a),ul(e,r,i)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var i=ll(),r=cl(e),a=oa(i,r);a.tag=1,a.payload=t,null!=n&&(a.callback=n),la(e,a),ul(e,r,i)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ll(),i=cl(e),r=oa(n,i);r.tag=2,null!=t&&(r.callback=t),la(e,r),ul(e,i,n)}};function ma(e,t,n,i,r,a,s){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(i,a,s):!(t.prototype&&t.prototype.isPureReactComponent&&ci(n,i)&&ci(r,a))}function ga(e,t,n){var i=!1,r=cr,a=t.contextType;return"object"==typeof a&&null!==a?a=ia(a):(r=hr(t)?pr:ur.current,a=(i=null!=(i=t.contextTypes))?fr(e,r):cr),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ha,e.stateNode=t,t._reactInternals=e,i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=a),t}function va(e,t,n,i){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,i),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,i),t.state!==e&&ha.enqueueReplaceState(t,t.state,null)}function ya(e,t,n,i){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs=pa,aa(e);var a=t.contextType;"object"==typeof a&&null!==a?r.context=ia(a):(a=hr(t)?pr:ur.current,r.context=fr(e,a)),ua(e,n,r,i),r.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(fa(e,t,a,n),r.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof r.getSnapshotBeforeUpdate||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||(t=r.state,"function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),t!==r.state&&ha.enqueueReplaceState(r,r.state,null),ua(e,n,r,i),r.state=e.memoizedState),"function"==typeof r.componentDidMount&&(e.flags|=4)}var ba=Array.isArray;function Ea(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(s(309));var i=n.stateNode}if(!i)throw Error(s(147,e));var r=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===r?t.ref:((t=function(e){var t=i.refs;t===pa&&(t=i.refs={}),null===e?delete t[r]:t[r]=e})._stringRef=r,t)}if("string"!=typeof e)throw Error(s(284));if(!n._owner)throw Error(s(290,e))}return e}function ka(e,t){if("textarea"!==e.type)throw Error(s(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function Ta(e){function t(t,n){if(e){var i=t.lastEffect;null!==i?(i.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}function n(n,i){if(!e)return null;for(;null!==i;)t(n,i),i=i.sibling;return null}function i(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function r(e,t){return(e=Wl(e,t)).index=0,e.sibling=null,e}function a(t,n,i){return t.index=i,e?null!==(i=t.alternate)?(i=i.index)<n?(t.flags=2,n):i:(t.flags=2,n):n}function o(t){return e&&null===t.alternate&&(t.flags=2),t}function l(e,t,n,i){return null===t||6!==t.tag?((t=$l(n,e.mode,i)).return=e,t):((t=r(t,n)).return=e,t)}function c(e,t,n,i){return null!==t&&t.elementType===n.type?((i=r(t,n.props)).ref=Ea(e,t,n),i.return=e,i):((i=zl(n.type,n.key,n.props,null,e.mode,i)).ref=Ea(e,t,n),i.return=e,i)}function u(e,t,n,i){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Yl(n,e.mode,i)).return=e,t):((t=r(t,n.children||[])).return=e,t)}function d(e,t,n,i,a){return null===t||7!==t.tag?((t=Ul(n,e.mode,i,a)).return=e,t):((t=r(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=$l(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case T:return(n=zl(t.type,t.key,t.props,null,e.mode,n)).ref=Ea(e,null,t),n.return=e,n;case C:return(t=Yl(t,e.mode,n)).return=e,t}if(ba(t)||W(t))return(t=Ul(t,e.mode,n,null)).return=e,t;ka(e,t)}return null}function f(e,t,n,i){var r=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==r?null:l(e,t,""+n,i);if("object"==typeof n&&null!==n){switch(n.$$typeof){case T:return n.key===r?n.type===w?d(e,t,n.props.children,i,r):c(e,t,n,i):null;case C:return n.key===r?u(e,t,n,i):null}if(ba(n)||W(n))return null!==r?null:d(e,t,n,i,null);ka(e,n)}return null}function h(e,t,n,i,r){if("string"==typeof i||"number"==typeof i)return l(t,e=e.get(n)||null,""+i,r);if("object"==typeof i&&null!==i){switch(i.$$typeof){case T:return e=e.get(null===i.key?n:i.key)||null,i.type===w?d(t,e,i.props.children,r,i.key):c(t,e,i,r);case C:return u(t,e=e.get(null===i.key?n:i.key)||null,i,r)}if(ba(i)||W(i))return d(t,e=e.get(n)||null,i,r,null);ka(t,i)}return null}function m(r,s,o,l){for(var c=null,u=null,d=s,m=s=0,g=null;null!==d&&m<o.length;m++){d.index>m?(g=d,d=null):g=d.sibling;var v=f(r,d,o[m],l);if(null===v){null===d&&(d=g);break}e&&d&&null===v.alternate&&t(r,d),s=a(v,s,m),null===u?c=v:u.sibling=v,u=v,d=g}if(m===o.length)return n(r,d),c;if(null===d){for(;m<o.length;m++)null!==(d=p(r,o[m],l))&&(s=a(d,s,m),null===u?c=d:u.sibling=d,u=d);return c}for(d=i(r,d);m<o.length;m++)null!==(g=h(d,r,m,o[m],l))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),s=a(g,s,m),null===u?c=g:u.sibling=g,u=g);return e&&d.forEach((function(e){return t(r,e)})),c}function g(r,o,l,c){var u=W(l);if("function"!=typeof u)throw Error(s(150));if(null==(l=u.call(l)))throw Error(s(151));for(var d=u=null,m=o,g=o=0,v=null,y=l.next();null!==m&&!y.done;g++,y=l.next()){m.index>g?(v=m,m=null):v=m.sibling;var b=f(r,m,y.value,c);if(null===b){null===m&&(m=v);break}e&&m&&null===b.alternate&&t(r,m),o=a(b,o,g),null===d?u=b:d.sibling=b,d=b,m=v}if(y.done)return n(r,m),u;if(null===m){for(;!y.done;g++,y=l.next())null!==(y=p(r,y.value,c))&&(o=a(y,o,g),null===d?u=y:d.sibling=y,d=y);return u}for(m=i(r,m);!y.done;g++,y=l.next())null!==(y=h(m,r,g,y.value,c))&&(e&&null!==y.alternate&&m.delete(null===y.key?g:y.key),o=a(y,o,g),null===d?u=y:d.sibling=y,d=y);return e&&m.forEach((function(e){return t(r,e)})),u}return function(e,i,a,l){var c="object"==typeof a&&null!==a&&a.type===w&&null===a.key;c&&(a=a.props.children);var u="object"==typeof a&&null!==a;if(u)switch(a.$$typeof){case T:e:{for(u=a.key,c=i;null!==c;){if(c.key===u){switch(c.tag){case 7:if(a.type===w){n(e,c.sibling),(i=r(c,a.props.children)).return=e,e=i;break e}break;default:if(c.elementType===a.type){n(e,c.sibling),(i=r(c,a.props)).ref=Ea(e,c,a),i.return=e,e=i;break e}}n(e,c);break}t(e,c),c=c.sibling}a.type===w?((i=Ul(a.props.children,e.mode,l,a.key)).return=e,e=i):((l=zl(a.type,a.key,a.props,null,e.mode,l)).ref=Ea(e,i,a),l.return=e,e=l)}return o(e);case C:e:{for(c=a.key;null!==i;){if(i.key===c){if(4===i.tag&&i.stateNode.containerInfo===a.containerInfo&&i.stateNode.implementation===a.implementation){n(e,i.sibling),(i=r(i,a.children||[])).return=e,e=i;break e}n(e,i);break}t(e,i),i=i.sibling}(i=Yl(a,e.mode,l)).return=e,e=i}return o(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==i&&6===i.tag?(n(e,i.sibling),(i=r(i,a)).return=e,e=i):(n(e,i),(i=$l(a,e.mode,l)).return=e,e=i),o(e);if(ba(a))return m(e,i,a,l);if(W(a))return g(e,i,a,l);if(u&&ka(e,a),void 0===a&&!c)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(s(152,Y(e.type)||"Component"))}return n(e,i)}}var Ca=Ta(!0),wa=Ta(!1),Sa={},xa=sr(Sa),Oa=sr(Sa),_a=sr(Sa);function ja(e){if(e===Sa)throw Error(s(174));return e}function Ia(e,t){switch(lr(_a,t),lr(Oa,e),lr(xa,Sa),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:he(null,"");break;default:t=he(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}or(xa),lr(xa,t)}function Na(){or(xa),or(Oa),or(_a)}function Aa(e){ja(_a.current);var t=ja(xa.current),n=he(t,e.type);t!==n&&(lr(Oa,e),lr(xa,n))}function Pa(e){Oa.current===e&&(or(xa),or(Oa))}var Da=sr(0);function La(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ra=null,Ma=null,Fa=!1;function Ha(e,t){var n=Bl(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Ba(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function Ga(e){if(Fa){var t=Ma;if(t){var n=t;if(!Ba(e,t)){if(!(t=Vi(n.nextSibling))||!Ba(e,t))return e.flags=-1025&e.flags|2,Fa=!1,void(Ra=e);Ha(Ra,n)}Ra=e,Ma=Vi(t.firstChild)}else e.flags=-1025&e.flags|2,Fa=!1,Ra=e}}function Wa(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Ra=e}function za(e){if(e!==Ra)return!1;if(!Fa)return Wa(e),Fa=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Gi(t,e.memoizedProps))for(t=Ma;t;)Ha(e,t),t=Vi(t.nextSibling);if(Wa(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(s(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){Ma=Vi(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}Ma=null}}else Ma=Ra?Vi(e.stateNode.nextSibling):null;return!0}function Ua(){Ma=Ra=null,Fa=!1}var Va=[];function $a(){for(var e=0;e<Va.length;e++)Va[e]._workInProgressVersionPrimary=null;Va.length=0}var Ya=k.ReactCurrentDispatcher,Ka=k.ReactCurrentBatchConfig,qa=0,Xa=null,Qa=null,Za=null,Ja=!1,es=!1;function ts(){throw Error(s(321))}function ns(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!oi(e[n],t[n]))return!1;return!0}function is(e,t,n,i,r,a){if(qa=a,Xa=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Ya.current=null===e||null===e.memoizedState?js:Is,e=n(i,r),es){a=0;do{if(es=!1,!(25>a))throw Error(s(301));a+=1,Za=Qa=null,t.updateQueue=null,Ya.current=Ns,e=n(i,r)}while(es)}if(Ya.current=_s,t=null!==Qa&&null!==Qa.next,qa=0,Za=Qa=Xa=null,Ja=!1,t)throw Error(s(300));return e}function rs(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Za?Xa.memoizedState=Za=e:Za=Za.next=e,Za}function as(){if(null===Qa){var e=Xa.alternate;e=null!==e?e.memoizedState:null}else e=Qa.next;var t=null===Za?Xa.memoizedState:Za.next;if(null!==t)Za=t,Qa=e;else{if(null===e)throw Error(s(310));e={memoizedState:(Qa=e).memoizedState,baseState:Qa.baseState,baseQueue:Qa.baseQueue,queue:Qa.queue,next:null},null===Za?Xa.memoizedState=Za=e:Za=Za.next=e}return Za}function ss(e,t){return"function"==typeof t?t(e):t}function os(e){var t=as(),n=t.queue;if(null===n)throw Error(s(311));n.lastRenderedReducer=e;var i=Qa,r=i.baseQueue,a=n.pending;if(null!==a){if(null!==r){var o=r.next;r.next=a.next,a.next=o}i.baseQueue=r=a,n.pending=null}if(null!==r){r=r.next,i=i.baseState;var l=o=a=null,c=r;do{var u=c.lane;if((qa&u)===u)null!==l&&(l=l.next={lane:0,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null}),i=c.eagerReducer===e?c.eagerState:e(i,c.action);else{var d={lane:u,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null};null===l?(o=l=d,a=i):l=l.next=d,Xa.lanes|=u,Mo|=u}c=c.next}while(null!==c&&c!==r);null===l?a=i:l.next=o,oi(i,t.memoizedState)||(Ps=!0),t.memoizedState=i,t.baseState=a,t.baseQueue=l,n.lastRenderedState=i}return[t.memoizedState,n.dispatch]}function ls(e){var t=as(),n=t.queue;if(null===n)throw Error(s(311));n.lastRenderedReducer=e;var i=n.dispatch,r=n.pending,a=t.memoizedState;if(null!==r){n.pending=null;var o=r=r.next;do{a=e(a,o.action),o=o.next}while(o!==r);oi(a,t.memoizedState)||(Ps=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,i]}function cs(e,t,n){var i=t._getVersion;i=i(t._source);var r=t._workInProgressVersionPrimary;if(null!==r?e=r===i:(e=e.mutableReadLanes,(e=(qa&e)===e)&&(t._workInProgressVersionPrimary=i,Va.push(t))),e)return n(t._source);throw Va.push(t),Error(s(350))}function us(e,t,n,i){var r=jo;if(null===r)throw Error(s(349));var a=t._getVersion,o=a(t._source),l=Ya.current,c=l.useState((function(){return cs(r,t,n)})),u=c[1],d=c[0];c=Za;var p=e.memoizedState,f=p.refs,h=f.getSnapshot,m=p.source;p=p.subscribe;var g=Xa;return e.memoizedState={refs:f,source:t,subscribe:i},l.useEffect((function(){f.getSnapshot=n,f.setSnapshot=u;var e=a(t._source);if(!oi(o,e)){e=n(t._source),oi(d,e)||(u(e),e=cl(g),r.mutableReadLanes|=e&r.pendingLanes),e=r.mutableReadLanes,r.entangledLanes|=e;for(var i=r.entanglements,s=e;0<s;){var l=31-Ut(s),c=1<<l;i[l]|=e,s&=~c}}}),[n,t,i]),l.useEffect((function(){return i(t._source,(function(){var e=f.getSnapshot,n=f.setSnapshot;try{n(e(t._source));var i=cl(g);r.mutableReadLanes|=i&r.pendingLanes}catch(e){n((function(){throw e}))}}))}),[t,i]),oi(h,n)&&oi(m,t)&&oi(p,i)||((e={pending:null,dispatch:null,lastRenderedReducer:ss,lastRenderedState:d}).dispatch=u=Os.bind(null,Xa,e),c.queue=e,c.baseQueue=null,d=cs(r,t,n),c.memoizedState=c.baseState=d),d}function ds(e,t,n){return us(as(),e,t,n)}function ps(e){var t=rs();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ss,lastRenderedState:e}).dispatch=Os.bind(null,Xa,e),[t.memoizedState,e]}function fs(e,t,n,i){return e={tag:e,create:t,destroy:n,deps:i,next:null},null===(t=Xa.updateQueue)?(t={lastEffect:null},Xa.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(i=n.next,n.next=e,e.next=i,t.lastEffect=e),e}function hs(e){return e={current:e},rs().memoizedState=e}function ms(){return as().memoizedState}function gs(e,t,n,i){var r=rs();Xa.flags|=e,r.memoizedState=fs(1|t,n,void 0,void 0===i?null:i)}function vs(e,t,n,i){var r=as();i=void 0===i?null:i;var a=void 0;if(null!==Qa){var s=Qa.memoizedState;if(a=s.destroy,null!==i&&ns(i,s.deps))return void fs(t,n,a,i)}Xa.flags|=e,r.memoizedState=fs(1|t,n,a,i)}function ys(e,t){return gs(516,4,e,t)}function bs(e,t){return vs(516,4,e,t)}function Es(e,t){return vs(4,2,e,t)}function ks(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ts(e,t,n){return n=null!=n?n.concat([e]):null,vs(4,2,ks.bind(null,t,e),n)}function Cs(){}function ws(e,t){var n=as();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&ns(t,i[1])?i[0]:(n.memoizedState=[e,t],e)}function Ss(e,t){var n=as();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&ns(t,i[1])?i[0]:(e=e(),n.memoizedState=[e,t],e)}function xs(e,t){var n=Gr();zr(98>n?98:n,(function(){e(!0)})),zr(97<n?97:n,(function(){var n=Ka.transition;Ka.transition=1;try{e(!1),t()}finally{Ka.transition=n}}))}function Os(e,t,n){var i=ll(),r=cl(e),a={lane:r,action:n,eagerReducer:null,eagerState:null,next:null},s=t.pending;if(null===s?a.next=a:(a.next=s.next,s.next=a),t.pending=a,s=e.alternate,e===Xa||null!==s&&s===Xa)es=Ja=!0;else{if(0===e.lanes&&(null===s||0===s.lanes)&&null!==(s=t.lastRenderedReducer))try{var o=t.lastRenderedState,l=s(o,n);if(a.eagerReducer=s,a.eagerState=l,oi(l,o))return}catch(e){}ul(e,r,i)}}var _s={readContext:ia,useCallback:ts,useContext:ts,useEffect:ts,useImperativeHandle:ts,useLayoutEffect:ts,useMemo:ts,useReducer:ts,useRef:ts,useState:ts,useDebugValue:ts,useDeferredValue:ts,useTransition:ts,useMutableSource:ts,useOpaqueIdentifier:ts,unstable_isNewReconciler:!1},js={readContext:ia,useCallback:function(e,t){return rs().memoizedState=[e,void 0===t?null:t],e},useContext:ia,useEffect:ys,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,gs(4,2,ks.bind(null,t,e),n)},useLayoutEffect:function(e,t){return gs(4,2,e,t)},useMemo:function(e,t){var n=rs();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=rs();return t=void 0!==n?n(t):t,i.memoizedState=i.baseState=t,e=(e=i.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Os.bind(null,Xa,e),[i.memoizedState,e]},useRef:hs,useState:ps,useDebugValue:Cs,useDeferredValue:function(e){var t=ps(e),n=t[0],i=t[1];return ys((function(){var t=Ka.transition;Ka.transition=1;try{i(e)}finally{Ka.transition=t}}),[e]),n},useTransition:function(){var e=ps(!1),t=e[0];return hs(e=xs.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var i=rs();return i.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},us(i,e,t,n)},useOpaqueIdentifier:function(){if(Fa){var e=!1,t=function(e){return{$$typeof:L,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(Yi++).toString(36))),Error(s(355))})),n=ps(t)[1];return 0==(2&Xa.mode)&&(Xa.flags|=516,fs(5,(function(){n("r:"+(Yi++).toString(36))}),void 0,null)),t}return ps(t="r:"+(Yi++).toString(36)),t},unstable_isNewReconciler:!1},Is={readContext:ia,useCallback:ws,useContext:ia,useEffect:bs,useImperativeHandle:Ts,useLayoutEffect:Es,useMemo:Ss,useReducer:os,useRef:ms,useState:function(){return os(ss)},useDebugValue:Cs,useDeferredValue:function(e){var t=os(ss),n=t[0],i=t[1];return bs((function(){var t=Ka.transition;Ka.transition=1;try{i(e)}finally{Ka.transition=t}}),[e]),n},useTransition:function(){var e=os(ss)[0];return[ms().current,e]},useMutableSource:ds,useOpaqueIdentifier:function(){return os(ss)[0]},unstable_isNewReconciler:!1},Ns={readContext:ia,useCallback:ws,useContext:ia,useEffect:bs,useImperativeHandle:Ts,useLayoutEffect:Es,useMemo:Ss,useReducer:ls,useRef:ms,useState:function(){return ls(ss)},useDebugValue:Cs,useDeferredValue:function(e){var t=ls(ss),n=t[0],i=t[1];return bs((function(){var t=Ka.transition;Ka.transition=1;try{i(e)}finally{Ka.transition=t}}),[e]),n},useTransition:function(){var e=ls(ss)[0];return[ms().current,e]},useMutableSource:ds,useOpaqueIdentifier:function(){return ls(ss)[0]},unstable_isNewReconciler:!1},As=k.ReactCurrentOwner,Ps=!1;function Ds(e,t,n,i){t.child=null===e?wa(t,null,n,i):Ca(t,e.child,n,i)}function Ls(e,t,n,i,r){n=n.render;var a=t.ref;return na(t,r),i=is(e,t,n,i,a,r),null===e||Ps?(t.flags|=1,Ds(e,t,i,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~r,eo(e,t,r))}function Rs(e,t,n,i,r,a){if(null===e){var s=n.type;return"function"!=typeof s||Gl(s)||void 0!==s.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=zl(n.type,null,i,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=s,Ms(e,t,s,i,r,a))}return s=e.child,0==(r&a)&&(r=s.memoizedProps,(n=null!==(n=n.compare)?n:ci)(r,i)&&e.ref===t.ref)?eo(e,t,a):(t.flags|=1,(e=Wl(s,i)).ref=t.ref,e.return=t,t.child=e)}function Ms(e,t,n,i,r,a){if(null!==e&&ci(e.memoizedProps,i)&&e.ref===t.ref){if(Ps=!1,0==(a&r))return t.lanes=e.lanes,eo(e,t,a);0!=(16384&e.flags)&&(Ps=!0)}return Bs(e,t,n,i,a)}function Fs(e,t,n){var i=t.pendingProps,r=i.children,a=null!==e?e.memoizedState:null;if("hidden"===i.mode||"unstable-defer-without-hiding"===i.mode)if(0==(4&t.mode))t.memoizedState={baseLanes:0},yl(t,n);else{if(0==(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},yl(t,e),null;t.memoizedState={baseLanes:0},yl(t,null!==a?a.baseLanes:n)}else null!==a?(i=a.baseLanes|n,t.memoizedState=null):i=n,yl(t,i);return Ds(e,t,r,n),t.child}function Hs(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function Bs(e,t,n,i,r){var a=hr(n)?pr:ur.current;return a=fr(t,a),na(t,r),n=is(e,t,n,i,a,r),null===e||Ps?(t.flags|=1,Ds(e,t,n,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~r,eo(e,t,r))}function Gs(e,t,n,i,r){if(hr(n)){var a=!0;yr(t)}else a=!1;if(na(t,r),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),ga(t,n,i),ya(t,n,i,r),i=!0;else if(null===e){var s=t.stateNode,o=t.memoizedProps;s.props=o;var l=s.context,c=n.contextType;c="object"==typeof c&&null!==c?ia(c):fr(t,c=hr(n)?pr:ur.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof s.getSnapshotBeforeUpdate;d||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(o!==i||l!==c)&&va(t,s,i,c),ra=!1;var p=t.memoizedState;s.state=p,ua(t,i,s,r),l=t.memoizedState,o!==i||p!==l||dr.current||ra?("function"==typeof u&&(fa(t,n,u,i),l=t.memoizedState),(o=ra||ma(t,n,o,i,p,l,c))?(d||"function"!=typeof s.UNSAFE_componentWillMount&&"function"!=typeof s.componentWillMount||("function"==typeof s.componentWillMount&&s.componentWillMount(),"function"==typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"==typeof s.componentDidMount&&(t.flags|=4)):("function"==typeof s.componentDidMount&&(t.flags|=4),t.memoizedProps=i,t.memoizedState=l),s.props=i,s.state=l,s.context=c,i=o):("function"==typeof s.componentDidMount&&(t.flags|=4),i=!1)}else{s=t.stateNode,sa(e,t),o=t.memoizedProps,c=t.type===t.elementType?o:Kr(t.type,o),s.props=c,d=t.pendingProps,p=s.context,l="object"==typeof(l=n.contextType)&&null!==l?ia(l):fr(t,l=hr(n)?pr:ur.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(o!==d||p!==l)&&va(t,s,i,l),ra=!1,p=t.memoizedState,s.state=p,ua(t,i,s,r);var h=t.memoizedState;o!==d||p!==h||dr.current||ra?("function"==typeof f&&(fa(t,n,f,i),h=t.memoizedState),(c=ra||ma(t,n,c,i,p,h,l))?(u||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(i,h,l),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(i,h,l)),"function"==typeof s.componentDidUpdate&&(t.flags|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!=typeof s.componentDidUpdate||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=256),t.memoizedProps=i,t.memoizedState=h),s.props=i,s.state=h,s.context=l,i=c):("function"!=typeof s.componentDidUpdate||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=256),i=!1)}return Ws(e,t,n,i,a,r)}function Ws(e,t,n,i,r,a){Hs(e,t);var s=0!=(64&t.flags);if(!i&&!s)return r&&br(t,n,!1),eo(e,t,a);i=t.stateNode,As.current=t;var o=s&&"function"!=typeof n.getDerivedStateFromError?null:i.render();return t.flags|=1,null!==e&&s?(t.child=Ca(t,e.child,null,a),t.child=Ca(t,null,o,a)):Ds(e,t,o,a),t.memoizedState=i.state,r&&br(t,n,!0),t.child}function zs(e){var t=e.stateNode;t.pendingContext?gr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&gr(0,t.context,!1),Ia(e,t.containerInfo)}var Us,Vs,$s,Ys,Ks={dehydrated:null,retryLane:0};function qs(e,t,n){var i,r=t.pendingProps,a=Da.current,s=!1;return(i=0!=(64&t.flags))||(i=(null===e||null!==e.memoizedState)&&0!=(2&a)),i?(s=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===r.fallback||!0===r.unstable_avoidThisFallback||(a|=1),lr(Da,1&a),null===e?(void 0!==r.fallback&&Ga(t),e=r.children,a=r.fallback,s?(e=Xs(t,e,a,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ks,e):"number"==typeof r.unstable_expectedLoadTime?(e=Xs(t,e,a,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ks,t.lanes=33554432,e):((n=Vl({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,s?(r=function(e,t,n,i,r){var a=t.mode,s=e.child;e=s.sibling;var o={mode:"hidden",children:n};return 0==(2&a)&&t.child!==s?((n=t.child).childLanes=0,n.pendingProps=o,null!==(s=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=s,s.nextEffect=null):t.firstEffect=t.lastEffect=null):n=Wl(s,o),null!==e?i=Wl(e,i):(i=Ul(i,a,r,null)).flags|=2,i.return=t,n.return=t,n.sibling=i,t.child=n,i}(e,t,r.children,r.fallback,n),s=t.child,a=e.child.memoizedState,s.memoizedState=null===a?{baseLanes:n}:{baseLanes:a.baseLanes|n},s.childLanes=e.childLanes&~n,t.memoizedState=Ks,r):(n=function(e,t,n,i){var r=e.child;return e=r.sibling,n=Wl(r,{mode:"visible",children:n}),0==(2&t.mode)&&(n.lanes=i),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}(e,t,r.children,n),t.memoizedState=null,n))}function Xs(e,t,n,i){var r=e.mode,a=e.child;return t={mode:"hidden",children:t},0==(2&r)&&null!==a?(a.childLanes=0,a.pendingProps=t):a=Vl(t,r,0,null),n=Ul(n,r,i,null),a.return=e,n.return=e,a.sibling=n,e.child=a,n}function Qs(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),ta(e.return,t)}function Zs(e,t,n,i,r,a){var s=e.memoizedState;null===s?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r,lastEffect:a}:(s.isBackwards=t,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=n,s.tailMode=r,s.lastEffect=a)}function Js(e,t,n){var i=t.pendingProps,r=i.revealOrder,a=i.tail;if(Ds(e,t,i.children,n),0!=(2&(i=Da.current)))i=1&i|2,t.flags|=64;else{if(null!==e&&0!=(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Qs(e,n);else if(19===e.tag)Qs(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if(lr(Da,i),0==(2&t.mode))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===La(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Zs(t,!1,r,n,a,t.lastEffect);break;case"backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===La(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Zs(t,!0,n,null,a,t.lastEffect);break;case"together":Zs(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function eo(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Mo|=t.lanes,0!=(n&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(s(153));if(null!==t.child){for(n=Wl(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Wl(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function to(e,t){if(!Fa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;null!==n;)null!==n.alternate&&(i=n),n=n.sibling;null===i?t||null===e.tail?e.tail=null:e.tail.sibling=null:i.sibling=null}}function no(e,t,n){var i=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return hr(t.type)&&mr(),null;case 3:return Na(),or(dr),or(ur),$a(),(i=t.stateNode).pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),null!==e&&null!==e.child||(za(t)?t.flags|=4:i.hydrate||(t.flags|=256)),Vs(t),null;case 5:Pa(t);var a=ja(_a.current);if(n=t.type,null!==e&&null!=t.stateNode)$s(e,t,n,i,a),e.ref!==t.ref&&(t.flags|=128);else{if(!i){if(null===t.stateNode)throw Error(s(166));return null}if(e=ja(xa.current),za(t)){i=t.stateNode,n=t.type;var o=t.memoizedProps;switch(i[qi]=t,i[Xi]=o,n){case"dialog":Oi("cancel",i),Oi("close",i);break;case"iframe":case"object":case"embed":Oi("load",i);break;case"video":case"audio":for(e=0;e<Ci.length;e++)Oi(Ci[e],i);break;case"source":Oi("error",i);break;case"img":case"image":case"link":Oi("error",i),Oi("load",i);break;case"details":Oi("toggle",i);break;case"input":ee(i,o),Oi("invalid",i);break;case"select":i._wrapperState={wasMultiple:!!o.multiple},Oi("invalid",i);break;case"textarea":le(i,o),Oi("invalid",i)}for(var c in we(n,o),e=null,o)o.hasOwnProperty(c)&&(a=o[c],"children"===c?"string"==typeof a?i.textContent!==a&&(e=["children",a]):"number"==typeof a&&i.textContent!==""+a&&(e=["children",""+a]):l.hasOwnProperty(c)&&null!=a&&"onScroll"===c&&Oi("scroll",i));switch(n){case"input":X(i),ie(i,o,!0);break;case"textarea":X(i),ue(i);break;case"select":case"option":break;default:"function"==typeof o.onClick&&(i.onclick=Mi)}i=e,t.updateQueue=i,null!==i&&(t.flags|=4)}else{switch(c=9===a.nodeType?a:a.ownerDocument,e===de&&(e=fe(n)),e===de?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof i.is?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),"select"===n&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[qi]=t,e[Xi]=i,Us(e,t,!1,!1),t.stateNode=e,c=Se(n,i),n){case"dialog":Oi("cancel",e),Oi("close",e),a=i;break;case"iframe":case"object":case"embed":Oi("load",e),a=i;break;case"video":case"audio":for(a=0;a<Ci.length;a++)Oi(Ci[a],e);a=i;break;case"source":Oi("error",e),a=i;break;case"img":case"image":case"link":Oi("error",e),Oi("load",e),a=i;break;case"details":Oi("toggle",e),a=i;break;case"input":ee(e,i),a=J(e,i),Oi("invalid",e);break;case"option":a=ae(e,i);break;case"select":e._wrapperState={wasMultiple:!!i.multiple},a=r({},i,{value:void 0}),Oi("invalid",e);break;case"textarea":le(e,i),a=oe(e,i),Oi("invalid",e);break;default:a=i}we(n,a);var u=a;for(o in u)if(u.hasOwnProperty(o)){var d=u[o];"style"===o?Te(e,d):"dangerouslySetInnerHTML"===o?null!=(d=d?d.__html:void 0)&&ve(e,d):"children"===o?"string"==typeof d?("textarea"!==n||""!==d)&&ye(e,d):"number"==typeof d&&ye(e,""+d):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(l.hasOwnProperty(o)?null!=d&&"onScroll"===o&&Oi("scroll",e):null!=d&&E(e,o,d,c))}switch(n){case"input":X(e),ie(e,i,!1);break;case"textarea":X(e),ue(e);break;case"option":null!=i.value&&e.setAttribute("value",""+K(i.value));break;case"select":e.multiple=!!i.multiple,null!=(o=i.value)?se(e,!!i.multiple,o,!1):null!=i.defaultValue&&se(e,!!i.multiple,i.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Mi)}Bi(n,i)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Ys(e,t,e.memoizedProps,i);else{if("string"!=typeof i&&null===t.stateNode)throw Error(s(166));n=ja(_a.current),ja(xa.current),za(t)?(i=t.stateNode,n=t.memoizedProps,i[qi]=t,i.nodeValue!==n&&(t.flags|=4)):((i=(9===n.nodeType?n:n.ownerDocument).createTextNode(i))[qi]=t,t.stateNode=i)}return null;case 13:return or(Da),i=t.memoizedState,0!=(64&t.flags)?(t.lanes=n,t):(i=null!==i,n=!1,null===e?void 0!==t.memoizedProps.fallback&&za(t):n=null!==e.memoizedState,i&&!n&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Da.current)?0===Do&&(Do=3):(0!==Do&&3!==Do||(Do=4),null===jo||0==(134217727&Mo)&&0==(134217727&Fo)||hl(jo,No))),(i||n)&&(t.flags|=4),null);case 4:return Na(),Vs(t),null===e&&ji(t.stateNode.containerInfo),null;case 10:return ea(t),null;case 17:return hr(t.type)&&mr(),null;case 19:if(or(Da),null===(i=t.memoizedState))return null;if(o=0!=(64&t.flags),null===(c=i.rendering))if(o)to(i,!1);else{if(0!==Do||null!==e&&0!=(64&e.flags))for(e=t.child;null!==e;){if(null!==(c=La(e))){for(t.flags|=64,to(i,!1),null!==(o=c.updateQueue)&&(t.updateQueue=o,t.flags|=4),null===i.lastEffect&&(t.firstEffect=null),t.lastEffect=i.lastEffect,i=n,n=t.child;null!==n;)e=i,(o=n).flags&=2,o.nextEffect=null,o.firstEffect=null,o.lastEffect=null,null===(c=o.alternate)?(o.childLanes=0,o.lanes=e,o.child=null,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=c.childLanes,o.lanes=c.lanes,o.child=c.child,o.memoizedProps=c.memoizedProps,o.memoizedState=c.memoizedState,o.updateQueue=c.updateQueue,o.type=c.type,e=c.dependencies,o.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return lr(Da,1&Da.current|2),t.child}e=e.sibling}null!==i.tail&&Br()>Wo&&(t.flags|=64,o=!0,to(i,!1),t.lanes=33554432)}else{if(!o)if(null!==(e=La(c))){if(t.flags|=64,o=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),to(i,!0),null===i.tail&&"hidden"===i.tailMode&&!c.alternate&&!Fa)return null!==(t=t.lastEffect=i.lastEffect)&&(t.nextEffect=null),null}else 2*Br()-i.renderingStartTime>Wo&&1073741824!==n&&(t.flags|=64,o=!0,to(i,!1),t.lanes=33554432);i.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=i.last)?n.sibling=c:t.child=c,i.last=c)}return null!==i.tail?(n=i.tail,i.rendering=n,i.tail=n.sibling,i.lastEffect=t.lastEffect,i.renderingStartTime=Br(),n.sibling=null,t=Da.current,lr(Da,o?1&t|2:1&t),n):null;case 23:case 24:return bl(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==i.mode&&(t.flags|=4),null}throw Error(s(156,t.tag))}function io(e){switch(e.tag){case 1:hr(e.type)&&mr();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Na(),or(dr),or(ur),$a(),0!=(64&(t=e.flags)))throw Error(s(285));return e.flags=-4097&t|64,e;case 5:return Pa(e),null;case 13:return or(Da),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return or(Da),null;case 4:return Na(),null;case 10:return ea(e),null;case 23:case 24:return bl(),null;default:return null}}function ro(e,t){try{var n="",i=t;do{n+=$(i),i=i.return}while(i);var r=n}catch(e){r="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:r}}function ao(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}Us=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Vs=function(){},$s=function(e,t,n,i){var a=e.memoizedProps;if(a!==i){e=t.stateNode,ja(xa.current);var s,o=null;switch(n){case"input":a=J(e,a),i=J(e,i),o=[];break;case"option":a=ae(e,a),i=ae(e,i),o=[];break;case"select":a=r({},a,{value:void 0}),i=r({},i,{value:void 0}),o=[];break;case"textarea":a=oe(e,a),i=oe(e,i),o=[];break;default:"function"!=typeof a.onClick&&"function"==typeof i.onClick&&(e.onclick=Mi)}for(d in we(n,i),n=null,a)if(!i.hasOwnProperty(d)&&a.hasOwnProperty(d)&&null!=a[d])if("style"===d){var c=a[d];for(s in c)c.hasOwnProperty(s)&&(n||(n={}),n[s]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(l.hasOwnProperty(d)?o||(o=[]):(o=o||[]).push(d,null));for(d in i){var u=i[d];if(c=null!=a?a[d]:void 0,i.hasOwnProperty(d)&&u!==c&&(null!=u||null!=c))if("style"===d)if(c){for(s in c)!c.hasOwnProperty(s)||u&&u.hasOwnProperty(s)||(n||(n={}),n[s]="");for(s in u)u.hasOwnProperty(s)&&c[s]!==u[s]&&(n||(n={}),n[s]=u[s])}else n||(o||(o=[]),o.push(d,n)),n=u;else"dangerouslySetInnerHTML"===d?(u=u?u.__html:void 0,c=c?c.__html:void 0,null!=u&&c!==u&&(o=o||[]).push(d,u)):"children"===d?"string"!=typeof u&&"number"!=typeof u||(o=o||[]).push(d,""+u):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(l.hasOwnProperty(d)?(null!=u&&"onScroll"===d&&Oi("scroll",e),o||c===u||(o=[])):"object"==typeof u&&null!==u&&u.$$typeof===L?u.toString():(o=o||[]).push(d,u))}n&&(o=o||[]).push("style",n);var d=o;(t.updateQueue=d)&&(t.flags|=4)}},Ys=function(e,t,n,i){n!==i&&(t.flags|=4)};var so="function"==typeof WeakMap?WeakMap:Map;function oo(e,t,n){(n=oa(-1,n)).tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){$o||($o=!0,Yo=i),ao(e,t)},n}function lo(e,t,n){(n=oa(-1,n)).tag=3;var i=e.type.getDerivedStateFromError;if("function"==typeof i){var r=t.value;n.payload=function(){return ao(e,t),i(r)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){"function"!=typeof i&&(null===Ko?Ko=new Set([this]):Ko.add(this),ao(e,t));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:""})}),n}var co="function"==typeof WeakSet?WeakSet:Set;function uo(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){Rl(e,t)}else t.current=null}function po(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,i=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Kr(t.type,n),i),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Ui(t.stateNode.containerInfo));case 5:case 6:case 4:case 17:return}throw Error(s(163))}function fo(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var i=e.create;e.destroy=i()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var r=e;i=r.next,0!=(4&(r=r.tag))&&0!=(1&r)&&(Pl(n,e),Al(n,e)),e=i}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(i=n.elementType===n.type?t.memoizedProps:Kr(n.type,t.memoizedProps),e.componentDidUpdate(i,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&da(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}da(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&Bi(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Tt(n)))));case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(s(163))}function ho(e,t){for(var n=e;;){if(5===n.tag){var i=n.stateNode;if(t)"function"==typeof(i=i.style).setProperty?i.setProperty("display","none","important"):i.display="none";else{i=n.stateNode;var r=n.memoizedProps.style;r=null!=r&&r.hasOwnProperty("display")?r.display:null,i.style.display=ke("display",r)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function mo(e,t){if(kr&&"function"==typeof kr.onCommitFiberUnmount)try{kr.onCommitFiberUnmount(Er,t)}catch(e){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var i=n,r=i.destroy;if(i=i.tag,void 0!==r)if(0!=(4&i))Pl(t,n);else{i=t;try{r()}catch(e){Rl(i,e)}}n=n.next}while(n!==e)}break;case 1:if(uo(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(e){Rl(t,e)}break;case 5:uo(t);break;case 4:ko(e,t)}}function go(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function vo(e){return 5===e.tag||3===e.tag||4===e.tag}function yo(e){e:{for(var t=e.return;null!==t;){if(vo(t))break e;t=t.return}throw Error(s(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var i=!1;break;case 3:case 4:t=t.containerInfo,i=!0;break;default:throw Error(s(161))}16&n.flags&&(ye(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||vo(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}i?bo(e,n,t):Eo(e,n,t)}function bo(e,t,n){var i=e.tag,r=5===i||6===i;if(r)e=r?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Mi));else if(4!==i&&null!==(e=e.child))for(bo(e,t,n),e=e.sibling;null!==e;)bo(e,t,n),e=e.sibling}function Eo(e,t,n){var i=e.tag,r=5===i||6===i;if(r)e=r?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==i&&null!==(e=e.child))for(Eo(e,t,n),e=e.sibling;null!==e;)Eo(e,t,n),e=e.sibling}function ko(e,t){for(var n,i,r=t,a=!1;;){if(!a){a=r.return;e:for(;;){if(null===a)throw Error(s(160));switch(n=a.stateNode,a.tag){case 5:i=!1;break e;case 3:case 4:n=n.containerInfo,i=!0;break e}a=a.return}a=!0}if(5===r.tag||6===r.tag){e:for(var o=e,l=r,c=l;;)if(mo(o,c),null!==c.child&&4!==c.tag)c.child.return=c,c=c.child;else{if(c===l)break e;for(;null===c.sibling;){if(null===c.return||c.return===l)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}i?(o=n,l=r.stateNode,8===o.nodeType?o.parentNode.removeChild(l):o.removeChild(l)):n.removeChild(r.stateNode)}else if(4===r.tag){if(null!==r.child){n=r.stateNode.containerInfo,i=!0,r.child.return=r,r=r.child;continue}}else if(mo(e,r),null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;4===(r=r.return).tag&&(a=!1)}r.sibling.return=r.return,r=r.sibling}}function To(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var i=n=n.next;do{3==(3&i.tag)&&(e=i.destroy,i.destroy=void 0,void 0!==e&&e()),i=i.next}while(i!==n)}return;case 1:return;case 5:if(null!=(n=t.stateNode)){i=t.memoizedProps;var r=null!==e?e.memoizedProps:i;e=t.type;var a=t.updateQueue;if(t.updateQueue=null,null!==a){for(n[Xi]=i,"input"===e&&"radio"===i.type&&null!=i.name&&te(n,i),Se(e,r),t=Se(e,i),r=0;r<a.length;r+=2){var o=a[r],l=a[r+1];"style"===o?Te(n,l):"dangerouslySetInnerHTML"===o?ve(n,l):"children"===o?ye(n,l):E(n,o,l,t)}switch(e){case"input":ne(n,i);break;case"textarea":ce(n,i);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!i.multiple,null!=(a=i.value)?se(n,!!i.multiple,a,!1):e!==!!i.multiple&&(null!=i.defaultValue?se(n,!!i.multiple,i.defaultValue,!0):se(n,!!i.multiple,i.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(s(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,Tt(n.containerInfo)));case 12:return;case 13:return null!==t.memoizedState&&(Go=Br(),ho(t.child,!0)),void Co(t);case 19:return void Co(t);case 17:return;case 23:case 24:return void ho(t,null!==t.memoizedState)}throw Error(s(163))}function Co(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new co),t.forEach((function(t){var i=Fl.bind(null,e,t);n.has(t)||(n.add(t),t.then(i,i))}))}}function wo(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&null!==(t=t.memoizedState)&&null===t.dehydrated}var So=Math.ceil,xo=k.ReactCurrentDispatcher,Oo=k.ReactCurrentOwner,_o=0,jo=null,Io=null,No=0,Ao=0,Po=sr(0),Do=0,Lo=null,Ro=0,Mo=0,Fo=0,Ho=0,Bo=null,Go=0,Wo=1/0;function zo(){Wo=Br()+500}var Uo,Vo=null,$o=!1,Yo=null,Ko=null,qo=!1,Xo=null,Qo=90,Zo=[],Jo=[],el=null,tl=0,nl=null,il=-1,rl=0,al=0,sl=null,ol=!1;function ll(){return 0!=(48&_o)?Br():-1!==il?il:il=Br()}function cl(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Gr()?1:2;if(0===rl&&(rl=Ro),0!==Yr.transition){0!==al&&(al=null!==Bo?Bo.pendingLanes:0),e=rl;var t=4186112&~al;return 0==(t&=-t)&&0==(t=(e=4186112&~e)&-e)&&(t=8192),t}return e=Gr(),e=Bt(0!=(4&_o)&&98===e?12:e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),rl)}function ul(e,t,n){if(50<tl)throw tl=0,nl=null,Error(s(185));if(null===(e=dl(e,t)))return null;zt(e,t,n),e===jo&&(Fo|=t,4===Do&&hl(e,No));var i=Gr();1===t?0!=(8&_o)&&0==(48&_o)?ml(e):(pl(e,n),0===_o&&(zo(),Vr())):(0==(4&_o)||98!==i&&99!==i||(null===el?el=new Set([e]):el.add(e)),pl(e,n)),Bo=e}function dl(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function pl(e,t){for(var n=e.callbackNode,i=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes;0<o;){var l=31-Ut(o),c=1<<l,u=a[l];if(-1===u){if(0==(c&i)||0!=(c&r)){u=t,Mt(c);var d=Rt;a[l]=10<=d?u+250:6<=d?u+5e3:-1}}else u<=t&&(e.expiredLanes|=c);o&=~c}if(i=Ft(e,e===jo?No:0),t=Rt,0===i)null!==n&&(n!==Dr&&wr(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==Dr&&wr(n)}15===t?(n=ml.bind(null,e),null===Rr?(Rr=[n],Mr=Cr(jr,$r)):Rr.push(n),n=Dr):n=14===t?Ur(99,ml.bind(null,e)):Ur(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(s(358,e))}}(t),fl.bind(null,e)),e.callbackPriority=t,e.callbackNode=n}}function fl(e){if(il=-1,al=rl=0,0!=(48&_o))throw Error(s(327));var t=e.callbackNode;if(Nl()&&e.callbackNode!==t)return null;var n=Ft(e,e===jo?No:0);if(0===n)return null;var i=n,r=_o;_o|=16;var a=Tl();for(jo===e&&No===i||(zo(),El(e,i));;)try{Sl();break}catch(t){kl(e,t)}if(Jr(),xo.current=a,_o=r,null!==Io?i=0:(jo=null,No=0,i=Do),0!=(Ro&Fo))El(e,0);else if(0!==i){if(2===i&&(_o|=64,e.hydrate&&(e.hydrate=!1,Ui(e.containerInfo)),0!==(n=Ht(e))&&(i=Cl(e,n))),1===i)throw t=Lo,El(e,0),hl(e,n),pl(e,Br()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,i){case 0:case 1:throw Error(s(345));case 2:_l(e);break;case 3:if(hl(e,n),(62914560&n)===n&&10<(i=Go+500-Br())){if(0!==Ft(e,0))break;if(((r=e.suspendedLanes)&n)!==n){ll(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=Wi(_l.bind(null,e),i);break}_l(e);break;case 4:if(hl(e,n),(4186112&n)===n)break;for(i=e.eventTimes,r=-1;0<n;){var o=31-Ut(n);a=1<<o,(o=i[o])>r&&(r=o),n&=~a}if(n=r,10<(n=(120>(n=Br()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*So(n/1960))-n)){e.timeoutHandle=Wi(_l.bind(null,e),n);break}_l(e);break;case 5:_l(e);break;default:throw Error(s(329))}}return pl(e,Br()),e.callbackNode===t?fl.bind(null,e):null}function hl(e,t){for(t&=~Ho,t&=~Fo,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ut(t),i=1<<n;e[n]=-1,t&=~i}}function ml(e){if(0!=(48&_o))throw Error(s(327));if(Nl(),e===jo&&0!=(e.expiredLanes&No)){var t=No,n=Cl(e,t);0!=(Ro&Fo)&&(n=Cl(e,t=Ft(e,t)))}else n=Cl(e,t=Ft(e,0));if(0!==e.tag&&2===n&&(_o|=64,e.hydrate&&(e.hydrate=!1,Ui(e.containerInfo)),0!==(t=Ht(e))&&(n=Cl(e,t))),1===n)throw n=Lo,El(e,0),hl(e,t),pl(e,Br()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,_l(e),pl(e,Br()),null}function gl(e,t){var n=_o;_o|=1;try{return e(t)}finally{0===(_o=n)&&(zo(),Vr())}}function vl(e,t){var n=_o;_o&=-2,_o|=8;try{return e(t)}finally{0===(_o=n)&&(zo(),Vr())}}function yl(e,t){lr(Po,Ao),Ao|=t,Ro|=t}function bl(){Ao=Po.current,or(Po)}function El(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,zi(n)),null!==Io)for(n=Io.return;null!==n;){var i=n;switch(i.tag){case 1:null!=(i=i.type.childContextTypes)&&mr();break;case 3:Na(),or(dr),or(ur),$a();break;case 5:Pa(i);break;case 4:Na();break;case 13:case 19:or(Da);break;case 10:ea(i);break;case 23:case 24:bl()}n=n.return}jo=e,Io=Wl(e.current,null),No=Ao=Ro=t,Do=0,Lo=null,Ho=Fo=Mo=0}function kl(e,t){for(;;){var n=Io;try{if(Jr(),Ya.current=_s,Ja){for(var i=Xa.memoizedState;null!==i;){var r=i.queue;null!==r&&(r.pending=null),i=i.next}Ja=!1}if(qa=0,Za=Qa=Xa=null,es=!1,Oo.current=null,null===n||null===n.return){Do=1,Lo=t,Io=null;break}e:{var a=e,s=n.return,o=n,l=t;if(t=No,o.flags|=2048,o.firstEffect=o.lastEffect=null,null!==l&&"object"==typeof l&&"function"==typeof l.then){var c=l;if(0==(2&o.mode)){var u=o.alternate;u?(o.updateQueue=u.updateQueue,o.memoizedState=u.memoizedState,o.lanes=u.lanes):(o.updateQueue=null,o.memoizedState=null)}var d=0!=(1&Da.current),p=s;do{var f;if(f=13===p.tag){var h=p.memoizedState;if(null!==h)f=null!==h.dehydrated;else{var m=p.memoizedProps;f=void 0!==m.fallback&&(!0!==m.unstable_avoidThisFallback||!d)}}if(f){var g=p.updateQueue;if(null===g){var v=new Set;v.add(c),p.updateQueue=v}else g.add(c);if(0==(2&p.mode)){if(p.flags|=64,o.flags|=16384,o.flags&=-2981,1===o.tag)if(null===o.alternate)o.tag=17;else{var y=oa(-1,1);y.tag=2,la(o,y)}o.lanes|=1;break e}l=void 0,o=t;var b=a.pingCache;if(null===b?(b=a.pingCache=new so,l=new Set,b.set(c,l)):void 0===(l=b.get(c))&&(l=new Set,b.set(c,l)),!l.has(o)){l.add(o);var E=Ml.bind(null,a,c,o);c.then(E,E)}p.flags|=4096,p.lanes=t;break e}p=p.return}while(null!==p);l=Error((Y(o.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Do&&(Do=2),l=ro(l,o),p=s;do{switch(p.tag){case 3:a=l,p.flags|=4096,t&=-t,p.lanes|=t,ca(p,oo(p,a,t));break e;case 1:a=l;var k=p.type,T=p.stateNode;if(0==(64&p.flags)&&("function"==typeof k.getDerivedStateFromError||null!==T&&"function"==typeof T.componentDidCatch&&(null===Ko||!Ko.has(T)))){p.flags|=4096,t&=-t,p.lanes|=t,ca(p,lo(p,a,t));break e}}p=p.return}while(null!==p)}Ol(n)}catch(e){t=e,Io===n&&null!==n&&(Io=n=n.return);continue}break}}function Tl(){var e=xo.current;return xo.current=_s,null===e?_s:e}function Cl(e,t){var n=_o;_o|=16;var i=Tl();for(jo===e&&No===t||El(e,t);;)try{wl();break}catch(t){kl(e,t)}if(Jr(),_o=n,xo.current=i,null!==Io)throw Error(s(261));return jo=null,No=0,Do}function wl(){for(;null!==Io;)xl(Io)}function Sl(){for(;null!==Io&&!Sr();)xl(Io)}function xl(e){var t=Uo(e.alternate,e,Ao);e.memoizedProps=e.pendingProps,null===t?Ol(e):Io=t,Oo.current=null}function Ol(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(n=no(n,t,Ao)))return void(Io=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!=(1073741824&Ao)||0==(4&n.mode)){for(var i=0,r=n.child;null!==r;)i|=r.lanes|r.childLanes,r=r.sibling;n.childLanes=i}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(n=io(t)))return n.flags&=2047,void(Io=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Io=t);Io=t=e}while(null!==t);0===Do&&(Do=5)}function _l(e){var t=Gr();return zr(99,jl.bind(null,e,t)),null}function jl(e,t){do{Nl()}while(null!==Xo);if(0!=(48&_o))throw Error(s(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(s(177));e.callbackNode=null;var i=n.lanes|n.childLanes,r=i,a=e.pendingLanes&~r;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=r,e.mutableReadLanes&=r,e.entangledLanes&=r,r=e.entanglements;for(var o=e.eventTimes,l=e.expirationTimes;0<a;){var c=31-Ut(a),u=1<<c;r[c]=0,o[c]=-1,l[c]=-1,a&=~u}if(null!==el&&0==(24&i)&&el.has(e)&&el.delete(e),e===jo&&(Io=jo=null,No=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,i=n.firstEffect):i=n:i=n.firstEffect,null!==i){if(r=_o,_o|=32,Oo.current=null,Fi=qt,hi(o=fi())){if("selectionStart"in o)l={start:o.selectionStart,end:o.selectionEnd};else e:if(l=(l=o.ownerDocument)&&l.defaultView||window,(u=l.getSelection&&l.getSelection())&&0!==u.rangeCount){l=u.anchorNode,a=u.anchorOffset,c=u.focusNode,u=u.focusOffset;try{l.nodeType,c.nodeType}catch(e){l=null;break e}var d=0,p=-1,f=-1,h=0,m=0,g=o,v=null;t:for(;;){for(var y;g!==l||0!==a&&3!==g.nodeType||(p=d+a),g!==c||0!==u&&3!==g.nodeType||(f=d+u),3===g.nodeType&&(d+=g.nodeValue.length),null!==(y=g.firstChild);)v=g,g=y;for(;;){if(g===o)break t;if(v===l&&++h===a&&(p=d),v===c&&++m===u&&(f=d),null!==(y=g.nextSibling))break;v=(g=v).parentNode}g=y}l=-1===p||-1===f?null:{start:p,end:f}}else l=null;l=l||{start:0,end:0}}else l=null;Hi={focusedElem:o,selectionRange:l},qt=!1,sl=null,ol=!1,Vo=i;do{try{Il()}catch(e){if(null===Vo)throw Error(s(330));Rl(Vo,e),Vo=Vo.nextEffect}}while(null!==Vo);sl=null,Vo=i;do{try{for(o=e;null!==Vo;){var b=Vo.flags;if(16&b&&ye(Vo.stateNode,""),128&b){var E=Vo.alternate;if(null!==E){var k=E.ref;null!==k&&("function"==typeof k?k(null):k.current=null)}}switch(1038&b){case 2:yo(Vo),Vo.flags&=-3;break;case 6:yo(Vo),Vo.flags&=-3,To(Vo.alternate,Vo);break;case 1024:Vo.flags&=-1025;break;case 1028:Vo.flags&=-1025,To(Vo.alternate,Vo);break;case 4:To(Vo.alternate,Vo);break;case 8:ko(o,l=Vo);var T=l.alternate;go(l),null!==T&&go(T)}Vo=Vo.nextEffect}}catch(e){if(null===Vo)throw Error(s(330));Rl(Vo,e),Vo=Vo.nextEffect}}while(null!==Vo);if(k=Hi,E=fi(),b=k.focusedElem,o=k.selectionRange,E!==b&&b&&b.ownerDocument&&pi(b.ownerDocument.documentElement,b)){null!==o&&hi(b)&&(E=o.start,void 0===(k=o.end)&&(k=E),"selectionStart"in b?(b.selectionStart=E,b.selectionEnd=Math.min(k,b.value.length)):(k=(E=b.ownerDocument||document)&&E.defaultView||window).getSelection&&(k=k.getSelection(),l=b.textContent.length,T=Math.min(o.start,l),o=void 0===o.end?T:Math.min(o.end,l),!k.extend&&T>o&&(l=o,o=T,T=l),l=di(b,T),a=di(b,o),l&&a&&(1!==k.rangeCount||k.anchorNode!==l.node||k.anchorOffset!==l.offset||k.focusNode!==a.node||k.focusOffset!==a.offset)&&((E=E.createRange()).setStart(l.node,l.offset),k.removeAllRanges(),T>o?(k.addRange(E),k.extend(a.node,a.offset)):(E.setEnd(a.node,a.offset),k.addRange(E))))),E=[];for(k=b;k=k.parentNode;)1===k.nodeType&&E.push({element:k,left:k.scrollLeft,top:k.scrollTop});for("function"==typeof b.focus&&b.focus(),b=0;b<E.length;b++)(k=E[b]).element.scrollLeft=k.left,k.element.scrollTop=k.top}qt=!!Fi,Hi=Fi=null,e.current=n,Vo=i;do{try{for(b=e;null!==Vo;){var C=Vo.flags;if(36&C&&fo(b,Vo.alternate,Vo),128&C){E=void 0;var w=Vo.ref;if(null!==w){var S=Vo.stateNode;switch(Vo.tag){case 5:E=S;break;default:E=S}"function"==typeof w?w(E):w.current=E}}Vo=Vo.nextEffect}}catch(e){if(null===Vo)throw Error(s(330));Rl(Vo,e),Vo=Vo.nextEffect}}while(null!==Vo);Vo=null,Lr(),_o=r}else e.current=n;if(qo)qo=!1,Xo=e,Qo=t;else for(Vo=i;null!==Vo;)t=Vo.nextEffect,Vo.nextEffect=null,8&Vo.flags&&((C=Vo).sibling=null,C.stateNode=null),Vo=t;if(0===(i=e.pendingLanes)&&(Ko=null),1===i?e===nl?tl++:(tl=0,nl=e):tl=0,n=n.stateNode,kr&&"function"==typeof kr.onCommitFiberRoot)try{kr.onCommitFiberRoot(Er,n,void 0,64==(64&n.current.flags))}catch(e){}if(pl(e,Br()),$o)throw $o=!1,e=Yo,Yo=null,e;return 0!=(8&_o)||Vr(),null}function Il(){for(;null!==Vo;){var e=Vo.alternate;ol||null===sl||(0!=(8&Vo.flags)?et(Vo,sl)&&(ol=!0):13===Vo.tag&&wo(e,Vo)&&et(Vo,sl)&&(ol=!0));var t=Vo.flags;0!=(256&t)&&po(e,Vo),0==(512&t)||qo||(qo=!0,Ur(97,(function(){return Nl(),null}))),Vo=Vo.nextEffect}}function Nl(){if(90!==Qo){var e=97<Qo?97:Qo;return Qo=90,zr(e,Dl)}return!1}function Al(e,t){Zo.push(t,e),qo||(qo=!0,Ur(97,(function(){return Nl(),null})))}function Pl(e,t){Jo.push(t,e),qo||(qo=!0,Ur(97,(function(){return Nl(),null})))}function Dl(){if(null===Xo)return!1;var e=Xo;if(Xo=null,0!=(48&_o))throw Error(s(331));var t=_o;_o|=32;var n=Jo;Jo=[];for(var i=0;i<n.length;i+=2){var r=n[i],a=n[i+1],o=r.destroy;if(r.destroy=void 0,"function"==typeof o)try{o()}catch(e){if(null===a)throw Error(s(330));Rl(a,e)}}for(n=Zo,Zo=[],i=0;i<n.length;i+=2){r=n[i],a=n[i+1];try{var l=r.create;r.destroy=l()}catch(e){if(null===a)throw Error(s(330));Rl(a,e)}}for(l=e.current.firstEffect;null!==l;)e=l.nextEffect,l.nextEffect=null,8&l.flags&&(l.sibling=null,l.stateNode=null),l=e;return _o=t,Vr(),!0}function Ll(e,t,n){la(e,t=oo(e,t=ro(n,t),1)),t=ll(),null!==(e=dl(e,1))&&(zt(e,1,t),pl(e,t))}function Rl(e,t){if(3===e.tag)Ll(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){Ll(n,e,t);break}if(1===n.tag){var i=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof i.componentDidCatch&&(null===Ko||!Ko.has(i))){var r=lo(n,e=ro(t,e),1);if(la(n,r),r=ll(),null!==(n=dl(n,1)))zt(n,1,r),pl(n,r);else if("function"==typeof i.componentDidCatch&&(null===Ko||!Ko.has(i)))try{i.componentDidCatch(t,e)}catch(e){}break}}n=n.return}}function Ml(e,t,n){var i=e.pingCache;null!==i&&i.delete(t),t=ll(),e.pingedLanes|=e.suspendedLanes&n,jo===e&&(No&n)===n&&(4===Do||3===Do&&(62914560&No)===No&&500>Br()-Go?El(e,0):Ho|=n),pl(e,t)}function Fl(e,t){var n=e.stateNode;null!==n&&n.delete(t),0==(t=0)&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===Gr()?1:2:(0===rl&&(rl=Ro),0===(t=Gt(62914560&~rl))&&(t=4194304))),n=ll(),null!==(e=dl(e,t))&&(zt(e,t,n),pl(e,n))}function Hl(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Bl(e,t,n,i){return new Hl(e,t,n,i)}function Gl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Wl(e,t){var n=e.alternate;return null===n?((n=Bl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function zl(e,t,n,i,r,a){var o=2;if(i=e,"function"==typeof e)Gl(e)&&(o=1);else if("string"==typeof e)o=5;else e:switch(e){case w:return Ul(n.children,r,a,t);case R:o=8,r|=16;break;case S:o=8,r|=1;break;case x:return(e=Bl(12,n,t,8|r)).elementType=x,e.type=x,e.lanes=a,e;case I:return(e=Bl(13,n,t,r)).type=I,e.elementType=I,e.lanes=a,e;case N:return(e=Bl(19,n,t,r)).elementType=N,e.lanes=a,e;case M:return Vl(n,r,a,t);case F:return(e=Bl(24,n,t,r)).elementType=F,e.lanes=a,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case O:o=10;break e;case _:o=9;break e;case j:o=11;break e;case A:o=14;break e;case P:o=16,i=null;break e;case D:o=22;break e}throw Error(s(130,null==e?e:typeof e,""))}return(t=Bl(o,n,t,r)).elementType=e,t.type=i,t.lanes=a,t}function Ul(e,t,n,i){return(e=Bl(7,e,i,t)).lanes=n,e}function Vl(e,t,n,i){return(e=Bl(23,e,i,t)).elementType=M,e.lanes=n,e}function $l(e,t,n){return(e=Bl(6,e,null,t)).lanes=n,e}function Yl(e,t,n){return(t=Bl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Kl(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Wt(0),this.expirationTimes=Wt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Wt(0),this.mutableSourceEagerHydrationData=null}function ql(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:C,key:null==i?null:""+i,children:e,containerInfo:t,implementation:n}}function Xl(e,t,n,i){var r=t.current,a=ll(),o=cl(r);e:if(n){t:{if(Xe(n=n._reactInternals)!==n||1!==n.tag)throw Error(s(170));var l=n;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(hr(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(s(171))}if(1===n.tag){var c=n.type;if(hr(c)){n=vr(n,c,l);break e}}n=l}else n=cr;return null===t.context?t.context=n:t.pendingContext=n,(t=oa(a,o)).payload={element:e},null!==(i=void 0===i?null:i)&&(t.callback=i),la(r,t),ul(r,o,a),o}function Ql(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Zl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Jl(e,t){Zl(e,t),(e=e.alternate)&&Zl(e,t)}function ec(e,t,n){var i=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Kl(e,t,null!=n&&!0===n.hydrate),t=Bl(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,aa(t),e[Qi]=n.current,ji(8===e.nodeType?e.parentNode:e),i)for(e=0;e<i.length;e++){var r=(t=i[e])._getVersion;r=r(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,r]:n.mutableSourceEagerHydrationData.push(t,r)}this._internalRoot=n}function tc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function nc(e,t,n,i,r){var a=n._reactRootContainer;if(a){var s=a._internalRoot;if("function"==typeof r){var o=r;r=function(){var e=Ql(s);o.call(e)}}Xl(t,s,e,r)}else{if(a=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new ec(e,0,t?{hydrate:!0}:void 0)}(n,i),s=a._internalRoot,"function"==typeof r){var l=r;r=function(){var e=Ql(s);l.call(e)}}vl((function(){Xl(t,s,e,r)}))}return Ql(s)}function ic(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!tc(t))throw Error(s(200));return ql(e,t,null,n)}Uo=function(e,t,n){var i=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||dr.current)Ps=!0;else{if(0==(n&i)){switch(Ps=!1,t.tag){case 3:zs(t),Ua();break;case 5:Aa(t);break;case 1:hr(t.type)&&yr(t);break;case 4:Ia(t,t.stateNode.containerInfo);break;case 10:i=t.memoizedProps.value;var r=t.type._context;lr(qr,r._currentValue),r._currentValue=i;break;case 13:if(null!==t.memoizedState)return 0!=(n&t.child.childLanes)?qs(e,t,n):(lr(Da,1&Da.current),null!==(t=eo(e,t,n))?t.sibling:null);lr(Da,1&Da.current);break;case 19:if(i=0!=(n&t.childLanes),0!=(64&e.flags)){if(i)return Js(e,t,n);t.flags|=64}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null,r.lastEffect=null),lr(Da,Da.current),i)break;return null;case 23:case 24:return t.lanes=0,Fs(e,t,n)}return eo(e,t,n)}Ps=0!=(16384&e.flags)}else Ps=!1;switch(t.lanes=0,t.tag){case 2:if(i=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,r=fr(t,ur.current),na(t,n),r=is(null,t,i,e,r,n),t.flags|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,hr(i)){var a=!0;yr(t)}else a=!1;t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,aa(t);var o=i.getDerivedStateFromProps;"function"==typeof o&&fa(t,i,o,e),r.updater=ha,t.stateNode=r,r._reactInternals=t,ya(t,i,e,n),t=Ws(null,t,i,!0,a,n)}else t.tag=0,Ds(null,t,r,n),t=t.child;return t;case 16:r=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"==typeof e)return Gl(e)?1:0;if(null!=e){if((e=e.$$typeof)===j)return 11;if(e===A)return 14}return 2}(r),e=Kr(r,e),a){case 0:t=Bs(null,t,r,e,n);break e;case 1:t=Gs(null,t,r,e,n);break e;case 11:t=Ls(null,t,r,e,n);break e;case 14:t=Rs(null,t,r,Kr(r.type,e),i,n);break e}throw Error(s(306,r,""))}return t;case 0:return i=t.type,r=t.pendingProps,Bs(e,t,i,r=t.elementType===i?r:Kr(i,r),n);case 1:return i=t.type,r=t.pendingProps,Gs(e,t,i,r=t.elementType===i?r:Kr(i,r),n);case 3:if(zs(t),i=t.updateQueue,null===e||null===i)throw Error(s(282));if(i=t.pendingProps,r=null!==(r=t.memoizedState)?r.element:null,sa(e,t),ua(t,i,null,n),(i=t.memoizedState.element)===r)Ua(),t=eo(e,t,n);else{if((a=(r=t.stateNode).hydrate)&&(Ma=Vi(t.stateNode.containerInfo.firstChild),Ra=t,a=Fa=!0),a){if(null!=(e=r.mutableSourceEagerHydrationData))for(r=0;r<e.length;r+=2)(a=e[r])._workInProgressVersionPrimary=e[r+1],Va.push(a);for(n=wa(t,null,i,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else Ds(e,t,i,n),Ua();t=t.child}return t;case 5:return Aa(t),null===e&&Ga(t),i=t.type,r=t.pendingProps,a=null!==e?e.memoizedProps:null,o=r.children,Gi(i,r)?o=null:null!==a&&Gi(i,a)&&(t.flags|=16),Hs(e,t),Ds(e,t,o,n),t.child;case 6:return null===e&&Ga(t),null;case 13:return qs(e,t,n);case 4:return Ia(t,t.stateNode.containerInfo),i=t.pendingProps,null===e?t.child=Ca(t,null,i,n):Ds(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,Ls(e,t,i,r=t.elementType===i?r:Kr(i,r),n);case 7:return Ds(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ds(e,t,t.pendingProps.children,n),t.child;case 10:e:{i=t.type._context,r=t.pendingProps,o=t.memoizedProps,a=r.value;var l=t.type._context;if(lr(qr,l._currentValue),l._currentValue=a,null!==o)if(l=o.value,0==(a=oi(l,a)?0:0|("function"==typeof i._calculateChangedBits?i._calculateChangedBits(l,a):1073741823))){if(o.children===r.children&&!dr.current){t=eo(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var c=l.dependencies;if(null!==c){o=l.child;for(var u=c.firstContext;null!==u;){if(u.context===i&&0!=(u.observedBits&a)){1===l.tag&&((u=oa(-1,n&-n)).tag=2,la(l,u)),l.lanes|=n,null!==(u=l.alternate)&&(u.lanes|=n),ta(l.return,n),c.lanes|=n;break}u=u.next}}else o=10===l.tag&&l.type===t.type?null:l.child;if(null!==o)o.return=l;else for(o=l;null!==o;){if(o===t){o=null;break}if(null!==(l=o.sibling)){l.return=o.return,o=l;break}o=o.return}l=o}Ds(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=(a=t.pendingProps).children,na(t,n),i=i(r=ia(r,a.unstable_observedBits)),t.flags|=1,Ds(e,t,i,n),t.child;case 14:return a=Kr(r=t.type,t.pendingProps),Rs(e,t,r,a=Kr(r.type,a),i,n);case 15:return Ms(e,t,t.type,t.pendingProps,i,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:Kr(i,r),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,hr(i)?(e=!0,yr(t)):e=!1,na(t,n),ga(t,i,r),ya(t,i,r,n),Ws(null,t,i,!0,e,n);case 19:return Js(e,t,n);case 23:case 24:return Fs(e,t,n)}throw Error(s(156,t.tag))},ec.prototype.render=function(e){Xl(e,this._internalRoot,null,null)},ec.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Xl(null,e,null,(function(){t[Qi]=null}))},tt=function(e){13===e.tag&&(ul(e,4,ll()),Jl(e,4))},nt=function(e){13===e.tag&&(ul(e,67108864,ll()),Jl(e,67108864))},it=function(e){if(13===e.tag){var t=ll(),n=cl(e);ul(e,n,t),Jl(e,n)}},rt=function(e,t){return t()},Oe=function(e,t,n){switch(t){case"input":if(ne(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var r=nr(i);if(!r)throw Error(s(90));Q(i),ne(i,r)}}}break;case"textarea":ce(e,n);break;case"select":null!=(t=n.value)&&se(e,!!n.multiple,t,!1)}},Pe=gl,De=function(e,t,n,i,r){var a=_o;_o|=4;try{return zr(98,e.bind(null,t,n,i,r))}finally{0===(_o=a)&&(zo(),Vr())}},Le=function(){0==(49&_o)&&(function(){if(null!==el){var e=el;el=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,pl(e,Br())}))}Vr()}(),Nl())},Re=function(e,t){var n=_o;_o|=2;try{return e(t)}finally{0===(_o=n)&&(zo(),Vr())}};var rc={Events:[er,tr,nr,Ne,Ae,Nl,{current:!1}]},ac={findFiberByHostInstance:Ji,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},sc={bundleType:ac.bundleType,version:ac.version,rendererPackageName:ac.rendererPackageName,rendererConfig:ac.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:k.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Je(e))?null:e.stateNode},findFiberByHostInstance:ac.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var oc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!oc.isDisabled&&oc.supportsFiber)try{Er=oc.inject(sc),kr=oc}catch(ge){}}n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=rc,n.createPortal=ic,n.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(s(188));throw Error(s(268,Object.keys(e)))}return null===(e=Je(t))?null:e.stateNode},n.flushSync=function(e,t){var n=_o;if(0!=(48&n))return e(t);_o|=1;try{if(e)return zr(99,e.bind(null,t))}finally{_o=n,Vr()}},n.hydrate=function(e,t,n){if(!tc(t))throw Error(s(200));return nc(null,e,t,!0,n)},n.render=function(e,t,n){if(!tc(t))throw Error(s(200));return nc(null,e,t,!1,n)},n.unmountComponentAtNode=function(e){if(!tc(e))throw Error(s(40));return!!e._reactRootContainer&&(vl((function(){nc(null,null,e,!1,(function(){e._reactRootContainer=null,e[Qi]=null}))})),!0)},n.unstable_batchedUpdates=gl,n.unstable_createPortal=function(e,t){return ic(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},n.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!tc(n))throw Error(s(200));if(null==e||void 0===e._reactInternals)throw Error(s(38));return nc(e,t,n,!1,i)},n.version="17.0.2"},{"object-assign":70,react:107,scheduler:111}],75:[function(e,t,n){"use strict";(function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}})(),t.exports=e("./cjs/react-dom.production.min.js")},{"./cjs/react-dom.production.min.js":74}],76:[function(e,t,n){"use strict";var i="function"==typeof Symbol&&Symbol.for,r=i?Symbol.for("react.element"):60103,a=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,o=i?Symbol.for("react.strict_mode"):60108,l=i?Symbol.for("react.profiler"):60114,c=i?Symbol.for("react.provider"):60109,u=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,p=i?Symbol.for("react.concurrent_mode"):60111,f=i?Symbol.for("react.forward_ref"):60112,h=i?Symbol.for("react.suspense"):60113,m=i?Symbol.for("react.suspense_list"):60120,g=i?Symbol.for("react.memo"):60115,v=i?Symbol.for("react.lazy"):60116,y=i?Symbol.for("react.block"):60121,b=i?Symbol.for("react.fundamental"):60117,E=i?Symbol.for("react.responder"):60118,k=i?Symbol.for("react.scope"):60119;function T(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case d:case p:case s:case l:case o:case h:return e;default:switch(e=e&&e.$$typeof){case u:case f:case v:case g:case c:return e;default:return t}}case a:return t}}}function C(e){return T(e)===p}n.AsyncMode=d,n.ConcurrentMode=p,n.ContextConsumer=u,n.ContextProvider=c,n.Element=r,n.ForwardRef=f,n.Fragment=s,n.Lazy=v,n.Memo=g,n.Portal=a,n.Profiler=l,n.StrictMode=o,n.Suspense=h,n.isAsyncMode=function(e){return C(e)||T(e)===d},n.isConcurrentMode=C,n.isContextConsumer=function(e){return T(e)===u},n.isContextProvider=function(e){return T(e)===c},n.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},n.isForwardRef=function(e){return T(e)===f},n.isFragment=function(e){return T(e)===s},n.isLazy=function(e){return T(e)===v},n.isMemo=function(e){return T(e)===g},n.isPortal=function(e){return T(e)===a},n.isProfiler=function(e){return T(e)===l},n.isStrictMode=function(e){return T(e)===o},n.isSuspense=function(e){return T(e)===h},n.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===s||e===p||e===l||e===o||e===h||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===g||e.$$typeof===c||e.$$typeof===u||e.$$typeof===f||e.$$typeof===b||e.$$typeof===E||e.$$typeof===k||e.$$typeof===y)},n.typeOf=T},{}],77:[function(e,t,n){"use strict";t.exports=e("./cjs/react-is.production.min.js")},{"./cjs/react-is.production.min.js":76}],78:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=n.ReactReduxContext=void 0;var r=i(e("react")).default.createContext(null);n.ReactReduxContext=r;var a=r;n.default=a},{"@babel/runtime/helpers/interopRequireDefault":62,react:107}],79:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default,r=e("@babel/runtime/helpers/interopRequireWildcard").default;n.__esModule=!0,n.default=void 0;var a=r(e("react")),s=(i(e("prop-types")),e("./Context")),o=e("../utils/Subscription"),l=e("../utils/useIsomorphicLayoutEffect");var c=function(e){var t=e.store,n=e.context,i=e.children,r=(0,a.useMemo)((function(){var e=(0,o.createSubscription)(t);return{store:t,subscription:e}}),[t]),c=(0,a.useMemo)((function(){return t.getState()}),[t]);(0,l.useIsomorphicLayoutEffect)((function(){var e=r.subscription;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),c!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[r,c]);var u=n||s.ReactReduxContext;return a.default.createElement(u.Provider,{value:r},i)};n.default=c},{"../utils/Subscription":94,"../utils/useIsomorphicLayoutEffect":100,"./Context":78,"@babel/runtime/helpers/interopRequireDefault":62,"@babel/runtime/helpers/interopRequireWildcard":63,"prop-types":72,react:107}],80:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default,r=e("@babel/runtime/helpers/interopRequireWildcard").default;n.__esModule=!0,n.default=function(e,t){void 0===t&&(t={});var n=t,i=n.getDisplayName,r=void 0===i?function(e){return"ConnectAdvanced("+e+")"}:i,d=n.methodName,T=void 0===d?"connectAdvanced":d,C=n.renderCountProp,w=void 0===C?void 0:C,S=n.shouldHandleStateChanges,x=void 0===S||S,O=n.storeKey,_=void 0===O?"store":O,j=(n.withRef,n.forwardRef),I=void 0!==j&&j,N=n.context,A=void 0===N?p.ReactReduxContext:N,P=(0,s.default)(n,f),D=A;return function(t){var n=t.displayName||t.name||"Component",i=r(n),d=(0,a.default)({},P,{getDisplayName:r,methodName:T,renderCountProp:w,shouldHandleStateChanges:x,storeKey:_,displayName:i,wrappedComponentName:n,WrappedComponent:t}),p=P.pure,f=p?l.useMemo:function(e){return e()};function C(n){var i=(0,l.useMemo)((function(){var e=n.reactReduxForwardedRef,t=(0,s.default)(n,h);return[n.context,e,t]}),[n]),r=i[0],o=i[1],p=i[2],T=(0,l.useMemo)((function(){return r&&r.Consumer&&(0,c.isContextConsumer)(l.default.createElement(r.Consumer,null))?r:D}),[r,D]),C=(0,l.useContext)(T),w=Boolean(n.store)&&Boolean(n.store.getState)&&Boolean(n.store.dispatch);Boolean(C)&&Boolean(C.store);var S=w?n.store:C.store,O=(0,l.useMemo)((function(){return function(t){return e(t.dispatch,d)}(S)}),[S]),_=(0,l.useMemo)((function(){if(!x)return g;var e=(0,u.createSubscription)(S,w?null:C.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[S,w,C]),j=_[0],I=_[1],N=(0,l.useMemo)((function(){return w?C:(0,a.default)({},C,{subscription:j})}),[w,C,j]),A=(0,l.useReducer)(v,m,k),P=A[0][0],L=A[1];if(P&&P.error)throw P.error;var R=(0,l.useRef)(),M=(0,l.useRef)(p),F=(0,l.useRef)(),H=(0,l.useRef)(!1),B=f((function(){return F.current&&p===M.current?F.current:O(S.getState(),p)}),[S,P,p]);y(b,[M,R,H,p,B,F,I]),y(E,[x,S,j,O,M,R,H,F,I,L],[S,j,O]);var G=(0,l.useMemo)((function(){return l.default.createElement(t,(0,a.default)({},B,{ref:o}))}),[o,t,B]);return(0,l.useMemo)((function(){return x?l.default.createElement(T.Provider,{value:N},G):G}),[T,G,N])}var S=p?l.default.memo(C):C;if(S.WrappedComponent=t,S.displayName=C.displayName=i,I){var O=l.default.forwardRef((function(e,t){return l.default.createElement(S,(0,a.default)({},e,{reactReduxForwardedRef:t}))}));return O.displayName=i,O.WrappedComponent=t,(0,o.default)(O,t)}return(0,o.default)(S,t)}};var a=i(e("@babel/runtime/helpers/extends")),s=i(e("@babel/runtime/helpers/objectWithoutPropertiesLoose")),o=i(e("hoist-non-react-statics")),l=r(e("react")),c=e("react-is"),u=e("../utils/Subscription"),d=e("../utils/useIsomorphicLayoutEffect"),p=e("./Context"),f=["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"],h=["reactReduxForwardedRef"],m=[],g=[null,null];function v(e,t){var n=e[1];return[t.payload,n+1]}function y(e,t,n){(0,d.useIsomorphicLayoutEffect)((function(){return e.apply(void 0,t)}),n)}function b(e,t,n,i,r,a,s){e.current=i,t.current=r,n.current=!1,a.current&&(a.current=null,s())}function E(e,t,n,i,r,a,s,o,l,c){if(e){var u=!1,d=null,p=function(){if(!u){var e,n,p=t.getState();try{e=i(p,r.current)}catch(e){n=e,d=e}n||(d=null),e===a.current?s.current||l():(a.current=e,o.current=e,s.current=!0,c({type:"STORE_UPDATED",payload:{error:n}}))}};return n.onStateChange=p,n.trySubscribe(),p(),function(){if(u=!0,n.tryUnsubscribe(),n.onStateChange=null,d)throw d}}}var k=function(){return[null,0]}},{"../utils/Subscription":94,"../utils/useIsomorphicLayoutEffect":100,"./Context":78,"@babel/runtime/helpers/extends":61,"@babel/runtime/helpers/interopRequireDefault":62,"@babel/runtime/helpers/interopRequireWildcard":63,"@babel/runtime/helpers/objectWithoutPropertiesLoose":65,"hoist-non-react-statics":69,react:107,"react-is":104}],81:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.createConnect=m,n.default=void 0;var r=i(e("@babel/runtime/helpers/extends")),a=i(e("@babel/runtime/helpers/objectWithoutPropertiesLoose")),s=i(e("../components/connectAdvanced")),o=i(e("../utils/shallowEqual")),l=i(e("./mapDispatchToProps")),c=i(e("./mapStateToProps")),u=i(e("./mergeProps")),d=i(e("./selectorFactory")),p=["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"];function f(e,t,n){for(var i=t.length-1;i>=0;i--){var r=t[i](e);if(r)return r}return function(t,i){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+i.wrappedComponentName+".")}}function h(e,t){return e===t}function m(e){var t=void 0===e?{}:e,n=t.connectHOC,i=void 0===n?s.default:n,m=t.mapStateToPropsFactories,g=void 0===m?c.default:m,v=t.mapDispatchToPropsFactories,y=void 0===v?l.default:v,b=t.mergePropsFactories,E=void 0===b?u.default:b,k=t.selectorFactory,T=void 0===k?d.default:k;return function(e,t,n,s){void 0===s&&(s={});var l=s,c=l.pure,u=void 0===c||c,d=l.areStatesEqual,m=void 0===d?h:d,v=l.areOwnPropsEqual,b=void 0===v?o.default:v,k=l.areStatePropsEqual,C=void 0===k?o.default:k,w=l.areMergedPropsEqual,S=void 0===w?o.default:w,x=(0,a.default)(l,p),O=f(e,g,"mapStateToProps"),_=f(t,y,"mapDispatchToProps"),j=f(n,E,"mergeProps");return i(T,(0,r.default)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:O,initMapDispatchToProps:_,initMergeProps:j,pure:u,areStatesEqual:m,areOwnPropsEqual:b,areStatePropsEqual:C,areMergedPropsEqual:S},x))}}var g=m();n.default=g},{"../components/connectAdvanced":80,"../utils/shallowEqual":99,"./mapDispatchToProps":82,"./mapStateToProps":83,"./mergeProps":84,"./selectorFactory":85,"@babel/runtime/helpers/extends":61,"@babel/runtime/helpers/interopRequireDefault":62,"@babel/runtime/helpers/objectWithoutPropertiesLoose":65}],82:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=void 0,n.whenMapDispatchToPropsIsFunction=s,n.whenMapDispatchToPropsIsMissing=o,n.whenMapDispatchToPropsIsObject=l;var r=i(e("../utils/bindActionCreators")),a=e("./wrapMapToProps");function s(e){return"function"==typeof e?(0,a.wrapMapToPropsFunc)(e,"mapDispatchToProps"):void 0}function o(e){return e?void 0:(0,a.wrapMapToPropsConstant)((function(e){return{dispatch:e}}))}function l(e){return e&&"object"==typeof e?(0,a.wrapMapToPropsConstant)((function(t){return(0,r.default)(e,t)})):void 0}var c=[s,o,l];n.default=c},{"../utils/bindActionCreators":96,"./wrapMapToProps":87,"@babel/runtime/helpers/interopRequireDefault":62}],83:[function(e,t,n){"use strict";n.__esModule=!0,n.default=void 0,n.whenMapStateToPropsIsFunction=r,n.whenMapStateToPropsIsMissing=a;var i=e("./wrapMapToProps");function r(e){return"function"==typeof e?(0,i.wrapMapToPropsFunc)(e,"mapStateToProps"):void 0}function a(e){return e?void 0:(0,i.wrapMapToPropsConstant)((function(){return{}}))}var s=[r,a];n.default=s},{"./wrapMapToProps":87}],84:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=void 0,n.defaultMergeProps=a,n.whenMergePropsIsFunction=o,n.whenMergePropsIsOmitted=l,n.wrapMergePropsFunc=s;var r=i(e("@babel/runtime/helpers/extends"));i(e("../utils/verifyPlainObject"));function a(e,t,n){return(0,r.default)({},n,e,t)}function s(e){return function(t,n){n.displayName;var i,r=n.pure,a=n.areMergedPropsEqual,s=!1;return function(t,n,o){var l=e(t,n,o);return s?r&&a(l,i)||(i=l):(s=!0,i=l),i}}}function o(e){return"function"==typeof e?s(e):void 0}function l(e){return e?void 0:function(){return a}}var c=[o,l];n.default=c},{"../utils/verifyPlainObject":101,"@babel/runtime/helpers/extends":61,"@babel/runtime/helpers/interopRequireDefault":62}],85:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=function(e,t){var n=t.initMapStateToProps,i=t.initMapDispatchToProps,l=t.initMergeProps,c=(0,r.default)(t,a),u=n(e,c),d=i(e,c),p=l(e,c);return(c.pure?o:s)(u,d,p,e,c)},n.impureFinalPropsSelectorFactory=s,n.pureFinalPropsSelectorFactory=o;var r=i(e("@babel/runtime/helpers/objectWithoutPropertiesLoose")),a=(i(e("./verifySubselectors")),["initMapStateToProps","initMapDispatchToProps","initMergeProps"]);function s(e,t,n,i){return function(r,a){return n(e(r,a),t(i,a),a)}}function o(e,t,n,i,r){var a,s,o,l,c,u=r.areStatesEqual,d=r.areOwnPropsEqual,p=r.areStatePropsEqual,f=!1;function h(r,f){var h,m,g=!d(f,s),v=!u(r,a,f,s);return a=r,s=f,g&&v?(o=e(a,s),t.dependsOnOwnProps&&(l=t(i,s)),c=n(o,l,s)):g?(e.dependsOnOwnProps&&(o=e(a,s)),t.dependsOnOwnProps&&(l=t(i,s)),c=n(o,l,s)):v?(h=e(a,s),m=!p(h,o),o=h,m&&(c=n(o,l,s)),c):c}return function(r,u){return f?h(r,u):(o=e(a=r,s=u),l=t(i,s),c=n(o,l,s),f=!0,c)}}},{"./verifySubselectors":86,"@babel/runtime/helpers/interopRequireDefault":62,"@babel/runtime/helpers/objectWithoutPropertiesLoose":65}],86:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=function(e,t,n,i){a(e,"mapStateToProps",i),a(t,"mapDispatchToProps",i),a(n,"mergeProps",i)};var r=i(e("../utils/warning"));function a(e,t,n){if(!e)throw new Error("Unexpected value for "+t+" in "+n+".");"mapStateToProps"!==t&&"mapDispatchToProps"!==t||Object.prototype.hasOwnProperty.call(e,"dependsOnOwnProps")||(0,r.default)("The selector for "+t+" of "+n+" did not specify a value for dependsOnOwnProps.")}},{"../utils/warning":102,"@babel/runtime/helpers/interopRequireDefault":62}],87:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.getDependsOnOwnProps=r,n.wrapMapToPropsConstant=function(e){return function(t,n){var i=e(t,n);function r(){return i}return r.dependsOnOwnProps=!1,r}},n.wrapMapToPropsFunc=function(e,t){return function(t,n){n.displayName;var i=function(e,t){return i.dependsOnOwnProps?i.mapToProps(e,t):i.mapToProps(e)};return i.dependsOnOwnProps=!0,i.mapToProps=function(t,n){i.mapToProps=e,i.dependsOnOwnProps=r(e);var a=i(t,n);return"function"==typeof a&&(i.mapToProps=a,i.dependsOnOwnProps=r(a),a=i(t,n)),a},i}};i(e("../utils/verifyPlainObject"));function r(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}},{"../utils/verifyPlainObject":101,"@babel/runtime/helpers/interopRequireDefault":62}],88:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0;var r=i(e("./components/Provider"));n.Provider=r.default;var a=i(e("./components/connectAdvanced"));n.connectAdvanced=a.default;var s=e("./components/Context");n.ReactReduxContext=s.ReactReduxContext;var o=i(e("./connect/connect"));n.connect=o.default;var l=e("./hooks/useDispatch");n.useDispatch=l.useDispatch,n.createDispatchHook=l.createDispatchHook;var c=e("./hooks/useSelector");n.useSelector=c.useSelector,n.createSelectorHook=c.createSelectorHook;var u=e("./hooks/useStore");n.useStore=u.useStore,n.createStoreHook=u.createStoreHook;var d=i(e("./utils/shallowEqual"));n.shallowEqual=d.default},{"./components/Context":78,"./components/Provider":79,"./components/connectAdvanced":80,"./connect/connect":81,"./hooks/useDispatch":89,"./hooks/useSelector":91,"./hooks/useStore":92,"./utils/shallowEqual":99,"@babel/runtime/helpers/interopRequireDefault":62}],89:[function(e,t,n){"use strict";n.__esModule=!0,n.createDispatchHook=a,n.useDispatch=void 0;var i=e("../components/Context"),r=e("./useStore");function a(e){void 0===e&&(e=i.ReactReduxContext);var t=e===i.ReactReduxContext?r.useStore:(0,r.createStoreHook)(e);return function(){return t().dispatch}}var s=a();n.useDispatch=s},{"../components/Context":78,"./useStore":92}],90:[function(e,t,n){"use strict";n.__esModule=!0,n.useReduxContext=function(){return(0,i.useContext)(r.ReactReduxContext)};var i=e("react"),r=e("../components/Context")},{"../components/Context":78,react:107}],91:[function(e,t,n){"use strict";n.__esModule=!0,n.createSelectorHook=c,n.useSelector=void 0;var i=e("react"),r=e("./useReduxContext"),a=e("../utils/Subscription"),s=e("../utils/useIsomorphicLayoutEffect"),o=e("../components/Context"),l=function(e,t){return e===t};function c(e){void 0===e&&(e=o.ReactReduxContext);var t=e===o.ReactReduxContext?r.useReduxContext:function(){return(0,i.useContext)(e)};return function(e,n){void 0===n&&(n=l);var r=t(),o=function(e,t,n,r){var o,l=(0,i.useReducer)((function(e){return e+1}),0)[1],c=(0,i.useMemo)((function(){return(0,a.createSubscription)(n,r)}),[n,r]),u=(0,i.useRef)(),d=(0,i.useRef)(),p=(0,i.useRef)(),f=(0,i.useRef)(),h=n.getState();try{if(e!==d.current||h!==p.current||u.current){var m=e(h);o=void 0!==f.current&&t(m,f.current)?f.current:m}else o=f.current}catch(e){throw u.current&&(e.message+="\nThe error may be correlated with this previous error:\n"+u.current.stack+"\n\n"),e}return(0,s.useIsomorphicLayoutEffect)((function(){d.current=e,p.current=h,f.current=o,u.current=void 0})),(0,s.useIsomorphicLayoutEffect)((function(){function e(){try{var e=n.getState();if(e===p.current)return;var i=d.current(e);if(t(i,f.current))return;f.current=i,p.current=e}catch(e){u.current=e}l()}return c.onStateChange=e,c.trySubscribe(),e(),function(){return c.tryUnsubscribe()}}),[n,c]),o}(e,n,r.store,r.subscription);return(0,i.useDebugValue)(o),o}}var u=c();n.useSelector=u},{"../components/Context":78,"../utils/Subscription":94,"../utils/useIsomorphicLayoutEffect":100,"./useReduxContext":90,react:107}],92:[function(e,t,n){"use strict";n.__esModule=!0,n.createStoreHook=s,n.useStore=void 0;var i=e("react"),r=e("../components/Context"),a=e("./useReduxContext");function s(e){void 0===e&&(e=r.ReactReduxContext);var t=e===r.ReactReduxContext?a.useReduxContext:function(){return(0,i.useContext)(e)};return function(){return t().store}}var o=s();n.useStore=o},{"../components/Context":78,"./useReduxContext":90,react:107}],93:[function(e,t,n){"use strict";n.__esModule=!0;var i={batch:!0},r=e("./exports");Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||e in n&&n[e]===r[e]||(n[e]=r[e]))}));var a=e("./utils/reactBatchedUpdates");n.batch=a.unstable_batchedUpdates,(0,e("./utils/batch").setBatch)(a.unstable_batchedUpdates)},{"./exports":88,"./utils/batch":95,"./utils/reactBatchedUpdates":98}],94:[function(e,t,n){"use strict";n.__esModule=!0,n.createSubscription=function(e,t){var n,a=r;function s(){l.onStateChange&&l.onStateChange()}function o(){n||(n=t?t.addNestedSub(s):e.subscribe(s),a=function(){var e=(0,i.getBatch)(),t=null,n=null;return{clear:function(){t=null,n=null},notify:function(){e((function(){for(var e=t;e;)e.callback(),e=e.next}))},get:function(){for(var e=[],n=t;n;)e.push(n),n=n.next;return e},subscribe:function(e){var i=!0,r=n={callback:e,next:null,prev:n};return r.prev?r.prev.next=r:t=r,function(){i&&null!==t&&(i=!1,r.next?r.next.prev=r.prev:n=r.prev,r.prev?r.prev.next=r.next:t=r.next)}}}}())}var l={addNestedSub:function(e){return o(),a.subscribe(e)},notifyNestedSubs:function(){a.notify()},handleChangeWrapper:s,isSubscribed:function(){return Boolean(n)},trySubscribe:o,tryUnsubscribe:function(){n&&(n(),n=void 0,a.clear(),a=r)},getListeners:function(){return a}};return l};var i=e("./batch");var r={notify:function(){},get:function(){return[]}}},{"./batch":95}],95:[function(e,t,n){"use strict";n.__esModule=!0,n.setBatch=n.getBatch=void 0;var i=function(e){e()};n.setBatch=function(e){return i=e};n.getBatch=function(){return i}},{}],96:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e,t){var n={},i=function(i){var r=e[i];"function"==typeof r&&(n[i]=function(){return t(r.apply(void 0,arguments))})};for(var r in e)i(r);return n}},{}],97:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e){if("object"!=typeof e||null===e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;for(var n=t;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return t===n}},{}],98:[function(e,t,n){"use strict";n.__esModule=!0,n.unstable_batchedUpdates=void 0;var i=e("react-dom");n.unstable_batchedUpdates=i.unstable_batchedUpdates},{"react-dom":75}],99:[function(e,t,n){"use strict";function i(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}n.__esModule=!0,n.default=function(e,t){if(i(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var a=0;a<n.length;a++)if(!Object.prototype.hasOwnProperty.call(t,n[a])||!i(e[n[a]],t[n[a]]))return!1;return!0}},{}],100:[function(e,t,n){"use strict";n.__esModule=!0,n.useIsomorphicLayoutEffect=void 0;var i=e("react"),r="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?i.useLayoutEffect:i.useEffect;n.useIsomorphicLayoutEffect=r},{react:107}],101:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=function(e,t,n){(0,r.default)(e)||(0,a.default)(n+"() in "+t+" must return a plain object. Instead received "+e+".")};var r=i(e("./isPlainObject")),a=i(e("./warning"))},{"./isPlainObject":97,"./warning":102,"@babel/runtime/helpers/interopRequireDefault":62}],102:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e);try{throw new Error(e)}catch(e){}}},{}],103:[function(e,t,n){"use strict";var i=60103,r=60106,a=60107,s=60108,o=60114,l=60109,c=60110,u=60112,d=60113,p=60120,f=60115,h=60116,m=60121,g=60122,v=60117,y=60129,b=60131;if("function"==typeof Symbol&&Symbol.for){var E=Symbol.for;i=E("react.element"),r=E("react.portal"),a=E("react.fragment"),s=E("react.strict_mode"),o=E("react.profiler"),l=E("react.provider"),c=E("react.context"),u=E("react.forward_ref"),d=E("react.suspense"),p=E("react.suspense_list"),f=E("react.memo"),h=E("react.lazy"),m=E("react.block"),g=E("react.server.block"),v=E("react.fundamental"),y=E("react.debug_trace_mode"),b=E("react.legacy_hidden")}function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case a:case o:case s:case d:case p:return e;default:switch(e=e&&e.$$typeof){case c:case u:case h:case f:case l:return e;default:return t}}case r:return t}}}var T=l,C=i,w=u,S=a,x=h,O=f,_=r,j=o,I=s,N=d;n.ContextConsumer=c,n.ContextProvider=T,n.Element=C,n.ForwardRef=w,n.Fragment=S,n.Lazy=x,n.Memo=O,n.Portal=_,n.Profiler=j,n.StrictMode=I,n.Suspense=N,n.isAsyncMode=function(){return!1},n.isConcurrentMode=function(){return!1},n.isContextConsumer=function(e){return k(e)===c},n.isContextProvider=function(e){return k(e)===l},n.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===i},n.isForwardRef=function(e){return k(e)===u},n.isFragment=function(e){return k(e)===a},n.isLazy=function(e){return k(e)===h},n.isMemo=function(e){return k(e)===f},n.isPortal=function(e){return k(e)===r},n.isProfiler=function(e){return k(e)===o},n.isStrictMode=function(e){return k(e)===s},n.isSuspense=function(e){return k(e)===d},n.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===o||e===y||e===s||e===d||e===p||e===b||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===f||e.$$typeof===l||e.$$typeof===c||e.$$typeof===u||e.$$typeof===v||e.$$typeof===m||e[0]===g)},n.typeOf=k},{}],104:[function(e,t,n){"use strict";t.exports=e("./cjs/react-is.production.min.js")},{"./cjs/react-is.production.min.js":103}],105:[function(e,t,n){"use strict";e("object-assign");var i=e("react"),r=60103;if(n.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var a=Symbol.for;r=a("react.element"),n.Fragment=a("react.fragment")}var s=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o=Object.prototype.hasOwnProperty,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var i,a={},c=null,u=null;for(i in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)o.call(t,i)&&!l.hasOwnProperty(i)&&(a[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===a[i]&&(a[i]=t[i]);return{$$typeof:r,type:e,key:c,ref:u,props:a,_owner:s.current}}n.jsx=c,n.jsxs=c},{"object-assign":70,react:107}],106:[function(e,t,n){"use strict";var i=e("object-assign"),r=60103,a=60106;n.Fragment=60107,n.StrictMode=60108,n.Profiler=60114;var s=60109,o=60110,l=60112;n.Suspense=60113;var c=60115,u=60116;if("function"==typeof Symbol&&Symbol.for){var d=Symbol.for;r=d("react.element"),a=d("react.portal"),n.Fragment=d("react.fragment"),n.StrictMode=d("react.strict_mode"),n.Profiler=d("react.profiler"),s=d("react.provider"),o=d("react.context"),l=d("react.forward_ref"),n.Suspense=d("react.suspense"),c=d("react.memo"),u=d("react.lazy")}var p="function"==typeof Symbol&&Symbol.iterator;function f(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m={};function g(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}function v(){}function y(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(f(85));this.updater.enqueueSetState(this,e,t,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=g.prototype;var b=y.prototype=new v;b.constructor=y,i(b,g.prototype),b.isPureReactComponent=!0;var E={current:null},k=Object.prototype.hasOwnProperty,T={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,n){var i,a={},s=null,o=null;if(null!=t)for(i in void 0!==t.ref&&(o=t.ref),void 0!==t.key&&(s=""+t.key),t)k.call(t,i)&&!T.hasOwnProperty(i)&&(a[i]=t[i]);var l=arguments.length-2;if(1===l)a.children=n;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(i in l=e.defaultProps)void 0===a[i]&&(a[i]=l[i]);return{$$typeof:r,type:e,key:s,ref:o,props:a,_owner:E.current}}function w(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var S=/\/+/g;function x(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function O(e,t,n,i,s){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var l=!1;if(null===e)l=!0;else switch(o){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case r:case a:l=!0}}if(l)return s=s(l=e),e=""===i?"."+x(l,0):i,Array.isArray(s)?(n="",null!=e&&(n=e.replace(S,"$&/")+"/"),O(s,t,n,"",(function(e){return e}))):null!=s&&(w(s)&&(s=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(s,n+(!s.key||l&&l.key===s.key?"":(""+s.key).replace(S,"$&/")+"/")+e)),t.push(s)),1;if(l=0,i=""===i?".":i+":",Array.isArray(e))for(var c=0;c<e.length;c++){var u=i+x(o=e[c],c);l+=O(o,t,n,u,s)}else if("function"==typeof(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e)))for(e=u.call(e),c=0;!(o=e.next()).done;)l+=O(o=o.value,t,n,u=i+x(o,c++),s);else if("object"===o)throw t=""+e,Error(f(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return l}function _(e,t,n){if(null==e)return e;var i=[],r=0;return O(e,i,"","",(function(e){return t.call(n,e,r++)})),i}function j(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var I={current:null};function N(){var e=I.current;if(null===e)throw Error(f(321));return e}var A={ReactCurrentDispatcher:I,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:E,IsSomeRendererActing:{current:!1},assign:i};n.Children={map:_,forEach:function(e,t,n){_(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return _(e,(function(){t++})),t},toArray:function(e){return _(e,(function(e){return e}))||[]},only:function(e){if(!w(e))throw Error(f(143));return e}},n.Component=g,n.PureComponent=y,n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=A,n.cloneElement=function(e,t,n){if(null==e)throw Error(f(267,e));var a=i({},e.props),s=e.key,o=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(o=t.ref,l=E.current),void 0!==t.key&&(s=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(u in t)k.call(t,u)&&!T.hasOwnProperty(u)&&(a[u]=void 0===t[u]&&void 0!==c?c[u]:t[u])}var u=arguments.length-2;if(1===u)a.children=n;else if(1<u){c=Array(u);for(var d=0;d<u;d++)c[d]=arguments[d+2];a.children=c}return{$$typeof:r,type:e.type,key:s,ref:o,props:a,_owner:l}},n.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:o,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},n.createElement=C,n.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},n.createRef=function(){return{current:null}},n.forwardRef=function(e){return{$$typeof:l,render:e}},n.isValidElement=w,n.lazy=function(e){return{$$typeof:u,_payload:{_status:-1,_result:e},_init:j}},n.memo=function(e,t){return{$$typeof:c,type:e,compare:void 0===t?null:t}},n.useCallback=function(e,t){return N().useCallback(e,t)},n.useContext=function(e,t){return N().useContext(e,t)},n.useDebugValue=function(){},n.useEffect=function(e,t){return N().useEffect(e,t)},n.useImperativeHandle=function(e,t,n){return N().useImperativeHandle(e,t,n)},n.useLayoutEffect=function(e,t){return N().useLayoutEffect(e,t)},n.useMemo=function(e,t){return N().useMemo(e,t)},n.useReducer=function(e,t,n){return N().useReducer(e,t,n)},n.useRef=function(e){return N().useRef(e)},n.useState=function(e){return N().useState(e)},n.version="17.0.2"},{"object-assign":70}],107:[function(e,t,n){"use strict";t.exports=e("./cjs/react.production.min.js")},{"./cjs/react.production.min.js":106}],108:[function(e,t,n){"use strict";t.exports=e("./cjs/react-jsx-runtime.production.min.js")},{"./cjs/react-jsx-runtime.production.min.js":105}],109:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=e("@babel/runtime/helpers/objectSpread2");var r,a=(r=i)&&"object"==typeof r&&"default"in r?r:{default:r};function s(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}var o="function"==typeof Symbol&&Symbol.observable||"@@observable",l=function(){return Math.random().toString(36).substring(7).split("").join(".")},c={INIT:"@@redux/INIT"+l(),REPLACE:"@@redux/REPLACE"+l(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+l()}};function u(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function d(e,t,n){var i;if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error(s(0));if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw new Error(s(1));return n(d)(e,t)}if("function"!=typeof e)throw new Error(s(2));var r=e,a=t,l=[],p=l,f=!1;function h(){p===l&&(p=l.slice())}function m(){if(f)throw new Error(s(3));return a}function g(e){if("function"!=typeof e)throw new Error(s(4));if(f)throw new Error(s(5));var t=!0;return h(),p.push(e),function(){if(t){if(f)throw new Error(s(6));t=!1,h();var n=p.indexOf(e);p.splice(n,1),l=null}}}function v(e){if(!u(e))throw new Error(s(7));if(void 0===e.type)throw new Error(s(8));if(f)throw new Error(s(9));try{f=!0,a=r(a,e)}finally{f=!1}for(var t=l=p,n=0;n<t.length;n++)(0,t[n])();return e}return v({type:c.INIT}),(i={dispatch:v,subscribe:g,getState:m,replaceReducer:function(e){if("function"!=typeof e)throw new Error(s(10));r=e,v({type:c.REPLACE})}})[o]=function(){var e,t=g;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new Error(s(11));function n(){e.next&&e.next(m())}return n(),{unsubscribe:t(n)}}})[o]=function(){return this},e},i}var p=d;function f(e,t){return function(){return t(e.apply(this,arguments))}}function h(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}n.__DO_NOT_USE__ActionTypes=c,n.applyMiddleware=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),i=function(){throw new Error(s(15))},r={getState:n.getState,dispatch:function(){return i.apply(void 0,arguments)}},o=t.map((function(e){return e(r)}));return i=h.apply(void 0,o)(n.dispatch),a.default(a.default({},n),{},{dispatch:i})}}},n.bindActionCreators=function(e,t){if("function"==typeof e)return f(e,t);if("object"!=typeof e||null===e)throw new Error(s(16));var n={};for(var i in e){var r=e[i];"function"==typeof r&&(n[i]=f(r,t))}return n},n.combineReducers=function(e){for(var t=Object.keys(e),n={},i=0;i<t.length;i++){var r=t[i];"function"==typeof e[r]&&(n[r]=e[r])}var a,o=Object.keys(n);try{!function(e){Object.keys(e).forEach((function(t){var n=e[t];if(void 0===n(void 0,{type:c.INIT}))throw new Error(s(12));if(void 0===n(void 0,{type:c.PROBE_UNKNOWN_ACTION()}))throw new Error(s(13))}))}(n)}catch(e){a=e}return function(e,t){if(void 0===e&&(e={}),a)throw a;for(var i=!1,r={},l=0;l<o.length;l++){var c=o[l],u=n[c],d=e[c],p=u(d,t);if(void 0===p)throw t&&t.type,new Error(s(14));r[c]=p,i=i||p!==d}return(i=i||o.length!==Object.keys(e).length)?r:e}},n.compose=h,n.createStore=d,n.legacy_createStore=p},{"@babel/runtime/helpers/objectSpread2":64}],110:[function(e,t,n){"use strict";var i,r,a,s;if("object"==typeof performance&&"function"==typeof performance.now){var o=performance;n.unstable_now=function(){return o.now()}}else{var l=Date,c=l.now();n.unstable_now=function(){return l.now()-c}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var u=null,d=null,p=function(){if(null!==u)try{var e=n.unstable_now();u(!0,e),u=null}catch(e){throw setTimeout(p,0),e}};i=function(e){null!==u?setTimeout(i,0,e):(u=e,setTimeout(p,0))},r=function(e,t){d=setTimeout(e,t)},a=function(){clearTimeout(d)},n.unstable_shouldYield=function(){return!1},s=n.unstable_forceFrameRate=function(){}}else{var f=window.setTimeout,h=window.clearTimeout;if("undefined"!=typeof console){var m=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var g=!1,v=null,y=-1,b=5,E=0;n.unstable_shouldYield=function(){return n.unstable_now()>=E},s=function(){},n.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):b=0<e?Math.floor(1e3/e):5};var k=new MessageChannel,T=k.port2;k.port1.onmessage=function(){if(null!==v){var e=n.unstable_now();E=e+b;try{v(!0,e)?T.postMessage(null):(g=!1,v=null)}catch(e){throw T.postMessage(null),e}}else g=!1},i=function(e){v=e,g||(g=!0,T.postMessage(null))},r=function(e,t){y=f((function(){e(n.unstable_now())}),t)},a=function(){h(y),y=-1}}function C(e,t){var n=e.length;e.push(t);e:for(;;){var i=n-1>>>1,r=e[i];if(!(void 0!==r&&0<x(r,t)))break e;e[i]=t,e[n]=r,n=i}}function w(e){return void 0===(e=e[0])?null:e}function S(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var i=0,r=e.length;i<r;){var a=2*(i+1)-1,s=e[a],o=a+1,l=e[o];if(void 0!==s&&0>x(s,n))void 0!==l&&0>x(l,s)?(e[i]=l,e[o]=n,i=o):(e[i]=s,e[a]=n,i=a);else{if(!(void 0!==l&&0>x(l,n)))break e;e[i]=l,e[o]=n,i=o}}}return t}return null}function x(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var O=[],_=[],j=1,I=null,N=3,A=!1,P=!1,D=!1;function L(e){for(var t=w(_);null!==t;){if(null===t.callback)S(_);else{if(!(t.startTime<=e))break;S(_),t.sortIndex=t.expirationTime,C(O,t)}t=w(_)}}function R(e){if(D=!1,L(e),!P)if(null!==w(O))P=!0,i(M);else{var t=w(_);null!==t&&r(R,t.startTime-e)}}function M(e,t){P=!1,D&&(D=!1,a()),A=!0;var i=N;try{for(L(t),I=w(O);null!==I&&(!(I.expirationTime>t)||e&&!n.unstable_shouldYield());){var s=I.callback;if("function"==typeof s){I.callback=null,N=I.priorityLevel;var o=s(I.expirationTime<=t);t=n.unstable_now(),"function"==typeof o?I.callback=o:I===w(O)&&S(O),L(t)}else S(O);I=w(O)}if(null!==I)var l=!0;else{var c=w(_);null!==c&&r(R,c.startTime-t),l=!1}return l}finally{I=null,N=i,A=!1}}var F=s;n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(e){e.callback=null},n.unstable_continueExecution=function(){P||A||(P=!0,i(M))},n.unstable_getCurrentPriorityLevel=function(){return N},n.unstable_getFirstCallbackNode=function(){return w(O)},n.unstable_next=function(e){switch(N){case 1:case 2:case 3:var t=3;break;default:t=N}var n=N;N=t;try{return e()}finally{N=n}},n.unstable_pauseExecution=function(){},n.unstable_requestPaint=F,n.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=N;N=e;try{return t()}finally{N=n}},n.unstable_scheduleCallback=function(e,t,s){var o=n.unstable_now();switch(s="object"==typeof s&&null!==s&&"number"==typeof(s=s.delay)&&0<s?o+s:o,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:j++,callback:t,priorityLevel:e,startTime:s,expirationTime:l=s+l,sortIndex:-1},s>o?(e.sortIndex=s,C(_,e),null===w(O)&&e===w(_)&&(D?a():D=!0,r(R,s-o))):(e.sortIndex=l,C(O,e),P||A||(P=!0,i(M))),e},n.unstable_wrapCallback=function(e){var t=N;return function(){var n=N;N=t;try{return e.apply(this,arguments)}finally{N=n}}}},{}],111:[function(e,t,n){"use strict";t.exports=e("./cjs/scheduler.production.min.js")},{"./cjs/scheduler.production.min.js":110}]},{},[10]);
1
+ !function e(t,n,i){function r(s,o){if(!n[s]){if(!t[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(a)return a(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[s]={exports:{}};t[s][0].call(u.exports,(function(e){return r(t[s][1][e]||e)}),u,u.exports,e,t,n,i)}return n[s].exports}for(var a="function"==typeof require&&require,s=0;s<i.length;s++)r(i[s]);return r}({1:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Button=void 0;const i=e("react/jsx-runtime"),r=e("../util");n.Button=e=>{const{id:t,className:n,style:a,ariaLabel:s,ariaHidden:o,ariaDescribedBy:l,ariaControls:c,ariaExpanded:u,ariaHasPopup:d,ariaPosInSet:p,ariaSetSize:f,ariaSelected:h,role:m,onClick:g,onKeydown:v,onBlur:y,buttonRef:b,title:E,label:k,leftIcon:T,rightIcon:C,hardDisabled:w,href:S,target:x,tabIndex:O}=e;let{disabled:_}=e;_=_||w;const j=(0,r.classList)("common-button",n,_&&"disabled");return(0,i.jsx)("button",Object.assign({id:t,className:j,style:a,title:E,ref:b,onClick:_?void 0:e=>{g&&g(),S&&window.open(S,x||"_blank","noopener,noreferrer"),e.stopPropagation(),e.preventDefault()},onKeyDown:v||r.fireClickOnEnter,onBlur:y,role:m||"button",tabIndex:O||(_?-1:0),disabled:w,"aria-label":s,"aria-hidden":o,"aria-controls":c,"aria-expanded":u,"aria-haspopup":d,"aria-posinset":p,"aria-setsize":f,"aria-describedby":l,"aria-selected":h},{children:(0,i.jsxs)("span",Object.assign({className:"common-button-flex"},{children:[T&&(0,i.jsx)("i",{className:T,"aria-hidden":!0}),(0,i.jsx)("span",Object.assign({className:"common-button-label"},{children:k})),C&&(0,i.jsx)("i",{className:"right "+C,"aria-hidden":!0})]}))}))}},{"../util":9,"react/jsx-runtime":108}],2:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Checkbox=void 0;const i=e("react/jsx-runtime"),r=e("../util");n.Checkbox=e=>{const{id:t,className:n,ariaHidden:a,ariaLabel:s,role:o,isChecked:l,onChange:c,label:u}=e;return(0,i.jsxs)("div",Object.assign({className:(0,r.classList)("common-checkbox",n)},{children:[(0,i.jsx)("input",{id:t,tabIndex:0,type:"checkbox",checked:l,onChange:()=>{c(!l)},onKeyDown:r.fireClickOnEnter,role:o,"aria-hidden":a,"aria-label":s}),u&&(0,i.jsx)("label",Object.assign({htmlFor:t},{children:u}))]}))}},{"../util":9,"react/jsx-runtime":108}],3:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Dropdown=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../util"),s=e("./Button"),o=e("./FocusList");n.Dropdown=e=>{const{id:t,className:n,ariaHidden:l,ariaLabel:c,role:u,items:d,tabIndex:p,selectedId:f,onItemSelected:h}=e,[m,g]=r.useState(!1);let v;const y=(0,a.classList)("common-dropdown",n),b=d.find((e=>e.id===f))||d[0];return(0,i.jsxs)("div",Object.assign({className:y,ref:e=>{e&&(v=e)},onBlur:e=>{v&&m&&!v.contains(e.relatedTarget)&&g(!1)}},{children:[(0,i.jsx)(s.Button,Object.assign({},b,{id:t,tabIndex:p,rightIcon:m?"fas fa-chevron-up":"fas fa-chevron-down",role:u,className:(0,a.classList)("common-dropdown-button",m&&"expanded",b.className),onClick:()=>{g(!m)},onKeydown:e=>{const t=d.indexOf(b);"ArrowDown"===e.key?t<d.length-1&&(h(d[t+1].id),e.preventDefault(),e.stopPropagation()):"ArrowUp"===e.key?t>0&&(h(d[t-1].id),e.preventDefault(),e.stopPropagation()):"Enter"===e.key&&(g(!0),e.preventDefault(),e.stopPropagation())},ariaHasPopup:"listbox",ariaExpanded:m,ariaLabel:c,ariaHidden:l})),m&&(0,i.jsx)(o.FocusList,Object.assign({role:"listbox",className:"common-menu-dropdown-pane common-dropdown-shadow",childTabStopId:f,"aria-labelledby":t,useUpAndDownArrowKeys:!0,onItemReceivedFocus:e=>{e.id&&d.some((t=>t.id===e.id))&&h(e.id)}},{children:(0,i.jsx)("ul",Object.assign({role:"presentation"},{children:d.map((e=>(0,i.jsx)("li",Object.assign({role:"presentation"},{children:(0,i.jsx)(s.Button,Object.assign({},e,{className:(0,a.classList)("common-dropdown-item",e.className),onClick:()=>{g(!1),h(e.id)},ariaSelected:e.id===f,role:"option"}))}),e.id)))}))}))]}))}},{"../util":9,"./Button":1,"./FocusList":5,react:107,"react/jsx-runtime":108}],4:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.EditorToggle=void 0;const i=e("react/jsx-runtime"),r=e("../util"),a=e("./Button"),s=e("./FocusList"),o=e("./MenuDropdown");n.EditorToggle=e=>{const{id:t,className:n,ariaHidden:a,ariaLabel:s,role:d,items:p,selected:f}=e,h=p.some((e=>u(e))),m=e=>{};return(0,i.jsxs)("div",Object.assign({className:"common-editor-toggle-outer"},{children:[(0,i.jsx)(c,Object.assign({},e)),(0,i.jsxs)("div",Object.assign({id:t,className:(0,r.classList)("common-editor-toggle",h&&"has-dropdown",n),role:d||"tablist","aria-hidden":!0,"aria-label":s},{children:[p.map(((e,t)=>{const n=f===t;return(0,i.jsxs)("div",Object.assign({className:(0,r.classList)("common-editor-toggle-item",n&&"selected",u(e)&&"common-editor-toggle-item-dropdown")},{children:[(0,i.jsx)(l,{item:e,isSelected:n,onKeydown:m}),u(e)&&(0,i.jsx)(o.MenuDropdown,{id:"toggle-dropdown",className:"toggle-dropdown",icon:"fas fa-chevron-down",title:lf("More options"),tabIndex:-1,ariaHidden:!0,items:e.items.map((e=>({title:e.title,label:e.label,onClick:e.onClick,leftIcon:e.icon})))})]}),t)})),(0,i.jsx)("div",{className:"common-editor-toggle-handle","aria-hidden":!0})]}))]}))};const l=e=>{const{item:t,isSelected:n,onKeydown:r}=e,{label:s,title:o,onClick:l,icon:c,focusable:u}=t;return(0,i.jsx)(a.Button,{className:c?void 0:"no-icon",role:u?"tab":void 0,tabIndex:-1,onKeydown:r,label:s,title:o,onClick:l,leftIcon:c,ariaHidden:!0})},c=e=>{const{items:t,id:n,selected:r,ariaHidden:o}=e,l=t.reduce(((e,t,n)=>{const i=[...e];return i.push(Object.assign({},t)),r===n&&(i[i.length-1].selected=!0),u(t)&&i.push(...t.items.filter((e=>e.focusable))),i}),[]);return(0,i.jsx)(s.FocusList,Object.assign({id:n,role:"tablist",className:"common-toggle-accessibility",childTabStopId:n+"-selected"},{children:l.map(((e,t)=>(0,i.jsx)(a.Button,{className:e.selected?"selected":void 0,id:e.selected?n+"-selected":void 0,role:"tab",title:e.title,label:e.label,onClick:e.onClick,ariaSelected:e.selected,ariaHidden:o},t)))}))};function u(e){var t;return!!(null===(t=e.items)||void 0===t?void 0:t.length)}},{"../util":9,"./Button":1,"./FocusList":5,"./MenuDropdown":8,"react/jsx-runtime":108}],5:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.FocusList=void 0;const i=e("react/jsx-runtime");n.FocusList=e=>{const{id:t,className:n,role:r,ariaHidden:a,ariaLabel:s,childTabStopId:o,children:l,onItemReceivedFocus:c,useUpAndDownArrowKeys:u}=e;let d,p;return(0,i.jsx)("div",Object.assign({id:t,className:n,role:r,tabIndex:o?void 0:0,onKeyDown:e=>{if(!(null==d?void 0:d.length))return;const t=document.activeElement,n=d.indexOf(t),i=e=>{e.focus(),c&&c(e)};-1===n&&t!==p||("Enter"===e.key||" "===e.key?(e.preventDefault(),e.stopPropagation(),t.click?t.click():t.dispatchEvent(new Event("click"))):e.key===(u?"ArrowDown":"ArrowRight")?(n===d.length-1||t===p?i(d[0]):i(d[n+1]),e.preventDefault(),e.stopPropagation()):e.key===(u?"ArrowUp":"ArrowLeft")?(i(0===n||t===p?d[d.length-1]:d[Math.max(n-1,0)]),e.preventDefault(),e.stopPropagation()):"Home"===e.key?(i(d[0]),e.preventDefault(),e.stopPropagation()):"End"===e.key&&(i(d[d.length-1]),e.preventDefault(),e.stopPropagation()))},ref:e=>{if(!e||p)return;p=e;const t=e.querySelectorAll('[tabindex]:not([tabindex="-1"]),[data-isfocusable]');d=[];for(const e of t.values())d.push(e),e.setAttribute("tabindex","-1"),e.setAttribute("data-isfocusable","true");if(o){const e=p.querySelector("#"+o);e&&e.setAttribute("tabindex","0")}},"aria-hidden":a,"aria-label":s},{children:l}))}},{"react/jsx-runtime":108}],6:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.FocusTrap=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../util");n.FocusTrap=e=>{const{children:t,id:n,className:s,onEscape:o,arrowKeyNavigation:l,dontStealFocus:c,includeOutsideTabOrder:u}=e;let d;const[p,f]=r.useState(!1),h=()=>(0,a.nodeListToArray)(u?d.querySelectorAll("[tabindex]"):d.querySelectorAll('[tabindex]:not([tabindex="-1"])'));return(0,i.jsx)("div",Object.assign({id:n,className:(0,a.classList)("common-focus-trap",s),ref:e=>{e&&(d=e,c||p||e.contains(document.activeElement)||!h().length||(d.focus(),f(!0)))},onKeyDown:e=>{if(!d)return;const t=(t,n)=>{const i=h();if(!i.length)return;const r=i.indexOf(e.target);t?n?i[i.length-1].focus():r===i.length-1?i[0].focus():i[r+1].focus():n?i[0].focus():0===r?i[i.length-1].focus():i[Math.max(r-1,0)].focus(),e.preventDefault(),e.stopPropagation()};"Escape"===e.key?(o(),e.preventDefault(),e.stopPropagation()):"Tab"===e.key?e.shiftKey?t(!1,!1):t(!0,!1):l&&("ArrowDown"===e.key?t(!0,!1):"ArrowUp"===e.key?t(!1,!1):"Home"===e.key?t(!1,!0):"End"===e.key&&t(!0,!0))},tabIndex:-1},{children:t}))}},{"../util":9,react:107,"react/jsx-runtime":108}],7:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Input=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../util"),s=e("./Button");n.Input=e=>{const{id:t,className:n,inputClassName:o,groupClassName:l,role:c,ariaHidden:u,ariaLabel:d,initialValue:p,label:f,title:h,placeholder:m,icon:g,iconTitle:v,disabled:y,type:b,readOnly:E,autoComplete:k,selectOnClick:T,onChange:C,onEnterKey:w,onIconClick:S,onBlur:x,handleInputRef:O,preserveValueOnBlur:_}=e,[j,I]=r.useState(void 0);return(0,i.jsxs)("div",Object.assign({className:(0,a.classList)("common-input-wrapper",y&&"disabled",n)},{children:[f&&(0,i.jsx)("label",Object.assign({className:"common-input-label",htmlFor:t},{children:f})),(0,i.jsxs)("div",Object.assign({className:(0,a.classList)("common-input-group",l)},{children:[(0,i.jsx)("input",{id:t,className:(0,a.classList)("common-input",g&&"has-icon",o),title:h,role:c||"textbox",tabIndex:y?-1:0,"aria-label":d,"aria-hidden":u,type:b||"text",placeholder:m,value:void 0!==j?j:p||"",readOnly:!!E,onClick:e=>{T&&e.target.select()},onChange:e=>{const t=e.target.value;E||j===t||I(t),C&&C(t)},onKeyDown:t=>{const n="number"==typeof t.which?t.which:t.keyCode;(13===n||e.treatSpaceAsEnter&&32===n)&&w&&(t.preventDefault(),w(j))},onBlur:()=>{x&&x(j),_||I(void 0)},autoComplete:k?"":"off",autoCorrect:k?"":"off",autoCapitalize:k?"":"off",spellCheck:k,disabled:y,ref:O}),g&&(S?(0,i.jsx)(s.Button,{leftIcon:g,title:v,disabled:y,onClick:()=>{S&&S(j)}}):(0,i.jsx)("i",{className:g,"aria-hidden":!0}))]}))]}))}},{"../util":9,"./Button":1,react:107,"react/jsx-runtime":108}],8:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.MenuDropdown=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../util"),s=e("./Button"),o=e("./FocusTrap");n.MenuDropdown=e=>{const{id:t,className:n,ariaHidden:l,ariaLabel:c,role:u,items:d,label:p,title:f,icon:h,tabIndex:m}=e,[g,v]=r.useState(!1);let y,b;const E=(0,a.classList)("common-menu-dropdown",n),k=t+"-menu";return(0,i.jsxs)("div",Object.assign({className:E,ref:e=>{e&&(y=e)},onBlur:e=>{y&&g&&!y.contains(e.relatedTarget)&&v(!1)}},{children:[(0,i.jsx)(s.Button,{id:t,label:p,tabIndex:m,buttonRef:e=>{e&&(b=e)},title:f,leftIcon:h,role:u||"menuitem",className:(0,a.classList)("menu-button",g&&"expanded"),onClick:()=>{v(!g)},ariaHasPopup:"true",ariaExpanded:g,ariaControls:g?k:void 0,ariaLabel:c,ariaHidden:l}),g&&(0,i.jsx)("div",Object.assign({role:"menu",className:"common-menu-dropdown-pane",tabIndex:0,id:k,"aria-labelledby":t},{children:(0,i.jsx)(o.FocusTrap,Object.assign({arrowKeyNavigation:!0,onEscape:()=>{v(!1),b&&b.focus()}},{children:(0,i.jsx)("ul",Object.assign({role:"presentation"},{children:d.map(((e,t)=>(0,i.jsx)("li",Object.assign({role:"presentation"},{children:(0,i.jsx)(s.Button,Object.assign({},e,{className:(0,a.classList)("common-menu-dropdown-item",e.className),onClick:()=>{v(!1),e.onClick()},role:"menuitem",ariaPosInSet:t+1,ariaSetSize:d.length}))}),t)))}))}))}))]}))}},{"../util":9,"./Button":1,"./FocusTrap":6,react:107,"react/jsx-runtime":108}],9:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.screenToSVGCoord=n.clientCoord=n.CheckboxStatus=n.nodeListToArray=n.classList=n.fireClickOnEnter=n.jsxLF=void 0;const i=e("react/jsx-runtime");var r;n.jsxLF=function(e,...t){const n=[];e.replace(/\{\d\}/g,(e=>(n.push(parseInt(e.substr(1,1))),e)));const r=[];let a,s=0;for(const o of n)a=e.split(`{${o}}`),pxt.U.assert(2===a.length),r.push((0,i.jsx)("span",{children:a[0]},s++)),r.push((0,i.jsx)("span",{children:t[o]},s++)),e=a[1];return r.push((0,i.jsx)("span",{children:e},s++)),r},n.fireClickOnEnter=function(e){const t="number"==typeof e.which?e.which:e.keyCode;13!==t&&32!==t||(e.preventDefault(),e.currentTarget.click())},n.classList=function(...e){return e.filter((e=>"string"==typeof e)).reduce(((e,t)=>e.concat(t.split(" "))),[]).map((e=>e.trim())).filter((e=>!!e)).join(" ")},n.nodeListToArray=function(e){const t=[];for(const n of e)t.push(n);return t},(r=n.CheckboxStatus||(n.CheckboxStatus={}))[r.Selected=0]="Selected",r[r.Unselected=1]="Unselected",r[r.Waiting=2]="Waiting",n.clientCoord=function(e){if(e.touches){const t=e;return t.touches.length?t.touches[0]:t.changedTouches[0]}return e},n.screenToSVGCoord=function(e,t){const n=e.createSVGPoint();return n.x=t.clientX,n.y=t.clientY,n.matrixTransform(e.getScreenCTM().inverse())}},{"react/jsx-runtime":108}],10:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.AssetEditor=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-dom"),s=e("./components/ImageFieldEditor"),o=e("./components/ImageEditor/store/imageReducer");document.addEventListener("DOMContentLoaded",(()=>{!function(){const e=document.getElementById("asset-editor-field-div");a.render((0,i.jsx)(l,{}),e)}()}));class l extends r.Component{constructor(e){super(e),this.handleMessage=e=>{const t=e.data;switch(t.type){case"create":this.initTilemapProject(t.files);const e=this.getEmptyAsset(t.assetType);this.setState({editing:e,isEmptyAsset:!0}),this.sendResponse({id:t.id,type:t.type});break;case"open":this.initTilemapProject(t.files),this.setState({editing:this.lookupAsset(t.assetType,t.assetId)}),this.sendResponse({id:t.id,type:t.type});break;case"duplicate":this.initTilemapProject(t.files);const n=this.lookupAsset(t.assetType,t.assetId);this.setState({editing:this.tilemapProject.duplicateAsset(n)}),this.sendResponse({id:t.id,type:t.type});break;case"save":this.sendResponse({id:t.id,type:t.type,files:this.saveProjectFiles()})}},this.refHandler=e=>{e&&(this.editor=e,this.editor.init(this.state.editing,(()=>{}),{galleryTiles:this.galleryTiles}))},this.callbackOnDoneClick=()=>{this.sendEvent({type:"event",kind:"done-clicked"})},this.state={},pxt.react.getTilemapProject=()=>this.tilemapProject,(0,o.setTelemetryFunction)(c)}componentDidMount(){window.addEventListener("message",this.handleMessage,null),this.sendEvent({type:"event",kind:"ready"}),c("asset-editor-shown")}componentWillUnmount(){window.removeEventListener("message",this.handleMessage,null)}render(){return this.state.editing?(0,i.jsx)(s.ImageFieldEditor,{ref:this.refHandler,singleFrame:"animation"!==this.state.editing.type,isMusicEditor:"song"===this.state.editing.type,doneButtonCallback:this.callbackOnDoneClick}):(0,i.jsx)("div",{})}sendResponse(e){this.postMessage(e)}sendEvent(e){this.postMessage(e)}postMessage(e){window.acquireVsCodeApi?window.acquireVsCodeApi().postMessage(e):window.parent.postMessage(e,"*")}saveProjectFiles(){var e;const t=this.editor.getValue();if(this.state.isEmptyAsset){const n=null===(e=t.meta)||void 0===e?void 0:e.displayName;let i;switch(t.type){case"image":i=this.tilemapProject.createNewProjectImage(t.bitmap,n);break;case"tile":i=this.tilemapProject.createNewTile(t.bitmap,null,n);break;case"tilemap":const[e,r]=this.tilemapProject.createNewTilemapFromData(t.data,n);i=this.tilemapProject.lookupAssetByName("tilemap",e);break;case"animation":i=this.tilemapProject.createNewAnimationFromData(t.frames,t.interval,n);break;case"song":i=this.tilemapProject.createNewSong(t.song,n)}this.setState({isEmptyAsset:!1,editing:i}),this.editor.init(this.state.editing,(()=>{}),{galleryTiles:this.galleryTiles})}else this.tilemapProject.updateAsset(t);const n=pxt.inflateJRes(this.tilemapProject.getProjectAssetsJRes()),i=pxt.inflateJRes(this.tilemapProject.getProjectTilesetJRes()),r={};for(const e of Object.keys(n)){const t=this.locateFileForAsset(e)||pxt.IMAGES_JRES;r[t]||(r[t]={}),r[t][e]=n[e]}for(const e of Object.keys(i)){const t=this.locateFileForAsset(e)||pxt.TILEMAP_JRES;r[t]||(r[t]={}),r[t][e]=i[e]}const a=Object.assign({},this.files);for(const e of Object.keys(r)){a[e]=JSON.stringify(r[e],null,4);const t=e.substring(0,e.length-"jres".length)+"ts";(a[t]||e===pxt.IMAGES_JRES||e===pxt.TILEMAP_JRES)&&(a[t]=pxt.emitProjectImages(r[e])+"\n"+pxt.emitTilemapsFromJRes(r[e]))}return a}initTilemapProject(e){const t={},n={},i={},r={};this.tilemapProject=new pxt.TilemapProject,this.inflatedJres={},this.commentAttrs={};for(const a of Object.keys(e)){if(!a.endsWith(".jres")){const t=u(e[a]);for(const e of Object.keys(t))this.commentAttrs[e]=t[e];continue}const s=-1!==a.indexOf("pxt_modules")||-1!==a.indexOf("node_modules"),o=pxt.inflateJRes(JSON.parse(e[a]));this.inflatedJres[a]=o;for(const e of Object.keys(o))o[e].mimeType===pxt.TILEMAP_MIME_TYPE||o[e].tilemapTile?s?n[e]=o[e]:t[e]=o[e]:s?r[e]=o[e]:i[e]=o[e]}this.tilemapProject.loadAssetsJRes(r,!0),this.tilemapProject.loadAssetsJRes(i),this.tilemapProject.loadTilemapJRes(n,!1,!0),this.tilemapProject.loadTilemapJRes(t),this.galleryTiles=this.tilemapProject.getGalleryAssets("tile").map((e=>{const t=this.commentAttrs[e.id];if(!t)return;const n=(t.tags||"").split(" ").filter((e=>!!e)).map((e=>pxt.Util.startsWith(e,"category-")?e:e.toLowerCase()));return-1!==n.indexOf("tile")?{qName:e.id,bitmap:e.bitmap,alt:e.id,tags:n}:void 0})).filter((e=>!!e))}locateFileForAsset(e){for(const t of Object.keys(this.inflatedJres))if(this.inflatedJres[t][e])return t}getEmptyAsset(e){const t=pxt.react.getTilemapProject(),n={type:e,id:"",internalID:0,meta:{displayName:pxt.getDefaultAssetDisplayName(e)}};switch(e){case"image":case"tile":n.bitmap=new pxt.sprite.Bitmap(16,16).data();break;case"tilemap":n.data=t.blankTilemap(16,16,16);case"animation":const e=n;e.frames=[new pxt.sprite.Bitmap(16,16).data()],e.interval=200;break;case"song":n.song=pxt.assets.music.getEmptySong(2)}return n}lookupAsset(e,t){const n=this.tilemapProject.lookupAsset(e,t);if(n)return n;const i=t.split(".");return this.tilemapProject.lookupAsset(e,i[i.length-1])}}function c(e){pxt.tickEvent("asset.editor",{action:e})}function u(e){const t=e.split("\n"),n={};let i,r="";for(const e of t){const t=/^namespace\s+([^\}]+)\s+\{$/.exec(e);if(t){i=t[1],r="";continue}if(/^\s+\/\/%\s/.test(e)){r+=e+"\n";continue}const a=/^\s*export\s+const\s+([^\s]+)\s*=/.exec(e);a&&(n[i+"."+a[1]]=pxtc.parseCommentString(r),r="")}return n}n.AssetEditor=l},{"./components/ImageEditor/store/imageReducer":30,"./components/ImageFieldEditor":36,react:107,"react-dom":75,"react/jsx-runtime":108}],11:[function(e,t,n){"use strict";function i(e,t=new pxt.ImageConverter){var n;switch(e.type){case"image":case"tile":return e.previewURI=t.convert("data:image/x-mkcd-f,"+e.jresData),e;case"tilemap":let i=e.data.tilemap;return e.previewURI=pxtblockly.tilemapToImageURI(e.data,Math.max(i.width,i.height),!1),e;case"animation":return(null===(n=e.frames)||void 0===n?void 0:n.length)<=0?null:(e.framePreviewURIs=e.frames.map((e=>t.convert("data:image/x-mkcd-f,"+pxt.sprite.base64EncodeBitmap(e)))),e.previewURI=e.framePreviewURIs[0],e);case"song":return e.previewURI=pxtblockly.songToDataURI(e.song,32,32,!1,1),e}}function r(e){return function(t,n){const i=-1===e.indexOf(t.meta.package)?0:1,r=-1===e.indexOf(n.meta.package)?0:1;return i===r?function(e,t){return e.internalID-t.internalID}(t,n):i-r}}Object.defineProperty(n,"__esModule",{value:!0}),n.assetToGalleryItem=n.getAssets=n.getNewInternalID=n.lookupAsset=n.createTile=n.createProjectImage=n.createNewImageAsset=n.isNameTaken=void 0,n.isNameTaken=function(e){return pxt.react.getTilemapProject().isNameTaken("image",e)},n.createNewImageAsset=function(e,t,n,i){const r=pxt.react.getTilemapProject();switch(e){case"tile":return r.createNewTile(new pxt.sprite.Bitmap(t,n).data(),null,i);case"image":return r.createNewImage(t,n)}return null},n.createProjectImage=function(e){return pxt.react.getTilemapProject().createNewProjectImage(e)},n.createTile=function(e,t,n){return pxt.react.getTilemapProject().createNewTile(e,t,n)},n.lookupAsset=function(e,t){return pxt.react.getTilemapProject().lookupAsset(e,t)},n.getNewInternalID=function(){return pxt.react.getTilemapProject().getNewInternalId()},n.getAssets=function(e=!1,t="image",n=[]){const a=pxt.react.getTilemapProject(),s=new pxt.ImageConverter,o=e=>i(e,s),l=e?a.getGalleryAssets.bind(a):a.getAssets.bind(a),c=function(){var e;const t=null===(e=pxt.appTarget.blocksprj)||void 0===e?void 0:e.config;if(t)return Object.keys(t.dependencies);return[]}(),u=l("image").map(o).sort(r(c)),d=l("tile").map(o).filter((e=>!e.id.match(/^myTiles.transparency(8|16|32)$/gi))).sort(r(c)),p=l("tilemap").map(o).sort(r(c)),f=l("animation").map(o).sort(r(c)),h=l("song").map(o).sort(r(c));for(const e of n)switch(e.type){case"image":u.push(o(e));break;case"tile":d.push(o(e));break;case"animation":f.push(o(e));break;case"tilemap":p.push(o(e));break;case"song":h.push(o(e))}let m=[];switch(t){case"image":m=u.concat(d).concat(f).concat(p).concat(h);break;case"tile":m=d.concat(u).concat(f).concat(p).concat(h);break;case"animation":m=f.concat(u).concat(d).concat(p).concat(h);break;case"tilemap":m=p.concat(d).concat(u).concat(f).concat(h);break;case"song":m=h.concat(u).concat(d).concat(f).concat(p)}return pxt.tickEvent(e?"assets.gallery":"assets.update",{count:m.length}),m},n.assetToGalleryItem=i},{}],12:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.FilterPanel=n.FilterPanelSubheading=n.FilterTag=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../util");class s extends r.Component{constructor(e){super(e),this.clickHandler=this.clickHandler.bind(this)}render(){return(0,i.jsxs)("div",Object.assign({className:"filter-tag"},{children:[(0,i.jsx)("div",Object.assign({className:"filter-tag-box",role:"checkbox",onClick:this.clickHandler,onKeyDown:a.fireClickOnEnter,"aria-checked":this.props.selected},{children:(0,i.jsx)("i",{className:"icon square outline "+(this.props.selected?"check":"")})})),(0,i.jsx)("div",Object.assign({className:"filter-tag-name",role:"button",onClick:this.clickHandler,onKeyDown:a.fireClickOnEnter},{children:pxtc.U.rlf(this.props.tag)}))]}))}clickHandler(){this.props.onClickHandler(this.props.tag)}}n.FilterTag=s;class o extends r.Component{render(){return(0,i.jsxs)("div",Object.assign({className:"filter-subheading-row"},{children:[(0,i.jsx)("div",Object.assign({className:"filter-subheading-title"},{children:`${this.props.subheading}:`})),this.props.buttonText&&(0,i.jsx)("div",Object.assign({className:"filter-subheading-button",role:"button",style:this.props.buttonStyle,onClick:this.props.buttonAction,onKeyDown:a.fireClickOnEnter},{children:this.props.buttonText}))]}))}}n.FilterPanelSubheading=o;class l extends r.Component{isTagSelected(e){return this.props.enabledTags.indexOf(e.toLowerCase())>=0}render(){const e=this.props.tagOptions;return(0,i.jsxs)("div",Object.assign({className:"filter-panel"},{children:[(0,i.jsx)("div",Object.assign({className:"filter-title"},{children:lf("Filter")})),(0,i.jsx)(o,{subheading:lf("Categories"),buttonText:lf("Clear"),buttonAction:this.props.clearTags,buttonStyle:this.props.enabledTags.length>0?{color:"white"}:{}}),(0,i.jsx)("div",Object.assign({className:"filter-tag-list"},{children:e.map((e=>(0,i.jsx)(s,{tag:e,selected:this.isTagSelected(e),onClickHandler:this.props.tagClickHandler},e)))}))]}))}}n.FilterPanel=l},{"../util":59,react:107,"react/jsx-runtime":108}],13:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Alert=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./actions/dispatch");class o extends r.Component{constructor(e){super(e)}render(){const{title:e,text:t,options:n,dispatchHideAlert:r}=this.props;return(0,i.jsx)("div",Object.assign({className:"image-editor-alert-container",role:"region",onClick:r},{children:(0,i.jsxs)("div",Object.assign({className:"image-editor-alert",role:"dialog"},{children:[(0,i.jsxs)("div",Object.assign({className:"title"},{children:[(0,i.jsx)("span",{className:"ms-Icon ms-Icon--Warning"}),(0,i.jsx)("span",{children:e}),(0,i.jsx)("span",{className:"ms-Icon ms-Icon--Cancel",role:"button",onClick:r})]})),(0,i.jsx)("div",Object.assign({className:"text"},{children:t})),n&&(0,i.jsx)("div",Object.assign({className:"options"},{children:n.map(((e,t)=>(0,i.jsx)("div",Object.assign({className:"button",role:"button",onClick:e.onClick},{children:e.label}),t)))}))]}))}))}}const l={dispatchHideAlert:s.dispatchHideAlert};n.Alert=(0,a.connect)((function({editor:e},t){return e?t:{}}),l)(o)},{"./actions/dispatch":26,react:107,"react-redux":93,"react/jsx-runtime":108}],14:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.BottomBar=n.BottomBarImpl=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./actions/dispatch"),o=e("./Button"),l=e("./util"),c=e("../../assets"),u=e("./keyboardShortcuts");class d extends r.Component{constructor(e){super(e),this.disableShortcutsOnFocus=()=>{this.setShortcutsEnabled(!1)},this.handleWidthChange=e=>{const t=e.target.value,n=parseInt(t),{aspectRatioLocked:i,imageDimensions:r}=this.props;!isNaN(n)&&i?this.setState({width:n+"",height:Math.floor(n*(r[1]/r[0]))+""}):this.setState({width:t})},this.handleHeightChange=e=>{const t=e.target.value,n=parseInt(t),{aspectRatioLocked:i,imageDimensions:r}=this.props;!isNaN(n)&&i?this.setState({height:n+"",width:Math.floor(n*(r[0]/r[1]))+""}):this.setState({height:t})},this.handleDimensionalBlur=()=>{const{imageDimensions:e,isTilemap:t,dispatchChangeImageDimensions:n}=this.props,i=parseInt(this.state.width),r=parseInt(this.state.height),a=t?255:512,s=isNaN(i)?e[0]:Math.min(Math.max(i,1),a),o=isNaN(r)?e[1]:Math.min(Math.max(r,1),a);s===e[0]&&o===e[1]||n([s,o]),this.setState({width:null,height:null}),this.setShortcutsEnabled(!0)},this.handleDimensionalKeydown=e=>{13===("number"==typeof e.which?e.which:e.keyCode)&&e.currentTarget.blur()},this.handleAssetNameChange=e=>{let t=null;const n=e.target.value.trim(),i=e.target.value;pxt.validateAssetName(n)?(0,c.isNameTaken)(n)&&n!==this.props.assetName&&(t=lf("This name is already used elsewhere in your project")):t=lf("Names may only contain letters, numbers, '-', '_', and space"),this.setState({assetName:i,assetNameMessage:t})},this.handleAssetNameBlur=()=>{const{dispatchChangeAssetName:e,assetName:t}=this.props;let n=this.state.assetName.trim();n!==t&&pxt.validateAssetName(n)&&!(0,c.isNameTaken)(n)&&e(n),this.setState({assetName:null,assetNameMessage:null}),this.setShortcutsEnabled(!0)},this.zoomIn=()=>{this.props.dispatchChangeZoom(1)},this.zoomOut=()=>{this.props.dispatchChangeZoom(-1)},this.state={}}render(){const{imageDimensions:e,cursorLocation:t,hasUndo:n,hasRedo:r,dispatchUndoImageEdit:a,dispatchRedoImageEdit:s,aspectRatioLocked:c,onionSkinEnabled:u,dispatchToggleAspectRatioLocked:d,dispatchToggleOnionSkinEnabled:p,resizeDisabled:f,singleFrame:h,onDoneClick:m,assetName:g}=this.props,{assetNameMessage:v}=this.state,y=null==this.state.width?e[0]:this.state.width,b=null==this.state.height?e[1]:this.state.height,E=null==this.state.assetName?g||"":this.state.assetName;return(0,i.jsxs)("div",Object.assign({className:"image-editor-bottombar"},{children:[!f&&(0,i.jsxs)("div",Object.assign({className:"image-editor-resize"},{children:[(0,i.jsx)("input",{className:"image-editor-input",title:lf("Image Width"),value:y,tabIndex:0,onChange:this.handleWidthChange,onFocus:this.disableShortcutsOnFocus,onBlur:this.handleDimensionalBlur,onKeyDown:this.handleDimensionalKeydown}),(0,i.jsx)(o.IconButton,{onClick:d,iconClass:c?"ms-Icon ms-Icon--Lock":"ms-Icon ms-Icon--Unlock",title:c?lf("Unlock Aspect Ratio"):lf("Lock Aspect Ratio"),toggle:!c,noTab:!0}),(0,i.jsx)("input",{className:"image-editor-input",title:lf("Image Height"),value:b,tabIndex:0,onChange:this.handleHeightChange,onFocus:this.disableShortcutsOnFocus,onBlur:this.handleDimensionalBlur,onKeyDown:this.handleDimensionalKeydown})]})),!h&&(0,i.jsx)("div",{className:"image-editor-seperator"}),!h&&(0,i.jsx)("div",{children:(0,i.jsx)(o.IconButton,{onClick:p,iconClass:"ms-Icon ms-Icon--MapLayers",title:u?lf("Hide Previous Frame"):lf("Show Previous Frame"),toggle:!u})}),t&&!f&&(0,i.jsx)("div",{className:"image-editor-seperator"}),(0,i.jsx)("div",Object.assign({className:"image-editor-coordinate-preview"},{children:t&&`${t[0]}, ${t[1]}`})),(0,i.jsxs)("div",Object.assign({className:"image-editor-change-name"},{children:[(0,i.jsx)("input",{className:"image-editor-input",title:lf("Asset Name"),value:E,placeholder:lf("Asset Name"),tabIndex:0,onChange:this.handleAssetNameChange,onFocus:this.disableShortcutsOnFocus,onBlur:this.handleAssetNameBlur,onKeyDown:this.handleDimensionalKeydown}),v&&(0,i.jsx)("div",Object.assign({className:"ui pointing below red basic label"},{children:v}))]})),(0,i.jsxs)("div",Object.assign({className:"image-editor-undo-redo"},{children:[(0,i.jsx)(o.IconButton,{title:lf("Undo"),iconClass:"ms-Icon ms-Icon--Undo",onClick:n?a:null,disabled:!n}),(0,i.jsx)(o.IconButton,{title:lf("Redo"),iconClass:"ms-Icon ms-Icon--Redo",onClick:r?s:null,disabled:!r})]})),(0,i.jsx)("div",{className:"image-editor-seperator"}),(0,i.jsxs)("div",Object.assign({className:"image-editor-zoom-controls"},{children:[(0,i.jsx)(o.IconButton,{onClick:this.zoomOut,iconClass:"ms-Icon ms-Icon--ZoomOut",title:lf("Zoom Out"),toggle:!0}),(0,i.jsx)(o.IconButton,{onClick:this.zoomIn,iconClass:"ms-Icon ms-Icon--ZoomIn",title:lf("Zoom In"),toggle:!0})]})),(0,i.jsx)("div",Object.assign({role:"button",className:"image-editor-confirm",title:lf("Done"),tabIndex:0,onClick:m,onKeyDown:l.fireClickOnlyOnEnter},{children:lf("Done")}))]}))}setShortcutsEnabled(e){e&&this.shortcutLock?((0,u.releaseShortcutLock)(this.shortcutLock),this.shortcutLock=void 0):e||this.shortcutLock||(this.shortcutLock=(0,u.obtainShortcutLock)())}}n.BottomBarImpl=d;const p={dispatchChangeImageDimensions:s.dispatchChangeImageDimensions,dispatchUndoImageEdit:s.dispatchUndoImageEdit,dispatchRedoImageEdit:s.dispatchRedoImageEdit,dispatchToggleAspectRatioLocked:s.dispatchToggleAspectRatioLocked,dispatchToggleOnionSkinEnabled:s.dispatchToggleOnionSkinEnabled,dispatchChangeZoom:s.dispatchChangeZoom,dispatchChangeAssetName:s.dispatchChangeAssetName};n.BottomBar=(0,a.connect)((function({store:{present:e,past:t,future:n},editor:i},r){var a,s,o;if(!e)return{};const l=i.isTilemap?e.tilemap.bitmap:e.frames[e.currentFrame].bitmap;return{imageDimensions:[l.width,l.height],aspectRatioLocked:e.aspectRatioLocked,onionSkinEnabled:i.onionSkinEnabled,cursorLocation:i.cursorLocation,resizeDisabled:"tile"===(null===(a=e.asset)||void 0===a?void 0:a.type),assetName:null===(o=null===(s=e.asset)||void 0===s?void 0:s.meta)||void 0===o?void 0:o.displayName,hasUndo:!!t.length,hasRedo:!!n.length,isTilemap:i.isTilemap}}),p)(d)},{"../../assets":11,"./Button":15,"./actions/dispatch":26,"./keyboardShortcuts":28,"./util":35,react:107,"react-redux":93,"react/jsx-runtime":108}],15:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.IconButton=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./util");class s extends r.Component{render(){const{title:e,iconClass:t,onClick:n,toggle:r,disabled:s,noTab:o}=this.props;return(0,i.jsx)("div",Object.assign({role:"button",className:`image-editor-button ${r?"toggle":""} ${s?"disabled":""}`,title:e,tabIndex:o||s?-1:0,onClick:n,onKeyDown:a.fireClickOnlyOnEnter},{children:(0,i.jsx)("span",{className:t})}))}}n.IconButton=s},{"./util":35,react:107,"react/jsx-runtime":108}],16:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.CursorSizes=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./actions/dispatch"),s=e("react-redux");class o extends r.Component{constructor(){super(...arguments),this.handlers=[]}render(){const{selected:e}=this.props;return(0,i.jsxs)("div",Object.assign({className:"cursor-buttons"},{children:[(0,i.jsx)("div",Object.assign({className:"cursor-button-outer "+(1===e?"selected":""),title:lf("Small Cursor (1px)"),role:"button",onClick:this.clickHandler(1)},{children:(0,i.jsx)("div",{className:"cursor-button small"})})),(0,i.jsx)("div",Object.assign({className:"cursor-button-outer "+(3===e?"selected":""),title:lf("Medium Cursor (3px)"),role:"button",onClick:this.clickHandler(3)},{children:(0,i.jsx)("div",{className:"cursor-button medium"})})),(0,i.jsx)("div",Object.assign({className:"cursor-button-outer "+(5===e?"selected":""),title:lf("Large Cursor (5px)"),role:"button",onClick:this.clickHandler(5)},{children:(0,i.jsx)("div",{className:"cursor-button large"})}))]}))}clickHandler(e){return this.handlers[e]||(this.handlers[e]=()=>{const{dispatchChangeCursorSize:t}=this.props;t(e)}),this.handlers[e]}}const l={dispatchChangeCursorSize:a.dispatchChangeCursorSize};n.CursorSizes=(0,s.connect)((function({editor:e},t){return e?{selected:e.cursorSize}:{}}),l)(o)},{"./actions/dispatch":26,react:107,"react-redux":93,"react/jsx-runtime":108}],17:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Dropdown=void 0;const i=e("react/jsx-runtime"),r=e("react");class a extends r.Component{constructor(e){super(e),this.handlers=[],this.handleDropdownClick=()=>{this.setState({open:!this.state.open})},this.state={open:!1}}componentDidUpdate(){this.handlers=[]}componentWillUnmount(){this.handlers=null}render(){const{options:e,selected:t}=this.props,{open:n}=this.state,r=e[t];return(0,i.jsxs)("div",Object.assign({className:"image-editor-dropdown-outer"},{children:[(0,i.jsxs)("button",Object.assign({className:"image-editor-dropdown","aria-haspopup":"listbox",onClick:this.handleDropdownClick,tabIndex:-1},{children:[(null==r?void 0:r.text)||"",(0,i.jsx)("span",{className:"image-editor-dropdown-chevron ms-Icon ms-Icon--ChevronDown"})]})),(0,i.jsx)("ul",Object.assign({tabIndex:-1,role:"listbox","aria-activedescendant":null==r?void 0:r.id,className:n&&e.length?"":"hidden"},{children:e.map(((e,n)=>(0,i.jsx)("li",Object.assign({role:"option","aria-selected":n===t,className:n===t?"selected":"",onClick:this.clickHandler(n)},{children:e.text}),e.id)))}))]}))}clickHandler(e){if(!this.handlers[e]){const{onChange:t,options:n}=this.props;this.handlers[e]=()=>{this.setState({open:!1}),t(n[e],e)}}return this.handlers[e]}}n.Dropdown=a},{react:107,"react/jsx-runtime":108}],18:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ImageCanvas=n.ImageCanvasImpl=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./store/imageReducer"),o=e("./actions/dispatch"),l=e("./util"),c=e("./toolDefinitions"),u=e("../../assets"),d=e("./keyboardShortcuts"),p=e("./ImageEditor"),f=[s.TileDrawingMode.Wall];class h extends r.Component{constructor(){super(...arguments),this.cursor=c.ToolCursor.Crosshair,this.zoom=2.5,this.panX=0,this.panY=0,this.hasInteracted=!1,this.tileCache={},this.onKeyDown=e=>{var t,n,i,r,a,o;if((0,d.areShortcutsEnabled)()){if(this.hasInteracted=!0,this.shouldHandleCanvasShortcut()&&(null===(n=null===(t=this.editState)||void 0===t?void 0:t.floating)||void 0===n?void 0:n.image)){let t=!1;switch(e.key){case"ArrowLeft":this.editState.layerOffsetX=Math.max(this.editState.layerOffsetX-1,-this.editState.floating.image.width),t=!0;break;case"ArrowUp":this.editState.layerOffsetY=Math.max(this.editState.layerOffsetY-1,-this.editState.floating.image.height),t=!0;break;case"ArrowRight":this.editState.layerOffsetX=Math.min(this.editState.layerOffsetX+1,this.editState.width),t=!0;break;case"ArrowDown":this.editState.layerOffsetY=Math.min(this.editState.layerOffsetY+1,this.editState.height),t=!0}t&&(this.props.dispatchImageEdit(this.editState.toImageState()),e.preventDefault())}if(!e.repeat){switch(!e.ctrlKey&&!e.metaKey||"c"!==e.key&&"v"!==e.key||e.stopPropagation(),(e.ctrlKey||e.metaKey)&&"a"===e.key&&this.shouldHandleCanvasShortcut()&&(this.selectAll(),e.preventDefault()),"Escape"==e.key&&(null===(r=null===(i=this.editState)||void 0===i?void 0:i.floating)||void 0===r?void 0:r.image)&&this.shouldHandleCanvasShortcut()&&(this.cancelSelection(),e.preventDefault()),("Backspace"===e.key||"Delete"===e.key)&&(null===(o=null===(a=this.editState)||void 0===a?void 0:a.floating)||void 0===o?void 0:o.image)&&this.shouldHandleCanvasShortcut()&&(this.deleteSelection(),e.preventDefault()),this.lastTool=this.props.tool,e.keyCode){case 18:this.props.dispatchChangeImageTool(s.ImageEditorTool.ColorSelect),e.preventDefault();break;case 32:this.props.dispatchChangeImageTool(s.ImageEditorTool.Pan);break;default:this.lastTool=null}this.updateCursor(!1,!1)}}},this.onKeyUp=e=>{null!=this.lastTool&&(this.props.dispatchChangeImageTool(this.lastTool),this.lastTool=null,this.updateCursor(!1,!1))},this.onCopy=e=>{var t,n;if(this.props.tool===s.ImageEditorTool.Marquee&&(null===(n=null===(t=this.editState)||void 0===t?void 0:t.floating)||void 0===n?void 0:n.image))if(e.preventDefault(),this.props.isTilemap)e.clipboardData.setData("application/makecode-tilemap",JSON.stringify((0,l.createTilemapPatchFromFloatingLayer)(this.editState,this.props.tilemapState.tileset)));else{const t=pxt.sprite.bitmapToImageLiteral(this.editState.floating.image,"typescript");e.clipboardData.setData("application/makecode-image",t),e.clipboardData.setData("text/plain",t)}},this.onPaste=e=>{if(this.props.isTilemap){const t=e.clipboardData.getData("application/makecode-tilemap");let n;try{n=JSON.parse(t)}catch(e){}if(!(n&&n.map&&n.layers&&n.tiles))return;return e.preventDefault(),void this.applyTilemapPatch(n)}let t=e.clipboardData.getData("application/makecode-image");if(!t){const n=e.clipboardData.getData("text/plain"),i=/img(`|\(""")[\s\da-f.#tngrpoyw]+(`|"""\))/im.exec(n);i&&(t=i[0])}const n=t&&pxt.sprite.imageLiteralToBitmap(t);n&&n.width&&n.height&&(e.preventDefault(),this.props.tool!==s.ImageEditorTool.Marquee&&this.props.dispatchChangeImageTool(s.ImageEditorTool.Marquee),this.editState.mergeFloatingLayer(),this.editState.setFloatingLayer(n),this.props.dispatchImageEdit(this.editState.toImageState()))},this.preventContextMenu=e=>e.preventDefault()}render(){const e=this.getImageState(),t=!e||e.bitmap.height>e.bitmap.width,n=!this.props.isTilemap&&this.props.tool==s.ImageEditorTool.Marquee;return(0,i.jsx)("div",Object.assign({ref:"canvas-bounds",className:"image-editor-canvas "+(t?"portrait":"landscape"),onContextMenu:this.preventContextMenu},{children:(0,i.jsxs)("div",Object.assign({className:"paint-container"},{children:[!this.props.lightMode&&(0,i.jsx)("canvas",{ref:"paint-surface-bg",className:"paint-surface"}),(0,i.jsx)("canvas",{ref:"paint-surface",className:"paint-surface main"}),f.map(((e,t)=>(0,i.jsx)("canvas",{ref:`paint-surface-${e.toString()}`,className:"paint-surface overlay "+(this.props.overlayEnabled?"":"hide")},t))),(0,i.jsx)("div",{ref:"floating-layer-border",className:"image-editor-floating-layer"}),n&&(0,i.jsx)("div",{ref:"floating-layer-nw-corner",className:"image-editor-floating-layer-corner"}),n&&(0,i.jsx)("div",{ref:"floating-layer-ne-corner",className:"image-editor-floating-layer-corner"}),n&&(0,i.jsx)("div",{ref:"floating-layer-se-corner",className:"image-editor-floating-layer-corner"}),n&&(0,i.jsx)("div",{ref:"floating-layer-sw-corner",className:"image-editor-floating-layer-corner"})]}))}))}componentDidMount(){document.activeElement instanceof HTMLElement&&document.activeElement.blur(),this.tileCache={},this.cellWidth=this.props.isTilemap?this.props.tilemapState.tileset.tileWidth:1,this.canvas=this.refs["paint-surface"],this.background=this.refs["paint-surface-bg"],this.floatingLayer=this.refs["floating-layer-border"],this.canvasLayers=f.map((e=>this.refs[`paint-surface-${e.toString()}`])),(0,l.bindGestureEvents)(this.refs["canvas-bounds"],this);const e=this.refs["canvas-bounds"];e.addEventListener("wheel",(e=>{this.hasInteracted=!0,this.updateZoom(e.deltaY/30,e.clientX,e.clientY),e.preventDefault()})),e.addEventListener("mousemove",(e=>{e.button||(this.hasHover=!0),this.edit||this.updateCursorLocation(e)})),e.addEventListener("mouseout",(e=>{this.edit||this.updateCursorLocation(null)})),document.addEventListener("keydown",this.onKeyDown,!0),document.addEventListener("keyup",this.onKeyUp),document.addEventListener("copy",this.onCopy),document.addEventListener("paste",this.onPaste);const t=this.getImageState();this.editState=(0,c.getEditState)(t,this.props.isTilemap,this.props.drawingMode),this.redraw(),this.updateBackground()}componentDidUpdate(){if(!this.edit||!this.editState){const e=this.getImageState();this.editState=(0,c.getEditState)(e,this.props.isTilemap,this.props.drawingMode)}if(this.props.isTilemap||(this.tileCache={}),this.cellWidth=this.props.isTilemap?this.props.tilemapState.tileset.tileWidth:1,this.props.zoomDelta||0===this.props.zoomDelta)return 0===this.props.zoomDelta?this.hasInteracted||this.zoomToCanvas():(this.hasInteracted=!0,this.updateZoom(this.props.zoomDelta)),void this.props.dispatchChangeZoom(null);this.redraw(),this.updateBackground()}componentWillUnmount(){this.tileCache={},document.removeEventListener("keydown",this.onKeyDown,!0),document.removeEventListener("keyup",this.onKeyUp),document.removeEventListener("copy",this.onCopy),document.removeEventListener("paste",this.onPaste)}onClick(e,t){var n,i;this.hasInteracted=!0,this.isPanning()||(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),this.isColorSelect()?this.selectCanvasColor(e,t):(this.updateCursorLocation(e),this.inBounds(this.cursorLocation[0],this.cursorLocation[1])?(this.touchesResize(e.clientX,e.clientY)&&(this.isResizing=!0),this.startEdit(!!t),this.updateEdit(this.cursorLocation[0],this.cursorLocation[1]),this.commitEdit()):(null===(i=null===(n=this.editState)||void 0===n?void 0:n.floating)||void 0===i?void 0:i.image)&&(this.editState.mergeFloatingLayer(),this.props.dispatchImageEdit(this.editState.toImageState()))))}onDragStart(e,t){this.hasInteracted=!0,this.touchesResize(e.clientX,e.clientY)&&(this.isResizing=!0),this.isPanning()?(this.lastPanX=e.clientX,this.lastPanY=e.clientY,this.updateCursor(!0,!1)):this.isColorSelect()?this.selectCanvasColor(e,t):(this.updateCursorLocation(e),this.startEdit(!!t))}onDragMove(e){if(this.isPanning()&&null!=this.lastPanX&&null!=this.lastPanY)this.panX+=this.lastPanX-e.clientX,this.panY+=this.lastPanY-e.clientY,this.lastPanX=e.clientX,this.lastPanY=e.clientY,this.updateCursor(!0,!1);else{if(!this.edit)return;this.updateCursorLocation(e)&&this.updateEdit(this.cursorLocation[0],this.cursorLocation[1])}}onDragEnd(e){if(this.isPanning()&&null!=this.lastPanX&&null!=this.lastPanY)this.panX+=this.lastPanX-e.clientX,this.panY+=this.lastPanY-e.clientY,this.lastPanX=void 0,this.lastPanY=void 0,this.updateCursor(!1,!1);else if(this.isResizing){if(!this.edit)return;this.updateCursorLocation(e)&&this.updateEdit(this.cursorLocation[0],this.cursorLocation[1]),this.commitEdit(!1),this.updateCursor(!1,!1)}else{if(!this.edit)return;this.updateCursorLocation(e)&&this.updateEdit(this.cursorLocation[0],this.cursorLocation[1]),this.commitEdit()}this.isResizing=!1}updateCursorLocation(e){if(!e)return this.cursorLocation&&(this.cursorLocation=null,this.props.dispatchChangeCursorLocation(null),this.edit||this.redraw()),!1;if(this.canvas){const t=this.canvas.getBoundingClientRect(),n=Math.floor((e.clientX-t.left)/t.width*this.imageWidth),i=Math.floor((e.clientY-t.top)/t.height*this.imageHeight);return!(this.cursorLocation&&n===this.cursorLocation[0]&&i===this.cursorLocation[1]||(this.cursorLocation=[n,i,e.clientX,e.clientY],this.hasHover&&this.props.dispatchChangeCursorLocation(this.cursorLocation),this.edit||this.redraw(),this.updateCursor(!!this.edit,this.editState.inFloatingLayer(n,i)),0))}return this.cursorLocation=[0,0,e.clientX,e.clientY],!1}updateCursor(e,t){const{tool:n}=this.props,i=c.tools.find((e=>e.tool===n));i?t?e?this.updateCursorCore(i.downLayerCursor||i.hoverLayerCursor||i.downCursor||i.hoverCursor):this.updateCursorCore(i.hoverLayerCursor||i.hoverCursor):e?this.updateCursorCore(i.downCursor||i.hoverCursor):this.updateCursorCore(i.hoverCursor):this.updateCursorCore(c.ToolCursor.Default)}updateCursorCore(e){this.cursor=e||c.ToolCursor.Default,this.updateBackground()}startEdit(e){const{tool:t,toolWidth:n,selectedColor:i,backgroundColor:r,drawingMode:a}=this.props,[o,l]=this.cursorLocation;if(this.inBounds(o,l)||this.isResizing){let o=a==s.TileDrawingMode.Wall?2:e?r:i;this.edit=(0,c.getEdit)(t,this.editState,o,n),this.edit.originalImage=this.originalImage,this.edit.start(this.cursorLocation[0],this.cursorLocation[1],this.cursorLocation[2],this.cursorLocation[3],this.editState)}}updateEdit(e,t){this.edit&&(this.edit.inBounds(e,t)||this.isResizing)&&(this.edit.update(e,t),this.redraw())}commitEdit(e=!0){const{dispatchImageEdit:t}=this.props,n=this.getImageState();this.edit&&(this.editState=(0,c.getEditState)(n,this.props.isTilemap,this.props.drawingMode),this.edit.doEdit(this.editState),this.originalImage=e?void 0:this.edit.originalImage,this.edit=void 0,t(this.editState.toImageState()))}redraw(){const{prevFrame:e,onionSkinEnabled:t,selectedColor:n,toolWidth:i,drawingMode:r,tool:a}=this.props,o=this.getImageState(),l=r==s.TileDrawingMode.Wall?2:n;let u=!1;if(this.canvas){if(this.imageWidth=o.bitmap.width,this.imageHeight=o.bitmap.height,u=this.canvas.width!=o.bitmap.width*this.cellWidth||this.canvas.height!=o.bitmap.height*this.cellWidth,this.canvas.width=o.bitmap.width*this.cellWidth,this.canvas.height=o.bitmap.height*this.cellWidth,this.canvasLayers.forEach((e=>{e.width=this.canvas.width/this.cellWidth,e.height=this.canvas.height/this.cellWidth})),t&&e){const t=(0,c.getEditState)(e,this.props.isTilemap,r),n=this.canvas.getContext("2d");n.globalAlpha=.5,this.drawImage(t.image),t.floating&&t.floating.image&&this.drawImage(t.floating.image,t.layerOffsetX,t.layerOffsetY,!0),n.globalAlpha=1}if(this.edit){const n=this.editState.copy();n.setActiveLayer(r),this.edit.doEdit(n),this.drawImage(n.image,0,0,!(!t||!e)),this.drawOverlayLayers(n.overlayLayers),this.redrawFloatingLayer(n)}else if(this.drawImage(this.editState.image,0,0,!(!t||!e)),this.drawOverlayLayers(this.editState.overlayLayers),this.redrawFloatingLayer(this.editState),this.cursorLocation&&this.shouldDrawCursor()){const e=a===s.ImageEditorTool.Erase?0:l;this.drawCursor(this.cursorLocation[0]-(i>>1),this.cursorLocation[1]-(i>>1),i,e)}if(this.background&&(this.background.width!=this.canvas.width<<1||this.background.height!=this.canvas.height<<1)){this.background.width=this.canvas.width<<1,this.background.height=this.canvas.height<<1;const e=this.background.getContext("2d");e.imageSmoothingEnabled=!1,e.fillStyle="#aeaeae",e.fillRect(0,0,this.background.width,this.background.height),e.fillStyle="#dedede";const t=this.imageHeight<<1,n=this.imageWidth<<1;for(let i=0;i<n;i++)for(let n=0;n<t;n++)i+n&1&&e.fillRect(i*this.cellWidth,n*this.cellWidth,this.cellWidth,this.cellWidth)}}u&&this.zoomToCanvas()}drawImage(e,t=0,n=0,i=!1,r=!this.props.lightMode){this.props.isTilemap?this.drawTilemap(e,t,n,i,r):this.drawBitmap(e,t,n,i,r)}redrawFloatingLayer(e,t=!1){const n=this.refs["floating-layer-border"],i=this.refs["floating-layer-nw-corner"],r=this.refs["floating-layer-ne-corner"],a=this.refs["floating-layer-se-corner"],s=this.refs["floating-layer-sw-corner"],o=[i,r,a,s];if(e.floating&&e.floating.image){t||(this.drawImage(e.floating.image,e.layerOffsetX,e.layerOffsetY,!0),e.floating.overlayLayers&&this.drawOverlayLayers(e.floating.overlayLayers,e.layerOffsetX,e.layerOffsetY));const l=this.canvas.getBoundingClientRect(),c=Math.max(e.layerOffsetX,0),u=Math.max(e.layerOffsetY,0),d=Math.min(e.layerOffsetX+e.floating.image.width,e.width),p=Math.min(e.layerOffsetY+e.floating.image.height,e.height),f=l.width/e.width,h=l.height/e.height;n.style.display="",(d-c<1||p-u<1)&&(n.style.display="none");const m=-this.panX+f*c,g=-this.panY+h*u,v=f*(d-c),y=h*(p-u);if(n.style.left=m+"px",n.style.top=g+"px",n.style.width=v+"px",n.style.height=y+"px",n.style.borderLeft=e.layerOffsetX>=0?"":"none",n.style.borderTop=e.layerOffsetY>=0?"":"none",n.style.borderRight=e.layerOffsetX+e.floating.image.width<=e.width?"":"none",n.style.borderBottom=e.layerOffsetY+e.floating.image.height<=e.height?"":"none",null!=i){const e=16,t=3;this.props.isTilemap||(o.forEach((n=>{n.style.display="",n.style.width=e+"px",n.style.height=e+"px",n.style.border=t+"px solid black",n.style.position="absolute",n.style.backgroundColor="white"})),i.style.left=m-e+"px",i.style.top=g-e+"px",i.style.cursor="nw-resize",r.style.left=m+v+"px",r.style.top=g-e+"px",r.style.cursor="ne-resize",a.style.left=m+v+"px",a.style.top=g+y+"px",a.style.cursor="se-resize",s.style.left=m-e+"px",s.style.top=g+y+"px",s.style.cursor="sw-resize")}}else n.style.display="none",o.forEach((e=>{e&&(e.style.display="none")}))}drawOverlayLayers(e,t=0,n=0,i=!this.props.lightMode){e&&e.forEach(((e,r)=>{this.drawBitmap(e,t,n,!0,i,this.canvasLayers[r])}))}drawBitmap(e,t=0,n=0,i=!1,r=!this.props.lightMode,a=this.canvas){const{colors:s}=this.props,o=a.getContext("2d");o.imageSmoothingEnabled=!1;for(let r=0;r<e.width;r++)for(let a=0;a<e.height;a++){const l=e.get(r,a);l?(o.fillStyle=s[l],o.fillRect(r+t,a+n,1,1)):i||o.clearRect(r+t,a+n,1,1)}}generateTile(e,t){if(!t.tiles[e])return null;const n=document.createElement("canvas");return n.width=t.tileWidth,n.height=t.tileWidth,this.drawBitmap(pxt.sprite.Bitmap.fromData(t.tiles[e].bitmap),0,0,!1,!this.props.lightMode,n),this.tileCache[t.tiles[e].id]=n,n}drawTilemap(e,t=0,n=0,i=!1,r=!this.props.lightMode,a=this.canvas){const{tilemapState:{tileset:s}}=this.props,o=a.getContext("2d");let l,c;this.tileCacheRevision!==this.props.tilesetRevision&&(this.tileCache={},this.tileCacheRevision=this.props.tilesetRevision),o.imageSmoothingEnabled=!1,o.fillStyle=p.LIGHT_MODE_TRANSPARENT;for(let a=0;a<e.width;a++)for(let u=0;u<e.height;u++)if((l=e.get(a,u))&&l<s.tiles.length){if((c=this.tileCache[s.tiles[l].id])||(c=this.generateTile(l,s)),!c)continue;o.drawImage(c,(a+t)*this.cellWidth,(u+n)*this.cellWidth)}else i||(r?o.clearRect((a+t)*this.cellWidth,(u+n)*this.cellWidth,this.cellWidth,this.cellWidth):o.fillRect((a+t)*this.cellWidth,(u+n)*this.cellWidth,this.cellWidth,this.cellWidth))}drawCursor(e,t,n,i){const r=this.props.isTilemap&&this.props.drawingMode===s.TileDrawingMode.Wall,a=(r?this.canvasLayers[0]:this.canvas).getContext("2d");if(a.imageSmoothingEnabled=!1,i&&-1!==i)if(this.props.isTilemap&&!r){if(i>=this.props.tilemapState.tileset.tiles.length)return;let r=this.tileCache[this.props.tilemapState.tileset.tiles[i].id];if(r||(r=this.generateTile(i,this.props.tilemapState.tileset)),!r)return;for(let i=0;i<n;i++)for(let s=0;s<n;s++)a.drawImage(r,(e+i)*this.cellWidth,(t+s)*this.cellWidth)}else r?(a.fillStyle=this.props.colors[i],a.fillRect(e,t,1,1)):(a.fillStyle=this.props.colors[i],a.fillRect(e*this.cellWidth,t*this.cellWidth,n*this.cellWidth,n*this.cellWidth));else this.props.lightMode?(a.fillStyle=p.LIGHT_MODE_TRANSPARENT,a.fillRect(e*this.cellWidth,t*this.cellWidth,n*this.cellWidth,n*this.cellWidth)):a.clearRect(e*this.cellWidth,t*this.cellWidth,n*this.cellWidth,n*this.cellWidth)}updateBackground(){this.refs["canvas-bounds"].style.cursor=this.cursor,this.canvas.style.cursor=this.cursor,this.updateZoom(0)}updateZoom(e,t,n){const i=this.refs["canvas-bounds"];if(this.canvas&&i){const r=i.getBoundingClientRect();t=void 0===t?r.left+(r.width>>1):t,n=void 0===n?r.top+(r.height>>1):n;const{canvasX:a,canvasY:s}=this.clientToCanvas(t,n,r);this.zoom=Math.max(this.zoom+e,2.5);const o=this.getCanvasUnit(r);if(o){const{canvasX:e,canvasY:i}=this.clientToCanvas(t,n,r);if(isNaN(e)||isNaN(i)||isNaN(a)||isNaN(s))return;this.panX+=(a-e)*o,this.panY+=(s-i)*o}this.applyZoom()}}getCenteredPan(){let[e,t]=[0,0];const n=this.refs["canvas-bounds"].getBoundingClientRect(),i=this.canvas.getBoundingClientRect();return i.width<n.width&&(e=-((n.width>>1)-(i.width>>1))),i.height<n.height&&(t=-((n.height>>1)-(i.height>>1))),[e,t]}zoomToCanvas(){this.zoom=10;const e=this.refs["canvas-bounds"];this.applyZoom(),this.canvas&&e&&([this.panX,this.panY]=this.getCenteredPan()),this.applyZoom()}applyZoom(e){const t=this.refs["canvas-bounds"];if(this.canvas&&t){e=e||t.getBoundingClientRect();const n=this.getCanvasUnit(e);if(0===n){if(this.waitingToZoom)return;return this.waitingToZoom=!0,void requestAnimationFrame((()=>{this.waitingToZoom&&(this.waitingToZoom=!1,this.applyZoom())}))}this.waitingToZoom=!1;const i=n*this.imageWidth,r=n*this.imageHeight,a=this.imageWidth>1&&this.imageHeight>1?2*n:n>>1;this.hasInteracted||([this.panX,this.panY]=this.getCenteredPan()),this.panX=Math.max(Math.min(this.panX,i-a),-(e.width-a)),this.panY=Math.max(Math.min(this.panY,r-a),-(e.height-a)),this.canvas.style.position="fixed",this.canvas.style.width=`${i}px`,this.canvas.style.height=`${r}px`,this.canvas.style.left=-this.panX+"px",this.canvas.style.top=-this.panY+"px",this.canvas.style.clipPath=`polygon(${this.panX}px ${this.panY}px, ${this.panX+e.width}px ${this.panY}px, ${this.panX+e.width}px ${this.panY+e.height}px, ${this.panX}px ${this.panY+e.height}px)`,this.background&&this.cloneCanvasStyle(this.canvas,this.background),this.canvasLayers.forEach((e=>this.cloneCanvasStyle(this.canvas,e))),this.redrawFloatingLayer(this.editState,!0)}}selectCanvasColor(e,t){const n=this.refs["canvas-bounds"].getBoundingClientRect();let i,{canvasX:r,canvasY:a}=this.clientToCanvas(e.clientX,e.clientY,n);r=Math.floor(r),a=Math.floor(a),this.editState.inFloatingLayer(r,a)&&(i=this.editState.floating.image.get(r-this.editState.layerOffsetX,a-this.editState.layerOffsetY)),i||(i=this.editState.image.get(r,a)),t?this.props.dispatchChangeBackgroundColor(i):this.props.dispatchChangeSelectedColor(i)}selectAll(){this.props.tool!==s.ImageEditorTool.Marquee&&this.props.dispatchChangeImageTool(s.ImageEditorTool.Marquee),this.editState.mergeFloatingLayer(),this.editState.copyToLayer(0,0,this.imageWidth,this.imageHeight,!0),this.props.dispatchImageEdit(this.editState.toImageState())}cancelSelection(){this.editState.mergeFloatingLayer(),this.props.dispatchImageEdit(this.editState.toImageState())}deleteSelection(){this.editState.floating=null,this.props.dispatchImageEdit(this.editState.toImageState())}cloneCanvasStyle(e,t){t.style.position=e.style.position,t.style.width=e.style.width,t.style.height=e.style.height,t.style.left=e.style.left,t.style.top=e.style.top,t.style.clipPath=e.style.clipPath}clientToCanvas(e,t,n){const i=this.getCanvasUnit(n);return{canvasX:(e-n.left+this.panX)/i,canvasY:(t-n.top+this.panY)/i}}getCanvasUnit(e){const t=e.width/e.height,n=this.imageWidth/this.imageHeight,i=Math.pow(this.zoom/10,2);return t>n?i*(e.height/this.imageHeight):i*(e.width/this.imageWidth)}inBounds(e,t){return e>=0&&e<this.imageWidth&&t>=0&&t<this.imageHeight}isPanning(){return this.props.tool===s.ImageEditorTool.Pan}touchesResize(e,t){const n=document.querySelectorAll(":hover");for(let e=0;e<n.length;e++)if("image-editor-floating-layer-corner"==n[e].className)return!0;return!1}isColorSelect(){return this.props.tool===s.ImageEditorTool.ColorSelect}shouldHandleCanvasShortcut(){return!(this.props.suppressShortcuts||document.activeElement instanceof HTMLInputElement)}shouldDrawCursor(){if(!this.hasHover)return!1;switch(this.props.tool){case s.ImageEditorTool.Fill:case s.ImageEditorTool.Marquee:case s.ImageEditorTool.Pan:case s.ImageEditorTool.ColorSelect:return!1;default:return!0}}getImageState(){return this.props.isTilemap?this.props.tilemapState.tilemap:this.props.imageState}applyTilemapPatch(e){const{tilemapState:t,dispatchCreateNewTile:n,gallery:i,backgroundColor:r}=this.props,{tileset:a}=t,s=pxt.sprite.tilemapLiteralToTilemap(e.map);if(!s||!s.width||!s.height)return;const o=e.tiles.map((e=>pxt.sprite.getBitmapFromJResURL(`data:image/x-mkcd-f4;base64,${e}`))),l=e.layers.map((e=>pxt.sprite.getBitmapFromJResURL(`data:image/x-mkcd-f4;base64,${e}`))),c=[];let d=a.tiles.length;for(const e of o){const t=a.tiles.findIndex((t=>e.equals(pxt.sprite.Bitmap.fromData(t.bitmap))));if(t>=0)c.push(t);else{if(i){const t=i.find((t=>e.equals(pxt.sprite.Bitmap.fromData(t.bitmap))));if(t){n(null,a.tiles.length,r,t.qualifiedName),c.push(d),d++;continue}}n((0,u.createTile)(e.data()),a.tiles.length,r),c.push(d),d++}}this.editState.mergeFloatingLayer();const p=new pxt.sprite.Tilemap(s.width,s.height);for(let e=0;e<p.width;e++)for(let t=0;t<p.height;t++)p.set(e,t,c[s.get(e,t)]);this.editState.floating={image:p,overlayLayers:l},this.editState.layerOffsetX=0,this.editState.layerOffsetY=0,this.props.dispatchImageEdit(this.editState.toImageState())}}n.ImageCanvasImpl=h;const m={dispatchImageEdit:o.dispatchImageEdit,dispatchChangeCursorLocation:o.dispatchChangeCursorLocation,dispatchChangeZoom:o.dispatchChangeZoom,dispatchChangeImageTool:o.dispatchChangeImageTool,dispatchChangeSelectedColor:o.dispatchChangeSelectedColor,dispatchChangeBackgroundColor:o.dispatchChangeBackgroundColor,dispatchCreateNewTile:o.dispatchCreateNewTile};n.ImageCanvas=(0,a.connect)((function({store:{present:e},editor:t},n){if(t.isTilemap){let n=e;return n?{selectedColor:t.selectedColor,tilemapState:n,tool:t.tool,toolWidth:t.cursorSize,zoomDelta:t.zoomDelta,onionSkinEnabled:!1,overlayEnabled:t.overlayEnabled,backgroundColor:t.backgroundColor,colors:n.colors,isTilemap:t.isTilemap,drawingMode:t.drawingMode,gallery:t.tileGallery,tilesetRevision:t.tilesetRevision}:{}}let i=e;return i?{selectedColor:t.selectedColor,colors:i.colors,imageState:i.frames[i.currentFrame],tool:t.tool,toolWidth:t.cursorSize,zoomDelta:t.zoomDelta,onionSkinEnabled:t.onionSkinEnabled,backgroundColor:t.backgroundColor,prevFrame:i.frames[i.currentFrame-1],isTilemap:t.isTilemap,tilesetRevision:t.tilesetRevision}:{}}),m)(h)},{"../../assets":11,"./ImageEditor":19,"./actions/dispatch":26,"./keyboardShortcuts":28,"./store/imageReducer":30,"./toolDefinitions":34,"./util":35,react:107,"react-redux":93,"react/jsx-runtime":108}],19:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ImageEditor=n.LIGHT_MODE_TRANSPARENT=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./store/imageStore"),o=e("./SideBar"),l=e("./BottomBar"),c=e("./TopBar"),u=e("./ImageCanvas"),d=e("./Alert"),p=e("./Timeline"),f=e("./keyboardShortcuts"),h=e("./actions/dispatch"),m=e("./util"),g=e("../../assets");n.LIGHT_MODE_TRANSPARENT="#dedede";class v extends r.Component{constructor(e){super(e),this.onStoreChange=()=>{this.props.onChange&&this.props.onChange(this.props.singleFrame?pxt.sprite.bitmapToImageLiteral(this.getCurrentFrame(),"typescript"):"");const e=this.getStore(),t=e.getState();if((0,f.setStore)(e),t.editor&&this.setState({alert:t.editor.alert}),!!t.editor.editingTile!=!!this.state.editingTile)if(t.editor.editingTile){const e=t.editor.editingTile.tilesetIndex;if(e){const n=t.store.present.tileset.tiles[e];this.setState({editingTile:!0,tileToEdit:n})}else{const e=t.store.present.tileset.tileWidth,n=(0,g.createNewImageAsset)("tile",e,e,lf("myTile"));this.setState({editingTile:!0,tileToEdit:n})}this.props.onTileEditorOpenClose&&this.props.onTileEditorOpenClose(!0)}else this.setState({editingTile:!1}),this.props.onTileEditorOpenClose&&this.props.onTileEditorOpenClose(!1)},this.onDoneClick=()=>{this.props.onDoneClicked&&this.props.onDoneClicked(this.getAsset())},this.onTileEditorFinished=e=>{const t=this.getStore().getState().editor.editingTile;e.isProjectTile=!0,this.dispatchOnStore((0,h.dispatchCloseTileEditor)(e,t.tilesetIndex))},this.state={editingTile:!1}}componentDidMount(){(0,f.addKeyListener)(),this.props.asset&&this.openAsset(this.props.asset),this.unsubscribeChangeListener=this.getStore().subscribe(this.onStoreChange),this.onResize()}componentWillUnmount(){this.props.nested||(0,f.removeKeyListener)(),this.unsubscribeChangeListener&&this.unsubscribeChangeListener()}render(){const{singleFrame:e,lightMode:t}=this.props,n=this.getStore(),{tileToEdit:r,editingTile:f,alert:h}=this.state,m="Animation"===n.getState().store.present.kind;return(0,i.jsxs)("div",Object.assign({className:"image-editor-outer"},{children:[(0,i.jsx)(a.Provider,Object.assign({store:n},{children:(0,i.jsxs)("div",Object.assign({className:"image-editor "+(f?"editing-tile":"")},{children:[(0,i.jsx)(c.TopBar,{singleFrame:e}),(0,i.jsxs)("div",Object.assign({className:"image-editor-content"},{children:[(0,i.jsx)(o.SideBar,{lightMode:t}),(0,i.jsx)(u.ImageCanvas,{suppressShortcuts:f,lightMode:t}),m&&!e?(0,i.jsx)(p.Timeline,{}):void 0]})),(0,i.jsx)(l.BottomBar,{singleFrame:e,onDoneClick:this.onDoneClick}),h&&h.title&&(0,i.jsx)(d.Alert,{title:h.title,text:h.text,options:h.options})]}))})),f&&(0,i.jsx)(v,{store:s.tileEditorStore,ref:"nested-image-editor",onDoneClicked:this.onTileEditorFinished,asset:r,singleFrame:!0,nested:!0})]}))}openAsset(e,t,n=!1){this.dispatchOnStore((0,h.dispatchOpenAsset)(e,n,t)),e.meta.displayName?this.dispatchOnStore((0,h.dispatchChangeAssetName)(e.meta.displayName)):n&&this.dispatchOnStore((0,h.dispatchChangeAssetName)(""))}openGalleryAsset(e){const t=this.getAsset(),n=this.getStore().getState().store.present.frames;switch(t.type){case"animation":switch(e.type){case"image":case"tile":this.setCurrentFrame(pxt.sprite.Bitmap.fromData(e.bitmap),1===n.length);break;case"animation":this.dispatchOnStore((0,h.dispatchSetFrames)(e.frames.map((e=>({bitmap:e})))))}break;case"image":case"tile":switch(e.type){case"image":case"tile":this.setCurrentFrame(pxt.sprite.Bitmap.fromData(e.bitmap),!0);break;case"animation":this.setCurrentFrame(pxt.sprite.Bitmap.fromData(e.frames[0]),!0)}}}onResize(){this.dispatchOnStore((0,h.dispatchChangeZoom)(0))}getCurrentFrame(){const e=this.getStore().getState().store.present,t=e.frames[e.currentFrame];return(0,m.imageStateToBitmap)(t)}getAsset(){switch(this.getStore().getState().store.present.asset.type){case"tile":return this.getTile();case"animation":return this.getAnimation();case"tilemap":return this.getTilemap();default:return this.getImage()}}getImage(){var e;const t=this.getStore().getState().store.present,n=this.getCurrentFrame().data(),i=t.asset?Object.assign({},t.asset.meta):{};return{id:null===(e=t.asset)||void 0===e?void 0:e.id,internalID:t.asset?t.asset.internalID:(0,g.getNewInternalID)(),type:"image",bitmap:n,jresData:pxt.sprite.base64EncodeBitmap(n),meta:i}}getTile(){var e;const t=this.getStore().getState().store.present,n=this.getCurrentFrame().data(),i=t.asset?Object.assign({},t.asset.meta):{};return{id:null===(e=t.asset)||void 0===e?void 0:e.id,internalID:t.asset?t.asset.internalID:(0,g.getNewInternalID)(),isProjectTile:!0,type:"tile",bitmap:n,jresData:pxt.sprite.base64EncodeBitmap(n),meta:i}}getAnimation(){var e;const t=this.getStore().getState().store.present,n=t.asset?Object.assign({},t.asset.meta):{};return{id:null===(e=t.asset)||void 0===e?void 0:e.id,internalID:t.asset?t.asset.internalID:(0,g.getNewInternalID)(),type:"animation",interval:t.interval,frames:t.frames.map((e=>(0,m.imageStateToBitmap)(e).data())),meta:n}}getTilemap(){var e;const t=this.getStore().getState(),n=t.store.present,{floating:i,overlayLayers:r,layerOffsetX:a,layerOffsetY:s}=n.tilemap,o=(0,m.applyBitmapData)(r[0],i&&i.overlayLayers&&i.overlayLayers[0],a,s),l=new pxt.sprite.TilemapData((0,m.imageStateToTilemap)(n.tilemap),n.tileset,o);l.deletedTiles=t.editor.deletedTiles,l.editedTiles=t.editor.editedTiles;const c=n.asset?Object.assign({},n.asset.meta):{};return{id:null===(e=n.asset)||void 0===e?void 0:e.id,internalID:n.asset?n.asset.internalID:(0,g.getNewInternalID)(),type:"tilemap",data:l,meta:c}}getPersistentData(){const e=this.getStore().getState();return{editor:e.editor,past:e.store.past}}restorePersistentData(e){e&&this.dispatchOnStore((0,h.dispatchSetInitialState)(e.editor,e.past))}setCurrentFrame(e,t){if(!t){const t=this.getStore().getState().store.present.frames[0];if(e.width!==t.bitmap.width||e.height!==t.bitmap.height){const n=[Math.max(e.width,t.bitmap.width),Math.max(e.height,t.bitmap.height)];t.bitmap.width===n[0]&&t.bitmap.height===n[1]||this.dispatchOnStore((0,h.dispatchChangeImageDimensions)(n)),e=(e=e.copy()).resize(n[0],n[1])}}this.dispatchOnStore((0,h.dispatchImageEdit)({bitmap:e.data()}))}openInTileEditor(e){this.refs["nested-image-editor"].setCurrentFrame(e,!1)}disableResize(){this.dispatchOnStore((0,h.dispatchDisableResize)())}closeNestedEditor(){var e;this.state.editingTile&&(null===(e=this.refs["nested-image-editor"])||void 0===e||e.onDoneClick())}getJres(){if(this.props.singleFrame){const e=this.getCurrentFrame().data();return pxt.sprite.base64EncodeBitmap(e)}return""}loadJres(e){if(e)try{this.setCurrentFrame(pxt.sprite.getBitmapFromJResURL(e),!0)}catch(e){}}getStore(){return this.props.store||s.mainStore}dispatchOnStore(e){this.getStore().dispatch(e)}}n.ImageEditor=v},{"../../assets":11,"./Alert":13,"./BottomBar":14,"./ImageCanvas":18,"./SideBar":21,"./Timeline":22,"./TopBar":25,"./actions/dispatch":26,"./keyboardShortcuts":28,"./store/imageStore":31,"./util":35,react:107,"react-redux":93,"react/jsx-runtime":108}],20:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Pivot=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./util");class s extends r.Component{constructor(e){super(e),this.handlers=[],this.state={open:!1}}componentWillUnmount(){this.handlers=null}render(){const{options:e,selected:t}=this.props,n=e[t];return(0,i.jsx)("div",Object.assign({className:"image-editor-pivot-outer"},{children:e.map(((e,t)=>(0,i.jsx)("div",Object.assign({role:"tab",className:"image-editor-pivot-option "+(e===n?"selected":""),tabIndex:0,onClick:this.clickHandler(t),onKeyDown:a.fireClickOnlyOnEnter},{children:e.text}),e.id)))}))}clickHandler(e){if(!this.handlers[e]){const{onChange:t,options:n}=this.props;this.handlers[e]=()=>{this.setState({open:!1}),t(n[e],e)}}return this.handlers[e]}}n.Pivot=s},{"./util":35,react:107,"react/jsx-runtime":108}],21:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.SideBar=n.SideBarImpl=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./toolDefinitions"),o=e("./Button"),l=e("./actions/dispatch"),c=e("./sprite/Palette"),u=e("./tilemap/TilePalette"),d=e("./tilemap/Minimap");class p extends r.Component{constructor(){super(...arguments),this.handlers=[]}render(){const{selectedTool:e,isTilemap:t,lightMode:n}=this.props;return(0,i.jsxs)("div",Object.assign({className:"image-editor-sidebar "+(t?"tilemap":"")},{children:[t&&(0,i.jsx)("div",Object.assign({className:"image-editor-tilemap-minimap"},{children:(0,i.jsx)(d.Minimap,{lightMode:n})})),(0,i.jsx)("div",Object.assign({className:"image-editor-tool-buttons"},{children:s.tools.filter((e=>!e.hiddenTool)).map((t=>(0,i.jsx)(o.IconButton,{iconClass:t.iconClass,toggle:e!=t.tool,title:t.title,onClick:this.clickHandler(t.tool)},t.tool)))})),(0,i.jsx)("div",Object.assign({className:"image-editor-palette"},{children:t?(0,i.jsx)(u.TilePalette,{}):(0,i.jsx)(c.Palette,{})}))]}))}clickHandler(e){return this.handlers[e]||(this.handlers[e]=()=>this.props.dispatchChangeImageTool(e)),this.handlers[e]}}n.SideBarImpl=p;const f={dispatchChangeImageTool:l.dispatchChangeImageTool};n.SideBar=(0,a.connect)((function({editor:e},t){return e?{isTilemap:e.isTilemap,selectedTool:e.tool}:{}}),f)(p)},{"./Button":15,"./actions/dispatch":26,"./sprite/Palette":29,"./tilemap/Minimap":32,"./tilemap/TilePalette":33,"./toolDefinitions":34,react:107,"react-redux":93,"react/jsx-runtime":108}],22:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Timeline=n.TimelineImpl=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./actions/dispatch"),o=e("./TimelineFrame"),l=e("./util");class c extends r.Component{constructor(e){super(e),this.handlers=[],this.scrollOffset=0,this.dragEnd=!1,this.duplicateFrame=()=>{const{currentFrame:e,dispatchDuplicateFrame:t}=this.props;t(e)},this.deleteFrame=()=>{const{currentFrame:e,dispatchDeleteFrame:t}=this.props;t(e)},this.newFrame=()=>{const{dispatchNewFrame:e}=this.props;this.dragEnd?this.dragEnd=!1:e()},this.state={}}render(){const{frames:e,colors:t,currentFrame:n,interval:r,previewAnimating:a}=this.props,{isMovingFrame:s,dropPreviewIndex:l}=this.state;let c,u=e.slice();return s&&(c=e[n],u.splice(n,1),u.splice(l,0,null)),(0,i.jsxs)("div",Object.assign({className:"image-editor-timeline "+(pxt.BrowserUtils.isEdge()?"edge":"")},{children:[(0,i.jsx)("div",Object.assign({className:"image-editor-timeline-preview"},{children:(0,i.jsx)(o.TimelineFrame,{frames:a?e:[e[n]],colors:t,interval:r,animating:!0})})),(0,i.jsx)("div",Object.assign({className:"image-editor-timeline-frames-outer"},{children:(0,i.jsxs)("div",Object.assign({className:"image-editor-timeline-frames",ref:"frame-scroller-ref"},{children:[u.map(((e,r)=>{const a=!s&&r===n;return e?(0,i.jsx)("div",Object.assign({className:"image-editor-timeline-frame "+(a?"active":""),role:"button",onClick:this.clickHandler(r)},{children:(0,i.jsx)(o.TimelineFrame,{frames:[e],colors:t,showActions:a,duplicateFrame:this.duplicateFrame,deleteFrame:this.deleteFrame})}),r):(0,i.jsx)("div",{className:"image-editor-timeline-frame drop-marker"},r)})),c&&(0,i.jsx)("div",Object.assign({ref:"floating-frame",className:"image-editor-timeline-frame dragging"},{children:(0,i.jsx)(o.TimelineFrame,{frames:[c],colors:t,duplicateFrame:this.duplicateFrame,deleteFrame:this.deleteFrame})})),(0,i.jsx)("div",Object.assign({className:"image-editor-timeline-frame collapsed",role:"button",onClick:this.newFrame},{children:(0,i.jsx)("span",{className:"ms-Icon ms-Icon--Add"})}))]}))}))]}))}componentDidMount(){let e;this.frameScroller=this.refs["frame-scroller-ref"];let t=!1;(0,l.bindGestureEvents)(this.frameScroller,{onClick:e=>{this.dragEnd=!1},onDragStart:n=>{e=n.clientY,pxt.BrowserUtils.addClass(this.frameScroller,"scrolling");const i=this.frameScroller.getBoundingClientRect(),r=n.clientY-i.top,a=this.frameScroller.firstElementChild.getBoundingClientRect().height,s=Math.floor(r/a);t=s!==this.props.currentFrame},onDragMove:n=>{if(t){this.scrollOffset-=e-n.clientY,e=n.clientY;try{const e=this.frameScroller.getBoundingClientRect(),t=this.frameScroller.parentElement.getBoundingClientRect();e.height>t.height?this.scrollOffset=Math.max(Math.min(this.scrollOffset,0),t.height-e.height-15):this.scrollOffset=0,this.frameScroller.parentElement.scrollTop=-this.scrollOffset}catch(e){}}else this.updateDragDrop(n)},onDragEnd:()=>{if(e=null,pxt.BrowserUtils.removeClass(this.frameScroller,"scrolling"),this.dragEnd=!0,this.state.isMovingFrame){const{dispatchMoveFrame:e,currentFrame:t}=this.props;e(t,this.state.dropPreviewIndex),this.setState({isMovingFrame:!1})}}}),this.frameScroller.addEventListener("wheel",(e=>{this.scrollOffset-=e.deltaY;try{const e=this.frameScroller.getBoundingClientRect(),t=this.frameScroller.parentElement.getBoundingClientRect();e.height>t.height?this.scrollOffset=Math.max(Math.min(this.scrollOffset,0),t.height-e.height-15):this.scrollOffset=0,this.frameScroller.parentElement.scrollTop=-this.scrollOffset}catch(e){}}))}clickHandler(e){return this.handlers[e]||(this.handlers[e]=()=>{const{currentFrame:t,dispatchChangeCurrentFrame:n}=this.props;this.dragEnd?this.dragEnd=!1:e!=t&&n(e)}),this.handlers[e]}updateDragDrop(e){const t=this.frameScroller.getBoundingClientRect(),n=e.clientY-t.top,i=this.frameScroller.firstElementChild.getBoundingClientRect().height,r=Math.floor(n/i);this.state.isMovingFrame?this.refs["floating-frame"]&&(this.refs["floating-frame"].style.top=n+"px",this.setState({dropPreviewIndex:r})):this.setState({isMovingFrame:!0,dropPreviewIndex:this.props.currentFrame})}}n.TimelineImpl=c;const u={dispatchDuplicateFrame:s.dispatchDuplicateFrame,dispatchDeleteFrame:s.dispatchDeleteFrame,dispatchChangeCurrentFrame:s.dispatchChangeCurrentFrame,dispatchNewFrame:s.dispatchNewFrame,dispatchMoveFrame:s.dispatchMoveFrame};n.Timeline=(0,a.connect)((function({store:{present:e},editor:t},n){let i=e;return i?{frames:i.frames,currentFrame:i.currentFrame,colors:i.colors,interval:i.interval,previewAnimating:t.previewAnimating}:{}}),u)(c)},{"./TimelineFrame":23,"./actions/dispatch":26,"./util":35,react:107,"react-redux":93,"react/jsx-runtime":108}],23:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TimelineFrame=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./Button"),s=pxt.BrowserUtils.isEdge()?25:1;class o extends r.Component{constructor(e){super(e),this.state={index:0}}render(){const{frames:e,animating:t,showActions:n,duplicateFrame:r,deleteFrame:s}=this.props,o=e[t?Math.min(Math.max(0,this.state.index),e.length-1):0],l=o.bitmap.height>o.bitmap.width;return(0,i.jsxs)("div",Object.assign({className:"timeline-frame-outer "+(l?"portrait":"landscape")},{children:[(0,i.jsx)("div",{className:"timeline-frame-spacer"}),(0,i.jsx)("canvas",{ref:"preview-canvas"}),(0,i.jsx)("div",{className:"timeline-frame-spacer"}),n&&(0,i.jsxs)("div",Object.assign({className:"timeline-frame-actions"},{children:[(0,i.jsx)(a.IconButton,{iconClass:"ms-Icon ms-Icon--Copy",title:lf("Duplicate Current Frame"),onClick:r}),(0,i.jsx)(a.IconButton,{iconClass:"ms-Icon ms-Icon--Delete",title:lf("Delete Current Frame"),onClick:s})]}))]}))}componentDidMount(){this.canvas=this.refs["preview-canvas"],this.redraw(),this.updateAnimation()}componentDidUpdate(){this.redraw(),this.updateAnimation()}componentWillUnmount(){this.intervalId&&clearInterval(this.intervalId),this.intervalId=void 0}redraw(){if(!this.canvas)return;const{animating:e,frames:t}=this.props,n=t[e?Math.min(Math.max(0,this.state.index),t.length-1):0];this.canvas.height=n.bitmap.height*s,this.canvas.width=n.bitmap.width*s;const i=pxt.sprite.Bitmap.fromData(n.bitmap);if(this.drawBitmap(i),n.floating&&n.floating.bitmap){const e=pxt.sprite.Bitmap.fromData(n.floating.bitmap);this.drawBitmap(e,n.layerOffsetX,n.layerOffsetY,!0)}}updateAnimation(){const{animating:e,interval:t,frames:n}=this.props,i=e&&t>5&&n.length>1;i&&t!==this.intervalcurrent?(this.intervalId&&clearInterval(this.intervalId),this.intervalId=setInterval((()=>this.setState({index:(this.state.index+1)%this.props.frames.length})),t),this.intervalcurrent=t):!i&&this.intervalId&&(clearInterval(this.intervalId),this.intervalId=void 0,this.intervalcurrent=void 0)}drawBitmap(e,t=0,n=0,i=!1){const{colors:r}=this.props,a=this.canvas.getContext("2d");for(let o=0;o<e.width;o++)for(let l=0;l<e.height;l++){const c=e.get(o,l);c?(a.fillStyle=r[c],a.fillRect((o+t)*s,(l+n)*s,s,s)):i||a.clearRect((o+t)*s,(l+n)*s,s,s)}}}n.TimelineFrame=o},{"./Button":15,react:107,"react/jsx-runtime":108}],24:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Toggle=void 0;const i=e("react/jsx-runtime"),r=e("react");class a extends r.Component{constructor(e){super(e),this.checked=!1,this.handleToggleClick=e=>{this.checked=!this.checked,this.props.onChange&&this.props.onChange(e.target.checked)},this.checked=e.initialValue}render(){const{initialValue:e,label:t}=this.props;return(0,i.jsxs)("div",Object.assign({className:"image-editor-toggle-container"},{children:[t&&(0,i.jsx)("span",{children:t}),(0,i.jsxs)("label",Object.assign({className:"image-editor-toggle"},{children:[(0,i.jsx)("input",{type:"checkbox",onClick:this.handleToggleClick,defaultChecked:e,"aria-checked":this.checked}),(0,i.jsx)("span",{className:"image-editor-toggle-switch"})]}))]}))}}n.Toggle=a},{react:107,"react/jsx-runtime":108}],25:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TopBar=n.TopBarImpl=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./actions/dispatch"),o=e("./Button"),l=e("./CursorSizes"),c=e("./Toggle"),u=e("./keyboardShortcuts");class d extends r.Component{constructor(e){super(e),this.togglePreviewAnimating=()=>this.props.dispatchChangePreviewAnimating(!this.props.previewAnimating),this.flipVertical=()=>(0,u.flip)(!0),this.flipHorizontal=()=>(0,u.flip)(!1),this.rotateClockwise=()=>(0,u.rotate)(!0),this.rotateCounterclockwise=()=>(0,u.rotate)(!1),this.handleIntervalChange=e=>{this.setState({interval:e.target.value})},this.handleIntervalBlur=()=>{const{dispatchChangeInterval:e}=this.props,t=parseInt(this.state.interval);isNaN(t)||e(Math.min(Math.max(t,50),1e6)),this.setState({interval:null})},this.state={}}render(){const{interval:e,previewAnimating:t,singleFrame:n,isTilemap:r,dispatchChangeOverlayEnabled:a}=this.props,s=null==this.state.interval?e:this.state.interval;return(0,i.jsxs)("div",Object.assign({className:"image-editor-topbar"},{children:[(0,i.jsx)("div",Object.assign({className:"cursor-group"},{children:(0,i.jsx)(l.CursorSizes,{})})),(0,i.jsx)("div",{className:"image-editor-seperator"}),(0,i.jsxs)("div",Object.assign({className:"image-transform-group"},{children:[(0,i.jsx)(o.IconButton,{iconClass:"xicon flipvertical",title:lf("Flip vertical"),onClick:this.flipVertical},"flipv"),(0,i.jsx)(o.IconButton,{iconClass:"xicon fliphorizontal",title:lf("Flip horizontal"),onClick:this.flipHorizontal},"fliph"),(0,i.jsx)(o.IconButton,{iconClass:"xicon rotateright",title:lf("Rotate clockwise"),onClick:this.rotateClockwise},"rotatec"),(0,i.jsx)(o.IconButton,{iconClass:"xicon rotateleft",title:lf("Rotate counterclockwise"),onClick:this.rotateCounterclockwise},"rotatecc")]})),(0,i.jsx)("div",{className:"spacer"}),!n&&(0,i.jsx)("div",{className:"image-editor-seperator"}),!n&&(0,i.jsxs)("div",Object.assign({className:"timeline-controls"},{children:[(0,i.jsx)(o.IconButton,{onClick:this.togglePreviewAnimating,iconClass:t?"ms-Icon ms-Icon--Stop":"ms-Icon ms-Icon--Play",title:t?lf("Stop Animation Preview"):lf("Play Animation Preview"),toggle:!0}),(0,i.jsx)("div",Object.assign({className:"image-editor-interval-label image-editor-label"},{children:(0,i.jsx)("span",{className:"ms-Icon ms-Icon--Clock"})})),(0,i.jsx)("div",Object.assign({className:"image-editor-interval"},{children:(0,i.jsx)("input",{className:"image-editor-input",title:lf("Interval Between Frames (ms)"),value:s,onChange:this.handleIntervalChange,onBlur:this.handleIntervalBlur})}))]})),r&&(0,i.jsx)(c.Toggle,{initialValue:!0,label:lf("Show walls"),onChange:a})]}))}}n.TopBarImpl=d;const p={dispatchChangeInterval:s.dispatchChangeInterval,dispatchChangePreviewAnimating:s.dispatchChangePreviewAnimating,dispatchChangeOverlayEnabled:s.dispatchChangeOverlayEnabled};n.TopBar=(0,a.connect)((function({store:{present:e},editor:t},n){return e?{interval:e.interval,previewAnimating:t.previewAnimating,isTilemap:t.isTilemap}:{}}),p)(d)},{"./Button":15,"./CursorSizes":16,"./Toggle":24,"./actions/dispatch":26,"./keyboardShortcuts":28,react:107,"react-redux":93,"react/jsx-runtime":108}],26:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.dispatchSetFrames=n.dispatchOpenAsset=n.dispatchChangeAssetName=n.dispatchDisableResize=n.dispatchDeleteTile=n.dispatchCloseTileEditor=n.dispatchOpenTileEditor=n.dispatchSetGalleryOpen=n.dispatchCreateNewTile=n.dispatchChangeDrawingMode=n.dispatchChangeTilePalettePage=n.dispatchChangeTilePaletteCategory=n.dispatchSetInitialState=n.dispatchChangeBackgroundColor=n.dispatchSwapBackgroundForeground=n.dispatchHideAlert=n.dispatchShowAlert=n.dispatchChangeZoom=n.dispatchChangeOverlayEnabled=n.dispatchToggleOnionSkinEnabled=n.dispatchChangePreviewAnimating=n.dispatchChangeInterval=n.dispatchMoveFrame=n.dispatchChangeCurrentFrame=n.dispatchDuplicateFrame=n.dispatchDeleteFrame=n.dispatchNewFrame=n.dispatchToggleAspectRatioLocked=n.dispatchRedoImageEdit=n.dispatchUndoImageEdit=n.dispatchImageEdit=n.dispatchChangeCursorLocation=n.dispatchChangeKeyModifiers=n.dispatchChangeImageDimensions=n.dispatchChangeSelectedColor=n.dispatchChangeCursorSize=n.dispatchChangeImageTool=void 0;const i=e("./types");n.dispatchChangeImageTool=e=>({type:i.CHANGE_IMAGE_TOOL,tool:e});n.dispatchChangeCursorSize=e=>({type:i.CHANGE_CURSOR_SIZE,cursorSize:e});n.dispatchChangeSelectedColor=e=>({type:i.CHANGE_SELECTED_COLOR,selectedColor:e});n.dispatchChangeImageDimensions=e=>({type:i.CHANGE_IMAGE_DIMENSIONS,imageDimensions:e});n.dispatchChangeKeyModifiers=e=>({type:i.CHANGE_KEY_MODIFIERS,keyModifiers:e});n.dispatchChangeCursorLocation=e=>({type:i.CHANGE_CURSOR_LOCATION,cursorLocation:e});n.dispatchImageEdit=e=>({type:i.IMAGE_EDIT,newState:e});n.dispatchUndoImageEdit=()=>({type:i.UNDO_IMAGE_EDIT});n.dispatchRedoImageEdit=()=>({type:i.REDO_IMAGE_EDIT});n.dispatchToggleAspectRatioLocked=()=>({type:i.TOGGLE_ASPECT_RATIO});n.dispatchNewFrame=e=>({type:i.NEW_FRAME,index:e});n.dispatchDeleteFrame=e=>({type:i.DELETE_FRAME,index:e});n.dispatchDuplicateFrame=e=>({type:i.DUPLICATE_FRAME,index:e});n.dispatchChangeCurrentFrame=e=>({type:i.CHANGE_CURRENT_FRAME,index:e});n.dispatchMoveFrame=(e,t)=>({type:i.MOVE_FRAME,oldIndex:e,newIndex:t});n.dispatchChangeInterval=e=>({type:i.CHANGE_INTERVAL,newInterval:e});n.dispatchChangePreviewAnimating=e=>({type:i.CHANGE_PREVIEW_ANIMATING,animating:e});n.dispatchToggleOnionSkinEnabled=()=>({type:i.TOGGLE_ONION_SKIN_ENABLED});n.dispatchChangeOverlayEnabled=e=>({type:i.CHANGE_OVERLAY_ENABLED,enabled:e});n.dispatchChangeZoom=e=>({type:i.CHANGE_CANVAS_ZOOM,zoom:e});n.dispatchShowAlert=(e,t,n)=>({type:i.SHOW_ALERT,title:e,text:t,options:n});n.dispatchHideAlert=()=>({type:i.HIDE_ALERT});n.dispatchSwapBackgroundForeground=()=>({type:i.SWAP_FOREGROUND_BACKGROUND});n.dispatchChangeBackgroundColor=e=>({type:i.CHANGE_BACKGROUND_COLOR,backgroundColor:e});n.dispatchSetInitialState=(e,t)=>({type:i.SET_INITIAL_STATE,state:e,past:t});n.dispatchChangeTilePaletteCategory=e=>({type:i.CHANGE_TILE_PALETTE_CATEGORY,category:e});n.dispatchChangeTilePalettePage=e=>({type:i.CHANGE_TILE_PALETTE_PAGE,page:e});n.dispatchChangeDrawingMode=e=>({type:i.CHANGE_DRAWING_MODE,drawingMode:e});n.dispatchCreateNewTile=(e,t,n,r)=>({type:i.CREATE_NEW_TILE,tile:e,foreground:t,background:n,qualifiedName:r});n.dispatchSetGalleryOpen=e=>({type:i.SET_GALLERY_OPEN,open:e});n.dispatchOpenTileEditor=(e,t)=>({type:i.OPEN_TILE_EDITOR,index:e,id:t});n.dispatchCloseTileEditor=(e,t)=>({type:i.CLOSE_TILE_EDITOR,result:e,index:t});n.dispatchDeleteTile=(e,t)=>({type:i.DELETE_TILE,id:t,index:e});n.dispatchDisableResize=()=>({type:i.DISABLE_RESIZE});n.dispatchChangeAssetName=e=>({type:i.CHANGE_ASSET_NAME,name:e});n.dispatchOpenAsset=(e,t,n)=>({type:i.OPEN_ASSET,asset:e,keepPast:t,gallery:n});n.dispatchSetFrames=e=>({type:i.SET_FRAMES,frames:e})},{"./types":27}],27:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.OPEN_ASSET=n.CHANGE_ASSET_NAME=n.DISABLE_RESIZE=n.DELETE_TILE=n.CLOSE_TILE_EDITOR=n.OPEN_TILE_EDITOR=n.CREATE_NEW_TILE=n.CHANGE_DRAWING_MODE=n.CHANGE_TILE_PALETTE_CATEGORY=n.CHANGE_TILE_PALETTE_PAGE=n.CHANGE_BACKGROUND_COLOR=n.SWAP_FOREGROUND_BACKGROUND=n.HIDE_ALERT=n.SHOW_ALERT=n.CHANGE_CANVAS_ZOOM=n.CHANGE_OVERLAY_ENABLED=n.TOGGLE_ONION_SKIN_ENABLED=n.CHANGE_PREVIEW_ANIMATING=n.CHANGE_INTERVAL=n.CHANGE_CURRENT_FRAME=n.MOVE_FRAME=n.DUPLICATE_FRAME=n.DELETE_FRAME=n.NEW_FRAME=n.SET_GALLERY_OPEN=n.TOGGLE_ASPECT_RATIO=n.REDO_IMAGE_EDIT=n.UNDO_IMAGE_EDIT=n.IMAGE_EDIT=n.CHANGE_CURSOR_LOCATION=n.CHANGE_KEY_MODIFIERS=n.CHANGE_IMAGE_DIMENSIONS=n.CHANGE_SELECTED_COLOR=n.CHANGE_CURSOR_SIZE=n.CHANGE_IMAGE_TOOL=n.SET_FRAMES=n.SET_INITIAL_STATE=void 0,n.SET_INITIAL_STATE="SET_INITIAL_STATE",n.SET_FRAMES="SET_FRAMES",n.CHANGE_IMAGE_TOOL="CHANGE_IMAGE_TOOL",n.CHANGE_CURSOR_SIZE="CHANGE_CURSOR_SIZE",n.CHANGE_SELECTED_COLOR="CHANGE_SELECTED_COLOR",n.CHANGE_IMAGE_DIMENSIONS="CHANGE_IMAGE_DIMENSIONS",n.CHANGE_KEY_MODIFIERS="CHANGE_KEY_MODIFIERS",n.CHANGE_CURSOR_LOCATION="CHANGE_CURSOR_LOCATION",n.IMAGE_EDIT="IMAGE_EDIT",n.UNDO_IMAGE_EDIT="UNDO_IMAGE_EDIT",n.REDO_IMAGE_EDIT="REDO_IMAGE_EDIT",n.TOGGLE_ASPECT_RATIO="TOGGLE_ASPECT_RATIO",n.SET_GALLERY_OPEN="SET_GALLERY_OPEN",n.NEW_FRAME="NEW_FRAME",n.DELETE_FRAME="DELETE_FRAME",n.DUPLICATE_FRAME="DUPLICATE_FRAME",n.MOVE_FRAME="MOVE_FRAME",n.CHANGE_CURRENT_FRAME="CHANGE_CURRENT_FRAME",n.CHANGE_INTERVAL="CHANGE_INTERVAL",n.CHANGE_PREVIEW_ANIMATING="CHANGE_PREVIEW_ANIMATING",n.TOGGLE_ONION_SKIN_ENABLED="TOGGLE_ONION_SKIN_ENABLED",n.CHANGE_OVERLAY_ENABLED="CHANGE_OVERLAY_ENABLED",n.CHANGE_CANVAS_ZOOM="CHANGE_CANVAS_ZOOM",n.SHOW_ALERT="SHOW_ALERT",n.HIDE_ALERT="HIDE_ALERT",n.SWAP_FOREGROUND_BACKGROUND="SWAP_FOREGROUND_BACKGROUND",n.CHANGE_BACKGROUND_COLOR="CHANGE_BACKGROUND_COLOR",n.CHANGE_TILE_PALETTE_PAGE="CHANGE_TILE_PALETTE_PAGE",n.CHANGE_TILE_PALETTE_CATEGORY="CHANGE_TILE_PALETTE_CATEGORY",n.CHANGE_DRAWING_MODE="CHANGE_DRAWING_MODE",n.CREATE_NEW_TILE="CREATE_NEW_TILE",n.OPEN_TILE_EDITOR="OPEN_TILE_EDITOR",n.CLOSE_TILE_EDITOR="CLOSE_TILE_EDITOR",n.DELETE_TILE="DELETE_TILE",n.DISABLE_RESIZE="DISABLE_RESIZE",n.CHANGE_ASSET_NAME="CHANGE_ASSET_NAME",n.OPEN_ASSET="OPEN_ASSET"},{}],28:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.replaceColor=n.outline=n.rotate=n.flip=n.setStore=n.areShortcutsEnabled=n.releaseShortcutLock=n.obtainShortcutLock=n.removeKeyListener=n.addKeyListener=void 0;const i=e("./store/imageReducer"),r=e("./actions/dispatch"),a=e("./store/imageStore"),s=e("./toolDefinitions");let o=a.mainStore,l=[];function c(){return!l.length}function u(e){const t=e.ctrlKey||e.metaKey;"Undo"===e.key||t&&"z"===e.key&&!e.shiftKey?(g((0,r.dispatchUndoImageEdit)()),e.preventDefault(),e.stopPropagation()):("Redo"===e.key||t&&"y"===e.key||t&&"Z"===e.key&&e.shiftKey)&&(g((0,r.dispatchRedoImageEdit)()),e.preventDefault(),e.stopPropagation())}function d(e){"Backspace"!==e.key&&"Delete"!==e.key||e.stopPropagation()}function p(e){if(!c())return;if(e.shiftKey&&/^(?:Digit[1-9])|(?:Key[A-F])$/.test(e.code))return void(0==e.code.indexOf("Digit")?E(parseInt(e.code.substring(5))):E(parseInt(e.code.substring(3),16)));switch(e.key){case"e":h(i.ImageEditorTool.Erase);break;case"h":h(i.ImageEditorTool.Pan);break;case"b":case"p":h(i.ImageEditorTool.Paint);break;case"g":h(i.ImageEditorTool.Fill);break;case"m":h(i.ImageEditorTool.Marquee);break;case"u":h(i.ImageEditorTool.Rect);break;case"l":h(i.ImageEditorTool.Line);break;case"c":h(i.ImageEditorTool.Circle);break;case"-":case"_":m(-1);break;case"=":case"+":m(1);break;case"x":g((0,r.dispatchSwapBackgroundForeground)());break;case"H":y(!1);break;case"V":y(!0);break;case"[":b(!1);break;case"]":b(!0);break;case">":v(!0);break;case"<":v(!1)}const t=o.getState().editor;if(e.shiftKey&&"KeyR"===e.code)k(t.backgroundColor,t.selectedColor);else if(!t.isTilemap&&/^Digit\d$/.test(e.code)){const t=+e.code.slice(-1)+(e.shiftKey?9:0);t>=0&&t<16&&function(e){g((0,r.dispatchChangeSelectedColor)(e))}(t)}}function f(){const e=o.getState();if(e.editor.isTilemap){const t=e.store.present;return[(0,s.getEditState)(t.tilemap,!0,e.editor.drawingMode),"tilemap"]}{const t=e.store.present;return[(0,s.getEditState)(t.frames[t.currentFrame],!1,e.editor.drawingMode),t.frames.length>1?"animation":"image"]}}function h(e){g((0,r.dispatchChangeImageTool)(e))}function m(e){g((0,r.dispatchChangeZoom)(e))}function g(e){o.dispatch(e)}function v(e){let t;const n=o.getState().editor.cursorSize;switch(n){case 1:t=e?3:1;break;case 3:t=e?5:1;break;case 5:t=e?5:3}n!==t&&g((0,r.dispatchChangeCursorSize)(t))}function y(e){const[t,n]=f(),i=(0,s.flipEdit)(t,e,"tilemap"===n);g((0,r.dispatchImageEdit)(i.toImageState()))}function b(e){const[t,n]=f(),i=(0,s.rotateEdit)(t,e,"tilemap"===n,"animation"===n);g((0,r.dispatchImageEdit)(i.toImageState()))}function E(e){const[t,n]=f();if("tilemap"===n)return;const i=(0,s.outlineEdit)(t,e);g((0,r.dispatchImageEdit)(i.toImageState()))}function k(e,t){const[n,i]=f(),a=(0,s.replaceColorEdit)(n,e,t);g((0,r.dispatchImageEdit)(a.toImageState()))}n.addKeyListener=function(){l=[],document.addEventListener("keydown",p),document.addEventListener("keydown",u,!0),document.addEventListener("keydown",d,!0)},n.removeKeyListener=function(){document.removeEventListener("keydown",p),document.removeEventListener("keydown",u,!0),document.removeEventListener("keydown",d,!0)},n.obtainShortcutLock=function(){let e=0;for(;!e;)e=Math.random()*Number.MAX_SAFE_INTEGER;return l.push(e),e},n.releaseShortcutLock=function(e){const t=l.indexOf(e);-1!==t&&l.splice(t,1)},n.areShortcutsEnabled=c,n.setStore=function(e){o=e||a.mainStore},n.flip=y,n.rotate=b,n.outline=E,n.replaceColor=k},{"./actions/dispatch":26,"./store/imageReducer":30,"./store/imageStore":31,"./toolDefinitions":34}],29:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Palette=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("../actions/dispatch");class o extends r.Component{constructor(){super(...arguments),this.handlers=[],this.preventContextMenu=e=>e.preventDefault()}render(){const{colors:e,selected:t,backgroundColor:n,dispatchSwapBackgroundForeground:r}=this.props;return(0,i.jsxs)("div",{children:[(0,i.jsxs)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",className:"image-editor-colors",viewBox:"0 0 23 15",onClick:r},{children:[(0,i.jsx)("defs",{children:(0,i.jsxs)("pattern",Object.assign({id:"alpha-background",width:"6",height:"6",patternUnits:"userSpaceOnUse"},{children:[(0,i.jsx)("rect",{x:"0",y:"0",width:"6px",height:"6px",fill:"#aeaeae"}),(0,i.jsx)("rect",{x:"0",y:"0",width:"3px",height:"3px",fill:"#dedede"}),(0,i.jsx)("rect",{x:"3",y:"3",width:"3px",height:"3px",fill:"#dedede"})]}))}),(0,i.jsxs)("g",{children:[(0,i.jsx)("rect",Object.assign({fill:n?e[n]:"url(#alpha-background)",x:6,y:4,width:15,height:10,stroke:"#3c3c3c",strokeWidth:"0.5"},{children:(0,i.jsx)("title",{children:l(n,e[n])})})),(0,i.jsx)("rect",Object.assign({fill:t?e[t]:"url(#alpha-background)",x:2,y:1,width:15,height:10,stroke:"#3c3c3c",strokeWidth:"0.5"},{children:(0,i.jsx)("title",{children:l(t,e[t])})}))]})]})),(0,i.jsx)("div",Object.assign({className:"image-editor-color-buttons",onContextMenu:this.preventContextMenu},{children:this.props.colors.map(((e,t)=>(0,i.jsx)("div",{className:"image-editor-button "+(0===t?"checkerboard":""),role:"button",title:l(t,e),onMouseDown:this.clickHandler(t),style:0===t?null:{backgroundColor:e}},t)))}))]})}clickHandler(e){return this.handlers[e]||(this.handlers[e]=t=>{0===t.button?this.props.dispatchChangeSelectedColor(e):(this.props.dispatchChangeBackgroundColor(e),t.preventDefault(),t.stopPropagation())}),this.handlers[e]}}function l(e,t){const n=0===e?lf("transparency"):function(e){switch(null==e?void 0:e.toLowerCase()){case"#ffffff":return lf("white");case"#ff2121":return lf("red");case"#ff93c4":return lf("pink");case"#ff8135":return lf("orange");case"#fff609":return lf("yellow");case"#249ca3":return lf("teal");case"#78dc52":return lf("green");case"#003fad":return lf("blue");case"#87f2ff":return lf("light blue");case"#8e2ec4":return lf("purple");case"#a4839f":return lf("light purple");case"#5c406c":return lf("dark purple");case"#e5cdc4":return lf("tan");case"#91463d":return lf("brown");case"#000000":return lf("black");default:return}}(t);return n?lf("Color {0} ({1})",e,n):lf("Color {0}",e)}const c={dispatchChangeSelectedColor:s.dispatchChangeSelectedColor,dispatchChangeBackgroundColor:s.dispatchChangeBackgroundColor,dispatchSwapBackgroundForeground:s.dispatchSwapBackgroundForeground};n.Palette=(0,a.connect)((function({store:{present:e},editor:t},n){let i=e;return i?{selected:t.selectedColor,backgroundColor:t.backgroundColor,colors:i.colors}:{}}),c)(o)},{"../actions/dispatch":26,react:107,"react-redux":93,"react/jsx-runtime":108}],30:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.setTelemetryFunction=n.TileDrawingMode=n.TileCategory=n.KeyModifiers=n.CursorSize=n.ImageEditorTool=void 0;const i=e("../../../assets"),r=e("../actions/types");var a,s,o,l;(l=a=n.ImageEditorTool||(n.ImageEditorTool={}))[l.Paint=0]="Paint",l[l.Fill=1]="Fill",l[l.Line=2]="Line",l[l.Erase=3]="Erase",l[l.Circle=4]="Circle",l[l.Rect=5]="Rect",l[l.ColorSelect=6]="ColorSelect",l[l.Marquee=7]="Marquee",l[l.Pan=8]="Pan",function(e){e[e.One=1]="One",e[e.Three=3]="Three",e[e.Five=5]="Five"}(n.CursorSize||(n.CursorSize={})),function(e){e[e.Alt=1]="Alt",e[e.Shift=2]="Shift"}(n.KeyModifiers||(n.KeyModifiers={})),function(e){e[e.Forest=0]="Forest",e[e.Aquatic=1]="Aquatic",e[e.Dungeon=2]="Dungeon",e[e.Misc=3]="Misc"}(s=n.TileCategory||(n.TileCategory={})),function(e){e.Default="default",e.Wall="wall"}(o=n.TileDrawingMode||(n.TileDrawingMode={}));const c={store:{present:{kind:"Animation",visible:!0,colors:["#000000","#ffffff","#ff2121","#ff93c4","#ff8135","#fff609","#249ca3","#78dc52","#003fad","#87f2ff","#8e2ec4","#a4839f","#5c406c","#e5cdc4","#91463d","#000000"],aspectRatioLocked:!1,currentFrame:0,frames:[h(16,16)],interval:200},past:[],future:[]},editor:{selectedColor:3,tool:a.Paint,cursorSize:1,backgroundColor:1,previewAnimating:!1,onionSkinEnabled:!1,overlayEnabled:!0,tilesetRevision:0,isTilemap:!1}},u=(e,t)=>{switch(t.type){case r.TOGGLE_ASPECT_RATIO:return g("toggle-aspect-ratio-lock"),Object.assign(Object.assign({},e),{aspectRatioLocked:!e.aspectRatioLocked});case r.CHANGE_CURRENT_FRAME:return g("change-frame"),Object.assign(Object.assign({},e),{currentFrame:t.index});case r.CHANGE_INTERVAL:return g("change-interval"),Object.assign(Object.assign({},e),{interval:t.newInterval});case r.CHANGE_IMAGE_DIMENSIONS:g("change-dimensions");const[n,i]=t.imageDimensions;return Object.assign(Object.assign({},e),{frames:e.frames.map(((e,t)=>Object.assign(Object.assign({},e),{bitmap:pxt.sprite.Bitmap.fromData(e.bitmap).resize(n,i).data()})))});case r.IMAGE_EDIT:return g("image-edit"),Object.assign(Object.assign({},e),{frames:e.frames.map(((n,i)=>i===e.currentFrame?t.newState:n))});case r.DELETE_FRAME:if(1===e.frames.length)return e;g("delete-frame");const a=e.frames.slice();a.splice(t.index,1);let s=e.currentFrame;return e.currentFrame>=t.index&&e.currentFrame>0&&s--,Object.assign(Object.assign({},e),{currentFrame:s,frames:a});case r.DUPLICATE_FRAME:g("duplicate-frame");const o=e.frames.slice();return o.splice(t.index,0,function(e){let t,n,i;return e.floating&&(e.floating.bitmap&&(n=pxt.sprite.Bitmap.fromData(e.floating.bitmap).copy().data()),e.floating.overlayLayers&&(i=e.floating.overlayLayers.map((e=>pxt.sprite.Bitmap.fromData(e).copy().data()))),t={bitmap:n,overlayLayers:i}),Object.assign(Object.assign({},e),{bitmap:pxt.sprite.Bitmap.fromData(e.bitmap).copy().data(),overlayLayers:e.overlayLayers&&e.overlayLayers.map((e=>pxt.sprite.Bitmap.fromData(e).copy().data())),floating:t})}(e.frames[t.index])),Object.assign(Object.assign({},e),{frames:o,currentFrame:t.index+1});case r.NEW_FRAME:return g("new-frame"),Object.assign(Object.assign({},e),{frames:[...e.frames,h(e.frames[0].bitmap.width,e.frames[0].bitmap.height)],currentFrame:e.frames.length});case r.MOVE_FRAME:if(t.newIndex<0||t.newIndex>=e.frames.length||t.newIndex<0||t.newIndex>=e.frames.length)return e;g("move-frame");const l=e.frames.slice(),c=l.splice(t.oldIndex,1)[0];return l.splice(t.newIndex,0,c),Object.assign(Object.assign({},e),{frames:l,currentFrame:t.oldIndex===e.currentFrame?t.newIndex:e.currentFrame});case r.SET_FRAMES:return g("set-frames"),Object.assign(Object.assign({},e),{frames:t.frames,currentFrame:0});default:return e}},d=(e,t,n)=>{let i;switch(t.type){case r.CHANGE_PREVIEW_ANIMATING:return g("preview-animate-"+(t.animating?"on":"off")),Object.assign(Object.assign({},e),{previewAnimating:t.animating});case r.CHANGE_CANVAS_ZOOM:return(t.zoom>0||t.zoom<0)&&g("zoom-"+(t.zoom>0?"in":"out")),Object.assign(Object.assign({},e),{zoomDelta:t.zoom});case r.CHANGE_IMAGE_TOOL:return g(`change-tool-${a[t.tool]}`),Object.assign(Object.assign({},e),{tool:t.tool});case r.CHANGE_CURSOR_SIZE:return g(`change-cursor-size-${t.cursorSize}`),Object.assign(Object.assign({},e),{cursorSize:t.cursorSize});case r.CHANGE_SELECTED_COLOR:return g(`foreground-color-${t.selectedColor}`),Object.assign(Object.assign({},e),{selectedColor:t.selectedColor,tool:e.tool===a.Erase?a.Paint:e.tool});case r.CHANGE_CURSOR_LOCATION:return Object.assign(Object.assign({},e),{cursorLocation:t.cursorLocation});case r.CHANGE_BACKGROUND_COLOR:return g(`background-color-${t.backgroundColor}`),Object.assign(Object.assign({},e),{backgroundColor:t.backgroundColor});case r.SWAP_FOREGROUND_BACKGROUND:return g("swap-foreground-background"),Object.assign(Object.assign({},e),{backgroundColor:e.selectedColor,selectedColor:e.backgroundColor});case r.TOGGLE_ONION_SKIN_ENABLED:return g("toggle-onion-skin"),Object.assign(Object.assign({},e),{onionSkinEnabled:!e.onionSkinEnabled});case r.CHANGE_TILE_PALETTE_CATEGORY:return g(`change-tile-category-${s[t.category]}`),Object.assign(Object.assign({},e),{tilemapPalette:Object.assign(Object.assign({},e.tilemapPalette),{category:t.category,page:0})});case r.CHANGE_TILE_PALETTE_PAGE:return g("change-tile-page"),Object.assign(Object.assign({},e),{tilemapPalette:Object.assign(Object.assign({},e.tilemapPalette),{page:t.page})});case r.CHANGE_DRAWING_MODE:return g("change-drawing-mode"),Object.assign(Object.assign({},e),{drawingMode:t.drawingMode||o.Default});case r.CHANGE_OVERLAY_ENABLED:return g("change-overlay-enabled"),Object.assign(Object.assign({},e),{overlayEnabled:t.enabled});case r.CREATE_NEW_TILE:return i=e.editedTiles,!t.tile||i&&-1!==i.indexOf(t.tile.id)||(i=(i||[]).concat([t.tile.id])),Object.assign(Object.assign({},e),{editedTiles:i,selectedColor:t.foreground,backgroundColor:t.background});case r.SET_GALLERY_OPEN:return g(`set-gallery-open-${t.open}`),Object.assign(Object.assign({},e),{tileGalleryOpen:t.open,tilemapPalette:Object.assign(Object.assign({},e.tilemapPalette),{page:0})});case r.DELETE_TILE:return Object.assign(Object.assign({},e),{deletedTiles:(e.deletedTiles||[]).concat([t.id]),selectedColor:t.index===e.selectedColor?0:e.selectedColor,backgroundColor:t.index===e.backgroundColor?0:e.backgroundColor,tilesetRevision:e.tilesetRevision+1});case r.OPEN_TILE_EDITOR:const l=t.index?"edit":"new";return g(`open-tile-editor-${l}`),Object.assign(Object.assign({},e),{editingTile:{type:l,tilesetIndex:t.index}});case r.CLOSE_TILE_EDITOR:return i=e.editedTiles,!t.result||i&&-1!==i.indexOf(t.result.id)||(i=(i||[]).concat([t.result.id])),Object.assign(Object.assign({},e),{editedTiles:i,selectedColor:t.index||n.present.tileset.tiles.length,editingTile:void 0,tilesetRevision:e.tilesetRevision+1});case r.SHOW_ALERT:return g("show-alert"),Object.assign(Object.assign({},e),{alert:{title:t.title,text:t.text,options:t.options}});case r.HIDE_ALERT:return g("hide-alert"),Object.assign(Object.assign({},e),{alert:null});case r.DISABLE_RESIZE:return Object.assign(Object.assign({},e),{resizeDisabled:!0})}return e},p=(e,t)=>{switch(t.type){case r.TOGGLE_ASPECT_RATIO:return g("toggle-aspect-ratio-lock"),Object.assign(Object.assign({},e),{aspectRatioLocked:!e.aspectRatioLocked});case r.CHANGE_IMAGE_DIMENSIONS:g("change-dimensions");const[n,a]=t.imageDimensions;return Object.assign(Object.assign({},e),{tilemap:Object.assign(Object.assign({},e.tilemap),{bitmap:b(e.tilemap.bitmap,n,a),overlayLayers:e.tilemap.overlayLayers&&e.tilemap.overlayLayers.map((e=>function(e,t,n){return pxt.sprite.Bitmap.fromData(e).resize(t,n).data()}(e,n,a)))})});case r.CREATE_NEW_TILE:const s=!t.qualifiedName;let o;return g(s?"new-tile":`used-tile-${t.qualifiedName}`),s?(o=t.tile).isProjectTile=!0:o=(0,i.lookupAsset)("tile",t.qualifiedName),Object.assign(Object.assign({},e),{tileset:Object.assign(Object.assign({},e.tileset),{tiles:e.tileset.tiles.concat([o])}),nextId:s?e.nextId+1:e.nextId});case r.CLOSE_TILE_EDITOR:return g("close-tile-editor"),t.result?t.index?Object.assign(Object.assign({},e),{tileset:f(e.tileset,t.index,t.result)}):Object.assign(Object.assign({},e),{tileset:Object.assign(Object.assign({},e.tileset),{tiles:e.tileset.tiles.concat([t.result])}),nextId:e.nextId+1}):e;case r.DELETE_TILE:g("delete-tile");const l=e.tileset.tiles.slice();return l.splice(t.index,1),Object.assign(Object.assign({},e),{tilemap:Object.assign(Object.assign({},e.tilemap),{bitmap:y(t.index,pxt.sprite.Tilemap.fromData(e.tilemap.bitmap)).data()}),tileset:Object.assign(Object.assign({},e.tileset),{tiles:l})});case r.IMAGE_EDIT:return g("image-edit"),Object.assign(Object.assign({},e),{tilemap:t.newState});default:return e}};function f(e,t,n){return Object.assign(Object.assign({},e),{tiles:e.tiles.map(((e,i)=>i===t?n:e))})}function h(e,t){return{bitmap:new pxt.sprite.Bitmap(e,t).data()}}let m;function g(e){m&&m(e)}function v(e,t){for(const n of e.tiles)if(!n.jresData&&!n.isProjectTile)for(const e of t)if(e.qualifiedName===n.id){n.bitmap=e.bitmap;break}return e}function y(e,t){const n=t.copy();for(let t=0;t<n.width;t++)for(let i=0;i<n.height;i++){const r=n.get(t,i);r===e?n.set(t,i,0):r>e&&n.set(t,i,r-1)}return n}function b(e,t,n){return pxt.sprite.Tilemap.fromData(e).resize(t,n).data()}function E(e,t){return"tilemap"===e.type?function(e,t){return{kind:"Tilemap",asset:e,colors:pxt.appTarget.runtime.palette.slice(),aspectRatioLocked:!1,tilemap:{bitmap:e.data.tilemap.data(),overlayLayers:[e.data.layers]},tileset:v(e.data.tileset,t),nextId:e.data.nextId}}(e,t):function(e){return{kind:"Animation",asset:e,visible:!0,colors:pxt.appTarget.runtime.palette.slice(),aspectRatioLocked:"tile"===e.type,currentFrame:0,frames:"animation"===e.type?e.frames.map((e=>({bitmap:e}))):[{bitmap:e.bitmap}],interval:"animation"===e.type?e.interval:100}}(e)}n.setTelemetryFunction=function(e){m=e},n.default=(e=c,t)=>{var n;switch(t.type){case r.OPEN_TILE_EDITOR:case r.CHANGE_PREVIEW_ANIMATING:case r.CHANGE_CANVAS_ZOOM:case r.CHANGE_IMAGE_TOOL:case r.CHANGE_CURSOR_SIZE:case r.CHANGE_SELECTED_COLOR:case r.CHANGE_CURSOR_LOCATION:case r.CHANGE_BACKGROUND_COLOR:case r.SWAP_FOREGROUND_BACKGROUND:case r.TOGGLE_ONION_SKIN_ENABLED:case r.CHANGE_OVERLAY_ENABLED:case r.CHANGE_TILE_PALETTE_PAGE:case r.CHANGE_TILE_PALETTE_CATEGORY:case r.CHANGE_DRAWING_MODE:case r.SET_GALLERY_OPEN:case r.SHOW_ALERT:case r.HIDE_ALERT:case r.DISABLE_RESIZE:return Object.assign(Object.assign({},e),{editor:d(e.editor,t,e.store)});case r.SET_INITIAL_STATE:const a=t.state;return Object.assign(Object.assign({},e),{editor:Object.assign(Object.assign({},c.editor),{selectedColor:a.selectedColor,backgroundColor:a.backgroundColor,tilemapPalette:a.tilemapPalette,tileGalleryOpen:a.tileGalleryOpen,tileGallery:a.tileGallery,isTilemap:a.isTilemap,referencedTiles:e.editor.referencedTiles}),store:Object.assign(Object.assign({},e.store),{past:t.past||e.store.past,future:t.past?[]:e.store.future})});case r.OPEN_ASSET:const l=t.asset,f=t.gallery||(t.keepPast?e.editor.tileGallery:[]);let h=-1;if("tilemap"===l.type){const e=t.asset.data;if(pxt.sprite.isEmptyTilemap(e)){const t=e.tileset.tiles||[],r=null===(n=f.find((e=>-1!==e.tags.indexOf("forest"))))||void 0===n?void 0:n.qualifiedName,a=(0,i.lookupAsset)("tile",r);a&&!t.find((e=>e.id===r))&&t.push(a),h=t.indexOf(a)}}return Object.assign(Object.assign({},e),{editor:"tilemap"===l.type?{selectedColor:h,backgroundColor:-1,isTilemap:!0,tilemapPalette:{category:s.Forest,page:0},drawingMode:o.Default,overlayEnabled:!0,tileGallery:f,tileGalleryOpen:!!f,referencedTiles:l.data.projectReferences,previewAnimating:!1,onionSkinEnabled:!1,tilesetRevision:0,tool:t.keepPast?e.editor.tool:c.editor.tool,cursorSize:t.keepPast?e.editor.cursorSize:c.editor.cursorSize,editedTiles:t.keepPast?e.editor.editedTiles:void 0,deletedTiles:t.keepPast?e.editor.deletedTiles:void 0}:{isTilemap:!1,tilesetRevision:0,selectedColor:t.keepPast?e.editor.selectedColor:c.editor.selectedColor,backgroundColor:t.keepPast?e.editor.backgroundColor:c.editor.backgroundColor,previewAnimating:t.keepPast?e.editor.previewAnimating:c.editor.previewAnimating,tool:t.keepPast?e.editor.tool:c.editor.tool,onionSkinEnabled:t.keepPast?e.editor.onionSkinEnabled:c.editor.onionSkinEnabled,cursorSize:t.keepPast?e.editor.cursorSize:c.editor.cursorSize,resizeDisabled:t.keepPast?e.editor.resizeDisabled:c.editor.resizeDisabled},store:Object.assign(Object.assign({},e.store),{past:t.keepPast?e.store.past:[],present:E(t.asset,f),future:[]})});case r.CHANGE_ASSET_NAME:return g("change-asset-name"),Object.assign(Object.assign({},e),{store:{past:[...e.store.past,e.store.present],present:Object.assign(Object.assign({},e.store.present),{asset:Object.assign(Object.assign({},e.store.present.asset),{meta:Object.assign(Object.assign({},e.store.present.asset.meta||{}),{displayName:t.name})})}),future:[]}});case r.UNDO_IMAGE_EDIT:return e.store.past.length?(g("undo"),Object.assign(Object.assign({},e),{store:Object.assign(Object.assign({},e.store),{past:e.store.past.slice(0,e.store.past.length-1),present:e.store.past[e.store.past.length-1],future:[...e.store.future,e.store.present]}),editor:Object.assign(Object.assign({},e.editor),{tilesetRevision:e.editor.tilesetRevision+1})})):e;case r.REDO_IMAGE_EDIT:return e.store.future.length?(g("redo"),Object.assign(Object.assign({},e),{store:Object.assign(Object.assign({},e.store),{past:[...e.store.past,e.store.present],present:e.store.future[e.store.future.length-1],future:e.store.future.slice(0,e.store.future.length-1)}),editor:Object.assign(Object.assign({},e.editor),{tilesetRevision:e.editor.tilesetRevision+1})})):e;default:return Object.assign(Object.assign({},e),{editor:d(e.editor,t,e.store),store:Object.assign(Object.assign({},e.store),{past:[...e.store.past,e.store.present],present:e.editor.isTilemap?p(e.store.present,t):u(e.store.present,t),future:[]})})}}},{"../../../assets":11,"../actions/types":27}],31:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.mainStore=n.tileEditorStore=void 0;const i=e("redux"),r=e("./imageReducer"),a=(0,i.createStore)(r.default);n.default=a,n.tileEditorStore=(0,i.createStore)(r.default),n.mainStore=a},{"./imageReducer":30,redux:109}],32:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Minimap=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("../ImageEditor"),o=pxt.BrowserUtils.isEdge()?25:1;class l extends r.Component{constructor(){super(...arguments),this.tileColors=[]}componentDidMount(){this.canvas=this.refs["minimap-canvas"],this.redrawCanvas()}componentDidUpdate(){this.redrawCanvas()}render(){return(0,i.jsx)("div",Object.assign({className:"minimap-outer"},{children:(0,i.jsx)("canvas",{ref:"minimap-canvas",className:"paint-surface"})}))}redrawCanvas(){const{tilemap:e,lightMode:t}=this.props;let{bitmap:n,floating:i,layerOffsetX:r,layerOffsetY:a}=e;const l=this.canvas.getContext("2d"),c=pxt.sprite.Tilemap.fromData(n),u=i&&i.bitmap?pxt.sprite.Tilemap.fromData(i.bitmap):null;this.canvas.width=c.width*o,this.canvas.height=c.height*o,this.tileColors=[];for(let e=0;e<c.width;e++)for(let n=0;n<c.height;n++){const i=u?u.get(e-r,n-a):null,d=c.get(e,n);i?(l.fillStyle=this.getColor(i),l.fillRect(e*o,n*o,o,o)):d?(l.fillStyle=this.getColor(d),l.fillRect(e*o,n*o,o,o)):t?(l.fillStyle=s.LIGHT_MODE_TRANSPARENT,l.fillRect(e*o,n*o,o,o)):l.clearRect(e*o,n*o,o,o)}}getColor(e){if(!this.tileColors[e]){const{tileset:t,colors:n}=this.props;if(e>=t.tiles.length)return"#ffffff";const i=pxt.sprite.Bitmap.fromData(t.tiles[e].bitmap);this.tileColors[e]=pxt.sprite.computeAverageColor(i,n)}return this.tileColors[e]}}n.Minimap=(0,a.connect)((function({store:{present:e},editor:t},n){let i=e;return i?{tilemap:i.tilemap,tileset:i.tileset,colors:i.colors}:{}}),{})(l)},{"../ImageEditor":19,react:107,"react-redux":93,"react/jsx-runtime":108}],33:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TilePalette=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("../store/imageReducer"),o=e("../actions/dispatch"),l=e("../TimelineFrame"),c=e("../Dropdown"),u=e("../Pivot"),d=e("../Button"),p=e("../../../assets"),f=pxt.BrowserUtils.isEdge()?25:1,h=[{id:"forest",text:lf("Forest"),tiles:[]},{id:"aquatic",text:lf("Aquatic"),tiles:[]},{id:"dungeon",text:lf("Dungeon"),tiles:[]},{id:"misc",text:lf("Miscellaneous"),tiles:[]}],m=[{id:"custom",text:lf("My Tiles")},{id:"gallery",text:lf("Gallery")}],g=new pxt.sprite.Bitmap(16,16);class v extends r.Component{constructor(e){super(e),this.dropdownHandler=(e,t)=>{this.props.dispatchChangeTilePaletteCategory(t)},this.pivotHandler=(e,t)=>{this.props.dispatchSetGalleryOpen(1===t)},this.pageHandler=e=>{this.props.dispatchChangeTilePalettePage(e)},this.tileCreateHandler=()=>{this.props.dispatchOpenTileEditor()},this.tileEditHandler=()=>{const{tileset:e,selected:t,dispatchOpenTileEditor:n}=this.props,i=e.tiles[t];(null==i?void 0:i.isProjectTile)&&0!==t&&n(t,i.id)},this.tileDuplicateHandler=()=>{var e;const{tileset:t,selected:n,backgroundColor:i,dispatchCreateNewTile:r}=this.props;if(!t.tiles[n]||!t.tiles[n].isProjectTile||0===n)return;const a=t.tiles[n];r((0,p.createTile)(a.bitmap,null,null===(e=a.meta)||void 0===e?void 0:e.displayName),t.tiles.length,i)},this.tileDeleteAlertHandler=()=>{const{tileset:e,selected:t,dispatchShowAlert:n,dispatchHideAlert:i,referencedTiles:r}=this.props,a=e.tiles[t];t&&a&&a.isProjectTile&&(r&&-1!==r.indexOf(a.id)?n(lf("Unable to delete"),lf("This tile is used in your game. Remove all blocks using the tile before deleting."),[{label:lf("Cancel"),onClick:i}]):n(lf("Are you sure?"),lf("Deleting this tile will remove it from all other tile maps in your game."),[{label:lf("Yes"),onClick:this.deleteTile},{label:lf("No"),onClick:i}]))},this.deleteTile=()=>{const e=this.props.tileset.tiles[this.props.selected];e&&this.props.dispatchDeleteTile(this.props.selected,e.id)},this.canvasClickHandler=e=>{this.handleCanvasClickCore(e.clientX,e.clientY,e.button>0)},this.canvasTouchHandler=e=>{this.handleCanvasClickCore(e.changedTouches[0].clientX,e.changedTouches[0].clientY,!1)},this.foregroundBackgroundClickHandler=()=>{this.props.drawingMode!=s.TileDrawingMode.Default?this.props.dispatchChangeDrawingMode(s.TileDrawingMode.Default):this.props.dispatchSwapBackgroundForeground()},this.wallClickHandler=()=>{this.props.drawingMode===s.TileDrawingMode.Wall?this.props.dispatchChangeDrawingMode(s.TileDrawingMode.Default):this.props.dispatchChangeDrawingMode(s.TileDrawingMode.Wall)},this.preventContextMenu=e=>e.preventDefault();const{gallery:t}=e;if(this.refreshGallery(e),t){const e={};for(const n of t){const t=n.tags.find((e=>pxt.Util.startsWith(e,"category-")));t&&(e[t]||(e[t]={id:t,text:pxt.Util.rlf(`{id:tilecategory}${t.substr(9)}`),tiles:[]}),e[t].tiles.push(n))}this.categories=h.concat(Object.keys(e).map((t=>e[t])))}else this.categories=[]}componentDidMount(){this.canvas=this.refs["tile-canvas-surface"],this.updateGalleryTiles(),this.redrawCanvas()}UNSAFE_componentWillReceiveProps(e){this.props.selected!=e.selected?this.jumpToPageContaining(e.selected):this.props.backgroundColor!=e.backgroundColor&&this.jumpToPageContaining(e.backgroundColor),this.refreshGallery(e)}componentDidUpdate(){this.updateGalleryTiles(),this.redrawCanvas()}render(){const{colors:e,selected:t,backgroundColor:n,tileset:r,category:a,page:o,drawingMode:p,galleryOpen:f}=this.props,h=r.tiles[t]?r.tiles[t].bitmap:g.data(),v=r.tiles[n]?r.tiles[n].bitmap:g.data();g.data(),this.updateGalleryTiles();let E=Math.ceil(this.categoryTiles.length/16);f||this.categoryTiles.length%16!=0||E++;const k=!f&&(1===E||o===E-1),T=f||!this.renderedTiles.some((e=>!b(e)&&e.index===t));return(0,i.jsxs)("div",Object.assign({className:"tile-palette"},{children:[(0,i.jsxs)("div",Object.assign({className:"tile-palette-fg-bg"},{children:[(0,i.jsx)("div",Object.assign({className:"tile-palette-swatch fg "+(p==s.TileDrawingMode.Default?"selected":""),onClick:this.foregroundBackgroundClickHandler,role:"button"},{children:(0,i.jsx)(l.TimelineFrame,{frames:[{bitmap:h}],colors:e})})),(0,i.jsxs)("div",Object.assign({className:"tile-palette-swatch bg",onClick:this.foregroundBackgroundClickHandler,role:"button"},{children:[(0,i.jsx)(l.TimelineFrame,{frames:[{bitmap:v}],colors:e}),(0,i.jsx)(d.IconButton,{iconClass:"ms-Icon ms-Icon--ReturnKey",title:lf("Swap the background and foreground colors."),toggle:!0})]})),(0,i.jsx)("div",Object.assign({className:"tile-palette-swatch wall "+(p==s.TileDrawingMode.Wall?"selected":""),onClick:this.wallClickHandler,title:lf("Draw walls"),role:"button"},{children:(0,i.jsx)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1000 1000",width:"1000",height:"1000"},{children:(0,i.jsx)("path",{d:"M 968.49289,108.05443 771.30518,3.7581533 183.65231,166.0694 l 2.58963,202.62638 -156.247366,54.4148 0.872799,492.65563 179.544267,81.08212 758.08125,-222.4989 z M 765.6275,42.836761 916.79721,122.02922 412.26526,262.35026 250.08966,187.43643 Z M 934.62189,739.077 234.56171,946.92199 233.81426,554.79578 422.38222,493.25053 423.42046,300.4059 934.62189,157.54989 Z M 204.96854,402.33519 361.49056,473.98651 222.88861,518.46222 75.008408,444.5191 Z"})}))}))]})),(0,i.jsx)(u.Pivot,{options:m,selected:f?1:0,onChange:this.pivotHandler}),(0,i.jsxs)("div",Object.assign({className:"tile-palette-controls-outer"},{children:[f&&(0,i.jsx)(c.Dropdown,{onChange:this.dropdownHandler,options:this.categories.filter((e=>!!e.tiles.length)),selected:a}),!f&&(0,i.jsxs)("div",Object.assign({className:"tile-palette-controls"},{children:[(0,i.jsx)(d.IconButton,{onClick:this.tileEditHandler,iconClass:"ms-Icon ms-Icon--SingleColumnEdit",title:lf("Edit the selected tile"),disabled:T,toggle:!T}),(0,i.jsx)(d.IconButton,{onClick:this.tileDuplicateHandler,iconClass:"ms-Icon ms-Icon--Copy",title:lf("Duplicate the selected tile"),disabled:T,toggle:!T}),(0,i.jsx)(d.IconButton,{onClick:this.tileDeleteAlertHandler,iconClass:"ms-Icon ms-Icon--Delete",title:lf("Delete the selected tile"),disabled:T,toggle:!T})]}))]})),(0,i.jsxs)("div",Object.assign({className:"tile-canvas-outer",onContextMenu:this.preventContextMenu},{children:[(0,i.jsxs)("div",Object.assign({className:"tile-canvas"},{children:[(0,i.jsx)("canvas",{ref:"tile-canvas-surface",className:"paint-surface",onMouseDown:this.canvasClickHandler,onTouchStart:this.canvasTouchHandler,role:"complementary"}),k&&(0,i.jsx)("div",Object.assign({ref:"create-tile-ref"},{children:(0,i.jsx)(d.IconButton,{onClick:this.tileCreateHandler,iconClass:"ms-Icon ms-Icon--Add",title:lf("Create a new tile"),toggle:!0})}))]})),(0,i.jsx)("div",Object.assign({className:"tile-canvas-controls"},{children:y(E,o,this.pageHandler)}))]}))]}))}updateGalleryTiles(){const{page:e,category:t,galleryOpen:n}=this.props;this.categoryTiles=n?this.categories[t].tiles:this.getCustomTiles().map((([e,t])=>({index:t,bitmap:e.bitmap})));const i=16*e;this.renderedTiles=this.categoryTiles.slice(i,i+16)}jumpToPageContaining(e){const{tileset:t,dispatchSetGalleryOpen:n,dispatchChangeTilePaletteCategory:i,dispatchChangeTilePalettePage:r}=this.props;if(!e||e<0||e>=t.tiles.length)return;const a=t.tiles[e];if(a.isProjectTile){const e=this.getCustomTiles().map((([e,t])=>e));if(!e)return;const t=Math.max(Math.floor(e.findIndex((e=>e.id==a.id))/16),0);n(!1),r(t)}else{const e=this.categories.find((e=>-1!==e.tiles.findIndex((e=>e.qualifiedName==a.id))));if(!e||!e.tiles)return;const t=Math.max(Math.floor(e.tiles.findIndex((e=>e.qualifiedName==a.id))/16),0);n(!0),i(this.categories.indexOf(e)),r(t)}}redrawCanvas(){const{tileset:e,page:t,selected:n}=this.props,i=4*t*4,r=e.tileWidth+1;this.canvas.width=(4*r+1)*f,this.canvas.height=(4*r+1)*f;const a=this.canvas.getContext("2d");for(let e=0;e<4;e++)for(let t=0;t<4;t++){const s=this.categoryTiles[i+4*e+t];s&&(b(s)||s.index!==n||(a.fillStyle="#ff0000",a.fillRect(t*r,e*r,r+1,r+1)),a.fillStyle="#333333",a.fillRect(t*r+1,e*r+1,r-1,r-1),this.drawBitmap(pxt.sprite.Bitmap.fromData(s.bitmap),1+t*r,1+e*r))}this.positionCreateTileButton()}drawBitmap(e,t=0,n=0,i=!0,r=f,a=this.canvas){const{colors:s}=this.props,o=a.getContext("2d");o.imageSmoothingEnabled=!1;for(let a=0;a<e.width;a++)for(let l=0;l<e.height;l++){const c=e.get(a,l);c?(o.fillStyle=s[c],o.fillRect((a+t)*r,(l+n)*r,r,r)):i||o.clearRect((a+t)*r,(l+n)*r,r,r)}}handleCanvasClickCore(e,t,n){const i=this.canvas.getBoundingClientRect(),r=(e-i.left)/(i.width/4)|0,a=(t-i.top)/(i.height/4)|0,o=this.renderedTiles[4*a+r];if(o){let e,t;if(b(o)?(e=this.getTileIndex(o),t=o.qualifiedName):e=o.index,e>=0)n?this.props.dispatchChangeBackgroundColor(e):this.props.dispatchChangeSelectedColor(e);else{const{selected:e,backgroundColor:i,tileset:r}=this.props,a=r.tiles.length||1;this.props.dispatchCreateNewTile(null,n?e:a,n?a:i,t)}this.props.dispatchChangeDrawingMode(s.TileDrawingMode.Default)}}refreshGallery(e){const{gallery:t,tileset:n}=e;t&&h.forEach((e=>{e.tiles=t.filter((t=>-1!==t.tags.indexOf(e.id)&&t.tileWidth===n.tileWidth))}))}positionCreateTileButton(){const e=this.refs["create-tile-ref"];if(e){const t=this.categoryTiles.length%4,n=Math.floor(this.categoryTiles.length/4)%4;e.style.position="absolute",e.style.left="calc("+t/4+" * (100% - 0.5rem) + 0.25rem)",e.style.top="calc("+n/4+" * (100% - 0.5rem) + 0.25rem)"}}getCustomTiles(){return this.props.tileset.tiles.map(((e,t)=>[e,t])).filter((([e])=>e.isProjectTile)).sort((([e],[t])=>{const n="myTiles.transparency"+this.props.tileset.tileWidth;return e.id==n?-1:t.id==n?1:e.internalID-t.internalID}))}getTileIndex(e){const{tileset:t}=this.props;for(let n=0;n<t.tiles.length;n++)if(t.tiles[n].id===e.qualifiedName)return n;return-1}}function y(e,t,n){const r=16+5*(e-1),a=[];for(let n=0;n<e;n++)a[n]=n===t;return(0,i.jsxs)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${r} 10`,className:"tile-palette-pages "+(e<2?"disabled":"")},{children:[(0,i.jsx)("polygon",{className:"tile-palette-page-arrow",points:"1,5 4,3 4,7",onClick:t?()=>n(t-1):void 0}),a.map(((e,t)=>(0,i.jsx)("circle",{className:"tile-palette-page-dot",cx:8+5*t,cy:"5",r:e?2:1,onClick:e?void 0:()=>n(t)},t))),(0,i.jsx)("polygon",{className:"tile-palette-page-arrow",points:`${r-1},5 ${r-4},3 ${r-4},7`,onClick:t<e-1?()=>n(t+1):void 0})]}))}function b(e){return!!e.qualifiedName}const E={dispatchChangeSelectedColor:o.dispatchChangeSelectedColor,dispatchChangeBackgroundColor:o.dispatchChangeBackgroundColor,dispatchSwapBackgroundForeground:o.dispatchSwapBackgroundForeground,dispatchChangeTilePalettePage:o.dispatchChangeTilePalettePage,dispatchChangeTilePaletteCategory:o.dispatchChangeTilePaletteCategory,dispatchChangeDrawingMode:o.dispatchChangeDrawingMode,dispatchCreateNewTile:o.dispatchCreateNewTile,dispatchSetGalleryOpen:o.dispatchSetGalleryOpen,dispatchOpenTileEditor:o.dispatchOpenTileEditor,dispatchDeleteTile:o.dispatchDeleteTile,dispatchShowAlert:o.dispatchShowAlert,dispatchHideAlert:o.dispatchHideAlert};n.TilePalette=(0,a.connect)((function({store:{present:e},editor:t},n){let i=e;return i?{selected:t.selectedColor,tileset:i.tileset,backgroundColor:t.backgroundColor,category:t.tilemapPalette.category,page:t.tilemapPalette.page,colors:i.colors,drawingMode:t.drawingMode,gallery:t.tileGallery,galleryOpen:t.tileGalleryOpen,referencedTiles:t.referencedTiles}:{}}),E)(v)},{"../../../assets":11,"../Button":15,"../Dropdown":17,"../Pivot":20,"../TimelineFrame":23,"../actions/dispatch":26,"../store/imageReducer":30,react:107,"react-redux":93,"react/jsx-runtime":108}],34:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.replaceColorEdit=n.outlineEdit=n.flipEdit=n.rotateEdit=n.MarqueeEdit=n.FillEdit=n.CircleEdit=n.LineEdit=n.OutlineEdit=n.RectangleEdit=n.PaintEdit=n.SelectionEdit=n.Edit=n.EditState=n.getEditState=n.getEdit=n.tools=n.ToolCursor=void 0;const i=e("./store/imageReducer");var r,a;(a=r=n.ToolCursor||(n.ToolCursor={})).None="none",a.Default="default",a.Pointer="pointer",a.Crosshair="crosshair",a.Grab="grab",a.Grabbing="grabbing",a.EyeDropper="var(--eyedropper)",n.tools=[{tool:i.ImageEditorTool.Paint,iconClass:"ms-Icon ms-Icon--Edit",title:lf("Paint Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Erase,iconClass:"ms-Icon ms-Icon--EraseTool",title:lf("Erase Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Rect,iconClass:"ms-Icon ms-Icon--RectangleShape",title:lf("Rectangle Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Fill,iconClass:"ms-Icon ms-Icon--BucketColor",title:lf("Fill Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Circle,iconClass:"ms-Icon ms-Icon--CircleRing",title:lf("Circle Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Line,iconClass:"ms-Icon ms-Icon--Line",title:lf("Line Tool"),hoverCursor:r.Crosshair},{tool:i.ImageEditorTool.Marquee,iconClass:"ms-Icon ms-Icon--SelectAll",title:lf("Marquee Tool"),hoverCursor:r.Crosshair,hoverLayerCursor:r.Grab,downLayerCursor:r.Grabbing},{tool:i.ImageEditorTool.Pan,iconClass:"ms-Icon ms-Icon--HandsFree",title:lf("Canvas Pan Tool"),hoverCursor:r.Grab,downCursor:r.Grabbing},{tool:i.ImageEditorTool.ColorSelect,hiddenTool:!0,iconClass:"ms-Icon ms-Icon--Edit",title:lf("Color Select Tool"),hoverCursor:r.EyeDropper}],n.getEdit=function(e,t,n,r){switch(e){case i.ImageEditorTool.Paint:return new c(t.width,t.height,n,r);case i.ImageEditorTool.Rect:return new u(t.width,t.height,n,r);case i.ImageEditorTool.Fill:return new f(t.width,t.height,n,r);case i.ImageEditorTool.Line:return new d(t.width,t.height,n,r);case i.ImageEditorTool.Marquee:return new h(t.width,t.height,n,r);case i.ImageEditorTool.Circle:return new p(t.width,t.height,n,r);case i.ImageEditorTool.Erase:return new c(t.width,t.height,0,r);case i.ImageEditorTool.ColorSelect:default:return}},n.getEditState=function(e,t,n=i.TileDrawingMode.Default){const r=new s(t?pxt.sprite.Tilemap.fromData(e.bitmap).copy():pxt.sprite.Bitmap.fromData(e.bitmap).copy());let a,o,l;return e.overlayLayers&&(r.overlayLayers=e.overlayLayers.map((e=>pxt.sprite.Bitmap.fromData(e).copy()))),r.layerOffsetX=e.layerOffsetX,r.layerOffsetY=e.layerOffsetY,e.floating&&(e.floating.bitmap&&(o=t?pxt.sprite.Tilemap.fromData(e.floating.bitmap).copy():pxt.sprite.Bitmap.fromData(e.floating.bitmap).copy()),e.floating.overlayLayers&&(l=e.floating.overlayLayers.map((e=>pxt.sprite.Bitmap.fromData(e).copy()))),a={image:o,overlayLayers:l}),r.floating=a,r.setActiveLayer(n),r};class s{constructor(e){this.activeLayerIndex=-1,this.image=e,this.layerOffsetX=0,this.layerOffsetY=0}get width(){return this.image.width}get height(){return this.image.height}get activeLayer(){return this.activeLayerIndex<0?this.image:this.overlayLayers[this.activeLayerIndex]}setActiveLayer(e){switch(e){case i.TileDrawingMode.Wall:this.activeLayerIndex=0;break;default:this.activeLayerIndex=-1}}copy(){const e=new s;if(e.image=this.image.copy(),e.overlayLayers=this.overlayLayers&&this.overlayLayers.map((e=>e.copy())),this.floating){let t,n;this.floating.image&&(t=this.floating.image.copy()),this.floating.overlayLayers&&(n=this.floating.overlayLayers.map((e=>e.copy()))),e.floating={image:t,overlayLayers:n}}return e.layerOffsetX=this.layerOffsetX,e.layerOffsetY=this.layerOffsetY,e}equals(e){return!(!this.image.equals(e.image)||this.floating&&!e.floating||!this.floating&&e.floating)&&(!this.floating||!this.floating.image||this.floating.image.equals(e.floating.image)&&this.layerOffsetX===e.layerOffsetX&&this.layerOffsetY===e.layerOffsetY)}mergeFloatingLayer(){this.floating&&(this.floating.image||this.floating.overlayLayers)&&(this.floating.image&&(this.floating.image.x0=this.layerOffsetX,this.floating.image.y0=this.layerOffsetY,this.image.apply(this.floating.image,!0),this.floating.image=void 0),this.floating.overlayLayers&&(this.floating.overlayLayers.forEach(((e,t)=>{e.x0=this.layerOffsetX,e.y0=this.layerOffsetY,this.overlayLayers[t].apply(e,!0)})),this.floating.overlayLayers=void 0))}copyToLayer(e,t,n,i,r=!1){if(0===n||0===i)return;n<0&&(e+=n,n=-n),i<0&&(t+=i,i=-i);let a,s=this.image.copy(e,t,n,i);if(this.layerOffsetX=s.x0,this.layerOffsetY=s.y0,s.x0=void 0,s.y0=void 0,this.overlayLayers&&(a=this.overlayLayers.map((r=>r.copy(e,t,n,i)))),r)for(let r=0;r<n;r++)for(let n=0;n<i;n++)this.image.set(e+r,t+n,0),this.overlayLayers&&this.overlayLayers.forEach((i=>i.set(e+r,t+n,0)));this.floating={image:s,overlayLayers:a}}inFloatingLayer(e,t){return!(!this.floating||!this.floating.image)&&(e-=this.layerOffsetX,t-=this.layerOffsetY,e>=0&&e<this.floating.image.width&&t>=0&&t<this.floating.image.height)}setFloatingLayer(e,t,n){var i,r;n&&this.mergeFloatingLayer(),this.floating={image:e},this.layerOffsetX=null!==(i=null==t?void 0:t.layerOffsetX)&&void 0!==i?i:0,this.layerOffsetY=null!==(r=null==t?void 0:t.layerOffsetY)&&void 0!==r?r:0}toImageState(){return{bitmap:this.image.data(),layerOffsetX:this.layerOffsetX,layerOffsetY:this.layerOffsetY,floating:this.floating&&{bitmap:this.floating.image?this.floating.image.data():void 0,overlayLayers:this.floating.overlayLayers?this.floating.overlayLayers.map((e=>e.data())):void 0},overlayLayers:this.overlayLayers?this.overlayLayers.map((e=>e.data())):void 0}}}n.EditState=s;class o{constructor(e,t,n,i){this.canvasWidth=e,this.canvasHeight=t,this.color=n,this.toolWidth=i}doEdit(e){this.isStarted&&this.doEditCore(e)}inBounds(e,t){return e>=0&&e<this.canvasWidth&&t>=0&&t<this.canvasHeight}start(e,t,n,i,r){this.isStarted=!0,this.startCol=e,this.startRow=t,this.startX=n,this.startY=i}drawCursor(e,t,n){n(e,t)}}n.Edit=o;class l extends o{update(e,t){this.endCol=e,this.endRow=t,this.isDragged||e==this.startCol&&t==this.startRow||(this.isDragged=!0)}topLeft(){return{x:Math.min(this.startCol,this.endCol),y:Math.min(this.startRow,this.endRow)}}bottomRight(){return{x:Math.max(this.startCol,this.endCol),y:Math.max(this.startRow,this.endRow)}}}n.SelectionEdit=l;class c extends o{constructor(e,t,n,i){super(e,t,n,i),this.showPreview=!0,this.mask=new pxt.sprite.Bitmask(e,t)}update(e,t){this.interpolate(this.startCol,this.startRow,e,t),this.startCol=e,this.startRow=t}interpolate(e,t,n,i){const r=n-e,a=i-t,s=(e,t)=>this.mask.set(e,t);if(0===r){const n=a>=0?i:t;for(let r=a>=0?t:i;r<=n;r++)this.drawCore(e,r,s);return}const o=r>0?1:-1,l=a>0?1:-1,c=Math.abs(a/r);let u=0,d=t;for(let t=e;o>0?t<=n:t>=n;t+=o)for(this.drawCore(t,d,s),u+=c;u>=.5;)(l>0?d<=i:d>=i)&&this.drawCore(t,d,s),d+=l,u-=1}doEditCore(e){e.mergeFloatingLayer();for(let t=0;t<e.width;t++)for(let n=0;n<e.height;n++)this.mask.get(t,n)&&e.activeLayer.set(t,n,this.color)}drawCursor(e,t,n){this.drawCore(e,t,n)}drawCore(e,t,n){e-=Math.floor(this.toolWidth/2),t-=Math.floor(this.toolWidth/2);for(let i=0;i<this.toolWidth;i++)for(let r=0;r<this.toolWidth;r++){const a=e+i,s=t+r;a>=0&&a<this.canvasWidth&&s>=0&&s<this.canvasHeight&&n(e+i,t+r)}}}n.PaintEdit=c;n.RectangleEdit=class extends l{constructor(){super(...arguments),this.showPreview=!0}doEditCore(e){e.mergeFloatingLayer();const t=this.topLeft(),n=this.bottomRight();for(let i=t.x;i<=n.x;i++)for(let r=t.y;r<=n.y;r++)e.activeLayer.set(i,r,this.color)}};class u extends l{constructor(){super(...arguments),this.showPreview=!0}doEditCore(e){e.mergeFloatingLayer();let t=this.topLeft();t.x-=this.toolWidth>>1,t.y-=this.toolWidth>>1;let n=this.bottomRight();n.x+=this.toolWidth>>1,n.y+=this.toolWidth>>1;for(let i=0;i<this.toolWidth;i++)this.drawRectangle(e,{x:t.x+i,y:t.y+i},{x:n.x-i,y:n.y-i})}drawRectangle(e,t,n){if(!(t.x>n.x||t.y>n.y)){for(let i=t.x;i<=n.x;i++)e.activeLayer.set(i,t.y,this.color),e.activeLayer.set(i,n.y,this.color);for(let i=t.y;i<=n.y;i++)e.activeLayer.set(t.x,i,this.color),e.activeLayer.set(n.x,i,this.color)}}drawCursor(e,t,n){this.drawCore(e,t,n)}drawCore(e,t,n){e-=Math.floor(this.toolWidth/2),t-=Math.floor(this.toolWidth/2);for(let i=0;i<this.toolWidth;i++)for(let r=0;r<this.toolWidth;r++){const a=e+i,s=t+r;a>=0&&a<this.canvasWidth&&s>=0&&s<this.canvasHeight&&n(e+i,t+r)}}}n.OutlineEdit=u;class d extends l{constructor(){super(...arguments),this.showPreview=!0}doEditCore(e){e.mergeFloatingLayer(),this.bresenham(this.startCol,this.startRow,this.endCol,this.endRow,e)}bresenham(e,t,n,i,r){const a=n-e,s=i-t,o=(e,t)=>r.activeLayer.set(e,t,this.color);if(0===a){const n=s>=0?i:t;for(let r=s>=0?t:i;r<=n;r++)this.drawCore(e,r,o);return}const l=a>0?1:-1,c=s>0?1:-1,u=Math.abs(s/a);let d=0,p=t;for(let t=e;l>0?t<=n:t>=n;t+=l)for(this.drawCore(t,p,o),d+=u;d>=.5;)(c>0?p<=i:p>=i)&&this.drawCore(t,p,o),p+=c,d-=1}drawCursor(e,t,n){this.drawCore(e,t,n)}drawCore(e,t,n){e-=Math.floor(this.toolWidth/2),t-=Math.floor(this.toolWidth/2);for(let i=0;i<this.toolWidth;i++)for(let r=0;r<this.toolWidth;r++)n(e+i,t+r)}}n.LineEdit=d;class p extends l{constructor(){super(...arguments),this.showPreview=!0}doEditCore(e){e.mergeFloatingLayer();const t=this.topLeft(),n=this.bottomRight(),i=n.x-t.x,r=n.y-t.y,a=Math.floor(Math.hypot(i,r)),s=this.startCol,o=this.startRow;this.midpoint(s,o,a,e)}midpoint(e,t,n,i){let r=n-1,a=0,s=1,o=1,l=s-2*n;for(;r>=a;)i.activeLayer.set(e+r,t+a,this.color),i.activeLayer.set(e+r,t-a,this.color),i.activeLayer.set(e+a,t+r,this.color),i.activeLayer.set(e+a,t-r,this.color),i.activeLayer.set(e-a,t+r,this.color),i.activeLayer.set(e-a,t-r,this.color),i.activeLayer.set(e-r,t+a,this.color),i.activeLayer.set(e-r,t-a,this.color),l<=0&&(a++,l+=o,o+=2),l>0&&(r--,l+=(s+=2)-2*n)}}n.CircleEdit=p;class f extends o{constructor(){super(...arguments),this.showPreview=!0}start(e,t,n,i,r){this.isStarted=!0,this.col=e,this.row=t}update(e,t){this.col=e,this.row=t}doEditCore(e){const t=e.activeLayer!==e.image,n=(n,i)=>(t?e.activeLayer.get(n,i)+1<<8:0)+e.image.get(n,i),i=n(this.col,this.row);if(i===this.color)return;e.mergeFloatingLayer();const r=new pxt.sprite.Bitmask(e.width,e.height);r.set(this.col,this.row);const a=[{x:this.col,y:this.row}];for(;a.length;){const t=a.pop();n(t.x,t.y)===i&&(e.activeLayer.set(t.x,t.y,this.color),s(t.x+1,t.y),s(t.x-1,t.y),s(t.x,t.y+1),s(t.x,t.y-1))}function s(e,t){e>=0&&e<r.width&&t>=0&&t<r.height&&!r.get(e,t)&&(r.set(e,t),a.push({x:e,y:t}))}}}n.FillEdit=f;class h extends l{constructor(){super(...arguments),this.isMove=!1,this.isResize=!1,this.showPreview=!1}start(e,t,n,i,r){this.isStarted=!0,this.startCol=e,this.startRow=t;const a=document.elementFromPoint(n,i);if(r.floating&&r.floating.image)if(a&&"image-editor-floating-layer-corner"==a.className){this.isResize=!0,this.startOffsetX=r.layerOffsetX,this.startOffsetY=r.layerOffsetY;let e,t=0;const a=document.getElementsByClassName("image-editor-floating-layer-corner");for(let r=0;r<a.length;r++){let s=Math.sqrt(Math.pow(a[r].getBoundingClientRect().x-n,2)+Math.pow(a[r].getBoundingClientRect().y-i,2));s>t&&(t=s,e=a[r])}const s=document.getElementsByClassName("paint-surface");let o;for(let e=0;e<s.length;e++)s[e].className.includes("main")&&(o=s[e]);const l=o.getBoundingClientRect().left,c=o.getBoundingClientRect().top,u=o.getBoundingClientRect().width,d=o.getBoundingClientRect().height;this.anchorCol=(e.getBoundingClientRect().x-l)/u*this.canvasWidth,this.anchorRow=(e.getBoundingClientRect().y-c)/d*this.canvasHeight,this.originalImage||(this.originalImage=r.floating.image.copy())}else r.inFloatingLayer(e,t)&&(this.isMove=!0,this.startOffsetX=r.layerOffsetX,this.startOffsetY=r.layerOffsetY)}inBounds(e,t){return this.isMove||super.inBounds(e,t)}doEditCore(e){const t=this.topLeft(),n=this.bottomRight();if(this.isDragged)if(this.isMove)e.layerOffsetX=this.startOffsetX+this.endCol-this.startCol,e.layerOffsetY=this.startOffsetY+this.endRow-this.startRow;else if(this.isResize){const t=Math.round(Math.abs(this.anchorCol-this.endCol)),n=Math.round(Math.abs(this.anchorRow-this.endRow)),i=function(e,t,n){const i=new pxt.sprite.Bitmap(t,n,0,0);for(let r=0;r<t;r++)for(let a=0;a<n;a++){const s=Math.floor(r/t*e.width),o=Math.floor(a/n*e.height),l=e.get(s,o);i.set(r,a,l)}return i}(this.originalImage,t,n);e.setFloatingLayer(i,{layerOffsetX:Math.round(Math.min(this.anchorCol,this.endCol)),layerOffsetY:Math.round(Math.min(this.anchorRow,this.endRow))},!1)}else e.mergeFloatingLayer(),e.copyToLayer(t.x,t.y,n.x-t.x+1,n.y-t.y+1,!0);else this.isMove||e.mergeFloatingLayer()}}n.MarqueeEdit=h,n.rotateEdit=function(e,t,n,i){var r;const a=!!(null===(r=e.floating)||void 0===r?void 0:r.image),o=a?e.floating:e,l=n?new pxt.sprite.Tilemap(o.image.height,o.image.width):new pxt.sprite.Bitmap(o.image.height,o.image.width),c=o.overlayLayers?o.overlayLayers.map((e=>new pxt.sprite.Bitmap(e.height,e.width))):void 0;for(let e=0;e<o.image.width;e++)for(let t=0;t<o.image.height;t++)d(o.image,l,e,t),c&&c.forEach(((n,i)=>d(o.overlayLayers[i],n,e,t)));const u=l.width===l.height&&l.width===e.image.width&&e.image.width===e.image.height;if(!i&&!a||u){const e=new s(l);return e.overlayLayers=c,e}if(!a)for(let t=0;t<e.width;t++)for(let n=0;n<e.height;n++)e.image.set(t,n,0),e.overlayLayers&&e.overlayLayers.forEach((e=>null==e?void 0:e.set(t,n,0)));return(l.width===e.image.height&&l.height===e.image.width||l.width===e.image.width&&l.height===e.image.height)&&(e.layerOffsetX=(e.width>>1)-(l.width>>1),e.layerOffsetY=(e.height>>1)-(l.height>>1)),e.floating={image:l,overlayLayers:c},e;function d(e,n,i,r){t?n.set(r,i,e.get(i,e.height-r-1)):n.set(r,i,e.get(e.width-i-1,r))}},n.flipEdit=function(e,t,n){var i,r;const a=(null===(i=e.floating)||void 0===i?void 0:i.image)?e.floating:e,o=n?new pxt.sprite.Tilemap(a.image.width,a.image.height):new pxt.sprite.Bitmap(a.image.width,a.image.height),l=a.overlayLayers?a.overlayLayers.map((e=>new pxt.sprite.Bitmap(e.width,e.height))):void 0;for(let e=0;e<a.image.width;e++)for(let t=0;t<a.image.height;t++)c(a.image,o,e,t),l&&l.forEach(((n,i)=>c(a.overlayLayers[i],n,e,t)));if(null===(r=e.floating)||void 0===r?void 0:r.image)return e.floating={image:o,overlayLayers:l},e;{const e=new s(o);return e.overlayLayers=l,e}function c(e,n,i,r){t?n.set(i,r,e.get(i,e.height-r-1)):n.set(i,r,e.get(e.width-i-1,r))}},n.outlineEdit=function(e,t){var n,i;const r=(null===(n=e.floating)||void 0===n?void 0:n.image)?e.floating:e,a=e.copy(),s=(null===(i=null==e?void 0:e.floating)||void 0===i?void 0:i.image)?a.floating.image:a.image;for(let e=0;e<r.image.width;e++)for(let n=0;n<r.image.height;n++)0===r.image.get(e,n)&&(0===r.image.get(e-1,n)&&0===r.image.get(e,n-1)&&0===r.image.get(e+1,n)&&0===r.image.get(e,n+1)||s.set(e,n,t));return a},n.replaceColorEdit=function(e,t,n){var i,r;const a=(null===(i=e.floating)||void 0===i?void 0:i.image)?e.floating:e,s=e.copy(),o=(null===(r=null==e?void 0:e.floating)||void 0===r?void 0:r.image)?s.floating.image:s.image;for(let e=0;e<a.image.width;e++)for(let i=0;i<a.image.height;i++)a.image.get(e,i)===t&&o.set(e,i,n);return s}},{"./store/imageReducer":30}],35:[function(e,t,n){"use strict";function i(){return"undefined"!=typeof window&&!!window.PointerEvent}function r(){return"undefined"!=typeof window&&("ontouchstart"in window||navigator&&navigator.maxTouchPoints>0)}var a;Object.defineProperty(n,"__esModule",{value:!0}),n.createTilemapPatchFromFloatingLayer=n.applyBitmapData=n.imageStateToTilemap=n.imageStateToBitmap=n.bindGestureEvents=n.GestureState=n.fireClickOnlyOnEnter=n.clientCoord=n.pointerEvents=n.Bitmask=n.MapTools=n.isBitmapSupported=n.isTouchEnabled=n.hasPointerEvents=n.DRAG_RADIUS=void 0,n.DRAG_RADIUS=3,n.hasPointerEvents=i,n.isTouchEnabled=r,n.isBitmapSupported=function(){return!!window.createImageBitmap},(a=n.MapTools||(n.MapTools={}))[a.Pan=0]="Pan",a[a.Stamp=1]="Stamp",a[a.Object=2]="Object",a[a.Erase=3]="Erase";function s(e){if(e.touches){const t=e;return t.touches.length?t.touches[0]:t.changedTouches[0]}return e}n.Bitmask=class{constructor(e,t){this.width=e,this.height=t,this.mask=new Uint8Array(Math.ceil(e*t/8))}set(e,t){const n=e+this.width*t,i=n>>3,r=7&n;this.mask[i]|=1<<r}get(e,t){const n=e+this.width*t,i=n>>3,r=7&n;return this.mask[i]>>r&1}},n.pointerEvents=i()?{up:"pointerup",down:["pointerdown"],move:"pointermove",enter:"pointerenter",leave:"pointerleave"}:r()?{up:"mouseup",down:["mousedown","touchstart"],move:"touchmove",enter:"touchenter",leave:"touchend"}:{up:"mouseup",down:["mousedown"],move:"mousemove",enter:"mouseenter",leave:"mouseleave"},n.clientCoord=s,n.fireClickOnlyOnEnter=function(e){13===("number"==typeof e.which?e.which:e.keyCode)&&(e.preventDefault(),e.currentTarget.click())};class o{constructor(e,t,n){this.target=e,this.isRightClick=n,this.startX=t.clientX,this.startY=t.clientY,this.currentX=t.clientX,this.currentY=t.clientY}update(e){this.currentX=e.clientX,this.currentY=e.clientY,!this.isDrag&&this.distance()>n.DRAG_RADIUS?(this.isDrag=!0,this.target.onDragStart(e,this.isRightClick)):this.isDrag&&this.target.onDragMove(e)}end(e){e&&this.update(e),e=e||{clientX:this.currentX,clientY:this.currentY},this.isDrag?this.target.onDragEnd(e):this.target.onClick(e,this.isRightClick)}distance(){return Math.sqrt(Math.pow(this.currentX-this.startX,2)+Math.pow(this.currentY-this.startY,2))}}function l(e,t){for(let n=0;n<e.changedTouches.length;n++)if(e.changedTouches[n].identifier===t)return e.changedTouches[n]}function c(e){return e.button>0}n.GestureState=o,n.bindGestureEvents=function(e,t){i()?function(e,t){let n;e.addEventListener("pointerup",(e=>{n&&(n.end(s(e)),e.preventDefault()),n=void 0})),e.addEventListener("pointerdown",(e=>{n&&n.end(),n=new o(t,s(e),c(e)),e.preventDefault()})),e.addEventListener("pointermove",(e=>{n&&(n.update(s(e)),e.preventDefault())})),e.addEventListener("pointerleave",(e=>{n&&(n.end(s(e)),e.preventDefault()),n=void 0}))}(e,t):r()?function(e,t){let n,i;e.addEventListener("touchend",(e=>{if(n&&i){const t=l(e,i);t&&(n.end(t),n=void 0,e.preventDefault())}})),e.addEventListener("touchstart",(e=>{n&&n.end(),i=e.changedTouches[0].identifier,n=new o(t,e.changedTouches[0],c(e))})),e.addEventListener("touchmove",(e=>{if(n&&i){const t=l(e,i);t&&(n.update(t),e.preventDefault())}})),e.addEventListener("touchcancel",(e=>{if(n&&i){const t=l(e,i);t&&(n.end(t),n=void 0,e.preventDefault())}}))}(e,t):function(e,t){let n;e.addEventListener("mouseup",(e=>{n&&n.end(s(e)),n=void 0})),e.addEventListener("mousedown",(e=>{n&&n.end(),n=new o(t,s(e),c(e))})),e.addEventListener("mousemove",(e=>{n&&n.update(s(e))})),e.addEventListener("mouseleave",(e=>{n&&n.end(s(e)),n=void 0}))}(e,t)},n.imageStateToBitmap=function(e){const t=pxt.sprite.Bitmap.fromData(e.bitmap);if(e.floating&&e.floating.bitmap){const n=pxt.sprite.Bitmap.fromData(e.floating.bitmap);n.x0=e.layerOffsetX||0,n.y0=e.layerOffsetY||0,t.apply(n,!0)}return t},n.imageStateToTilemap=function(e){const t=pxt.sprite.Tilemap.fromData(e.bitmap);if(e.floating&&e.floating.bitmap){const n=pxt.sprite.Tilemap.fromData(e.floating.bitmap);n.x0=e.layerOffsetX||0,n.y0=e.layerOffsetY||0,t.apply(n,!0)}return t},n.applyBitmapData=function(e,t,n=0,i=0){if(!e||!t)return e;const r=pxt.sprite.Bitmap.fromData(e),a=pxt.sprite.Bitmap.fromData(t);return a.x0=n,a.y0=i,r.apply(a,!0),r.data()},n.createTilemapPatchFromFloatingLayer=function(e,t){if(!e.floating)return;const n=pxt.sprite.Tilemap.fromData(e.floating.image.data()),i=new pxt.sprite.Tilemap(n.width,n.height),r=e.floating.overlayLayers?e.floating.overlayLayers.map((e=>pxt.sprite.base64EncodeBitmap(e.data()))):[];let a=[];for(let e=0;e<n.width;e++)for(let r=0;r<n.height;r++){const s=t.tiles[n.get(e,r)],o=a.indexOf(s);-1===o?(i.set(e,r,a.length),a.push(s)):i.set(e,r,o)}return{map:pxt.sprite.hexEncodeTilemap(i),layers:r,tiles:a.map((e=>pxt.sprite.base64EncodeBitmap(e.bitmap)))}}},{}],36:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ImageFieldEditor=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./assetEditor/assetCard"),s=e("../assets"),o=e("./ImageEditor/ImageEditor"),l=e("./ImageEditor/keyboardShortcuts"),c=e("./ImageEditor/store/imageReducer"),u=e("./FilterPanel"),d=e("../util"),p=e("../../../react-common/components/controls/EditorToggle"),f=e("./MusicFieldEditor"),h=e("../../../react-common/components/util");class m extends r.Component{constructor(e){super(e),this.tagClickHandler=e=>{let t=this.state.gallerySelectedTags;const n=e.toLowerCase(),i=t.indexOf(n);i<0?t.push(n):t.splice(i,1),this.setState({gallerySelectedTags:t})},this.clearFilterTags=()=>{this.setState({gallerySelectedTags:[]})},this.toggleFilter=()=>{this.setState({filterOpen:!this.state.filterOpen})},this.showEditor=()=>{this.setImageEditorShortcutsEnabled(!0),v("gallery-editor"),this.setState({currentView:"editor",tileGalleryVisible:!1})},this.showGallery=()=>{this.setImageEditorShortcutsEnabled(!1),v("gallery-builtin"),this.setState({currentView:"gallery",tileGalleryVisible:!1})},this.showMyAssets=()=>{this.setImageEditorShortcutsEnabled(!1),v("gallery-my-assets"),this.userAssets=(0,s.getAssets)(void 0,void 0,this.options.temporaryAssets),this.setState({currentView:"my-assets",tileGalleryVisible:!1})},this.toggleTileGallery=()=>{this.state.tileGalleryVisible?this.setState({tileGalleryVisible:!1}):this.setState({tileGalleryVisible:!0,currentView:"editor"})},this.onAssetSelected=e=>{var t,n;if(this.ref&&e.id!==(null===(t=this.asset)||void 0===t?void 0:t.id))if(this.state.editingTile)this.ref.openInTileEditor(pxt.sprite.Bitmap.fromData(e.bitmap));else if("gallery"===this.state.currentView)this.ref.openGalleryAsset(e);else{const t=pxt.react.getTilemapProject();"tilemap"===(null===(n=this.asset)||void 0===n?void 0:n.type)&&pxt.sprite.updateTilemapReferencesFromResult(t,this.asset),this.asset.meta.displayName?t.updateAsset(this.asset):e.meta.displayName||(e=Object.assign(Object.assign({},pxt.cloneAsset(e)),{id:this.asset.id,meta:this.asset.meta})),"tilemap"===e.type&&pxt.sprite.addMissingTilemapTilesAndReferences(t,e),this.ref.openAsset(e,void 0,!0)}v("gallery-selection"),this.setState({currentView:"editor",tileGalleryVisible:!1}),this.setImageEditorShortcutsEnabled(!0)},this.onTileEditorOpenClose=e=>{this.setState({editingTile:e})},this.onDoneClick=()=>{this.closeEditor&&this.closeEditor(),this.props.doneButtonCallback&&this.props.doneButtonCallback()},this.state={currentView:"editor",headerVisible:!0,filterOpen:!1,gallerySelectedTags:[],galleryFilter:""},(0,c.setTelemetryFunction)(v)}get asset(){var e;return null===(e=this.ref)||void 0===e?void 0:e.getAsset()}render(){var e,t;const{currentView:n,headerVisible:r,editingTile:a,hideMyAssets:s,filterOpen:l}=this.state,c="gallery"===this.state.currentView&&l;let m=r;const v=!this.props.isMusicEditor&&(!this.asset||a||"tilemap"!==this.asset.type),y=!s&&!a;this.asset&&!this.galleryAssets&&v&&this.updateGalleryAssets();const b=["tile","dialog","background"];let E=[],k=[];switch(n){case"my-assets":k=this.filterAssetsByType(this.userAssets,a?"tile":null===(e=this.asset)||void 0===e?void 0:e.type),E=this.getAvailableTags(k,b);break;case"gallery":k=this.filterAssetsByType(this.galleryAssets,a?"tile":null===(t=this.asset)||void 0===t?void 0:t.type,!0,!0),E=this.getAvailableTags(k,b),k=this.filterAssetsByTag(k)}const T=[{label:lf("Editor"),title:lf("Editor"),focusable:!0,icon:"fas fa-paint-brush",onClick:this.showEditor,view:"editor"},{label:lf("Gallery"),title:lf("Gallery"),focusable:!0,icon:"fas fa-image",onClick:this.showGallery,view:"gallery"},{label:lf("My Assets"),title:lf("My Assets"),focusable:!0,icon:"fas fa-folder",onClick:this.showMyAssets,view:"my-assets"}];return v||y?v?y||T.splice(2,1):T.splice(1,1):m=!1,(0,i.jsxs)("div",Object.assign({className:(0,h.classList)("image-editor-wrapper",this.props.isMusicEditor&&"music-asset-editor")},{children:[m&&(0,i.jsxs)("div",Object.assign({className:"gallery-editor-header"},{children:[(0,i.jsx)("div",{className:"image-editor-header-left"}),(0,i.jsx)("div",Object.assign({className:"image-editor-header-center"},{children:(0,i.jsx)(p.EditorToggle,{id:"image-editor-toggle",className:"slim tablet-compact",items:T,selected:T.findIndex((e=>e.view===n))})})),(0,i.jsxs)("div",Object.assign({className:"image-editor-header-right"},{children:[(0,i.jsxs)("div",Object.assign({className:"gallery-filter-button "+("gallery"===this.state.currentView?"":"hidden"),role:"button",onClick:this.toggleFilter,onKeyDown:d.fireClickOnEnter},{children:[(0,i.jsx)("div",Object.assign({className:"gallery-filter-button-icon"},{children:(0,i.jsx)("i",{className:"icon filter"})})),(0,i.jsx)("div",Object.assign({className:"gallery-filter-button-label"},{children:lf("Filter")}))]})),!a&&(0,i.jsx)("div",Object.assign({className:"image-editor-close-button",role:"button",onClick:this.onDoneClick},{children:(0,i.jsx)("i",{className:"ui icon close"})}))]}))]})),(0,i.jsxs)("div",Object.assign({className:"image-editor-gallery-window"},{children:[(0,i.jsxs)("div",Object.assign({className:"image-editor-gallery-content"},{children:[this.props.isMusicEditor?(0,i.jsx)(f.MusicFieldEditor,{ref:"image-editor",onDoneClicked:this.onDoneClick}):(0,i.jsx)(o.ImageEditor,{ref:"image-editor",singleFrame:this.props.singleFrame,onDoneClicked:this.onDoneClick,onTileEditorOpenClose:this.onTileEditorOpenClose,lightMode:this.lightMode}),(0,i.jsx)(g,{items:k,hidden:"editor"===n,onAssetSelected:this.onAssetSelected})]})),(0,i.jsx)("div",Object.assign({className:"filter-panel-gutter "+(c?"":"hidden")},{children:(0,i.jsx)("div",Object.assign({className:"filter-panel-container"},{children:(0,i.jsx)(u.FilterPanel,{enabledTags:this.state.gallerySelectedTags,tagClickHandler:this.tagClickHandler,clearTags:this.clearFilterTags,tagOptions:E})}))}))]}))]}))}componentDidMount(){this.ref=this.refs["image-editor"],v("image-editor-shown")}componentWillUnmount(){v("image-editor-hidden"),this.galleryAssets=void 0,this.userAssets=void 0}init(e,t,n){switch(this.closeEditor=t,this.options=n,this.lightMode=n.lightMode,e.type){case"image":this.initSingleFrame(e,n);break;case"tile":n.disableResize=!0,this.initSingleFrame(e,n);break;case"animation":this.initAnimation(e,n);break;case"tilemap":this.initTilemap(e,n);break;case"song":this.ref.openAsset(e)}this.editID=e.id;let i=!1;n&&(this.blocksInfo=n.blocksInfo,n.filter&&(this.setState({galleryFilter:n.filter}),i=!0),null!=n.headerVisible&&(this.setState({headerVisible:n.headerVisible}),i=!0),null!=n.hideMyAssets&&(this.setState({hideMyAssets:n.hideMyAssets}),i=!0)),i||this.forceUpdate()}getValue(){return this.ref?this.ref.getAsset():null}getJres(){return this.ref?this.ref.getJres():""}getPersistentData(){return this.ref?this.ref.getPersistentData():null}restorePersistentData(e){this.ref&&(this.ref.restorePersistentData(e),this.options&&this.options.disableResize&&this.ref.disableResize())}onResize(){this.ref&&this.ref.onResize()}updateGalleryAssets(){this.galleryAssets=(0,s.getAssets)(!0,this.asset.type)}getAvailableTags(e,t){let n=[];return this.galleryAssets?(e.forEach((e=>{var i;null===(i=e.meta.tags)||void 0===i||i.forEach((e=>{const i=function(e){let t=0===e.indexOf("?")&&e.length>1?e.substring(1):e;return t.toLowerCase()}(e);t.indexOf(i)<0&&n.indexOf(i)<0&&n.push(i)}))})),n):[]}filterAssetsByTag(e){return this.state.gallerySelectedTags.length>0&&this.state.filterOpen&&(e=e.filter((e=>{var t;return!!(null===(t=e.meta.tags)||void 0===t?void 0:t.find((e=>this.state.gallerySelectedTags.indexOf(e)>=0)))}))),e}filterAssetsByType(e,t,n=!1,i){var r;if(void 0===t&&(t=null===(r=this.asset)||void 0===r?void 0:r.type),void 0===t)return e;if(this.asset&&!n&&(e=e.map((e=>e.type!==this.asset.type||e.id!==this.asset.id?e:(0,s.assetToGalleryItem)(this.getValue()))),this.state.editingTile)){const t=this.ref.getAsset();e=e.map((e=>{var n;return(null===(n=t.data.editedTiles)||void 0===n?void 0:n.indexOf(e.id))>=0?(0,s.assetToGalleryItem)(t.data.tileset.tiles.find((t=>t.id===e.id))):e}))}if(i){e.forEach((e=>{var t,n;!e.meta.tags&&this.options&&(e.meta.tags=(null===(n=null===(t=this.blocksInfo.apis.byQName[e.id])||void 0===t?void 0:t.attributes.tags)||void 0===n?void 0:n.split(" "))||[])}));const t=this.state.galleryFilter.split(" ").filter((e=>!!e)).map((e=>e.toLowerCase())),n=t.filter((e=>0!==e.indexOf("!"))),i=t.filter((e=>0===e.indexOf("!")&&e.length>1)).map((e=>e.substring(1)));e=e.filter((e=>function(e,t){const n=e.meta.tags?e.meta.tags:[];return t.every((e=>{const t=`?${e}`;return n.some((n=>n===e||n===t))}))}(e,n)&&function(e,t){const n=e.meta.tags?e.meta.tags:[];return t.every((e=>!n.some((t=>t===e))))}(e,i)))}if(n)switch(t){case"animation":return e.filter((e=>"animation"===e.type||"tile"===e.type||"image"===e.type));case"image":return e.filter((e=>"tile"===e.type||"image"===e.type));case"tile":return e.filter((e=>"tile"===e.type));case"tilemap":return e.filter((e=>"tilemap"===e.type));case"song":return e.filter((e=>"song"===e.type))}else switch(t){case"animation":return e.filter((e=>"animation"===e.type));case"image":return e.filter((e=>"image"===e.type));case"tile":return e.filter((e=>"tile"===e.type));case"tilemap":return e.filter((e=>"tilemap"===e.type));case"song":return e.filter((e=>"song"===e.type))}}initSingleFrame(e,t){this.ref.openAsset(e),t.disableResize&&this.ref.disableResize()}initAnimation(e,t){this.ref.openAsset(e),t.disableResize&&this.ref.disableResize()}initTilemap(e,t){let n;(null==t?void 0:t.blocksInfo)&&(this.blocksInfo=t.blocksInfo,n=pxt.sprite.filterItems(pxt.sprite.getGalleryItems(this.blocksInfo,"Image"),["tile"]).map((e=>({bitmap:pxt.sprite.getBitmap(this.blocksInfo,e.qName).data(),tags:e.tags,qualifiedName:e.qName,tileWidth:16})))),(null==t?void 0:t.galleryTiles)&&(n=t.galleryTiles.map((e=>({bitmap:e.bitmap,tags:e.tags,qualifiedName:e.qName,tileWidth:16})))),this.ref.openAsset(e,n)}loadJres(e){this.ref&&this.ref.loadJres(e)}setImageEditorShortcutsEnabled(e){e&&this.shortcutLock?((0,l.releaseShortcutLock)(this.shortcutLock),this.shortcutLock=void 0):e||this.shortcutLock||(this.shortcutLock=(0,l.obtainShortcutLock)())}}n.ImageFieldEditor=m;class g extends r.Component{constructor(){super(...arguments),this.clickHandler=e=>{this.props.onAssetSelected(e)}}render(){let{items:e,hidden:t}=this.props;return(0,i.jsx)("div",Object.assign({className:"image-editor-gallery "+(e&&!t?"visible":"")},{children:!t&&e&&e.map(((e,t)=>(0,i.jsx)(a.AssetCardView,{asset:e,selected:!1,onClick:this.clickHandler},t)))}))}}r.Component;function v(e){pxt.tickEvent("image.editor",{action:e})}},{"../../../react-common/components/controls/EditorToggle":4,"../../../react-common/components/util":9,"../assets":11,"../util":59,"./FilterPanel":12,"./ImageEditor/ImageEditor":19,"./ImageEditor/keyboardShortcuts":28,"./ImageEditor/store/imageReducer":30,"./MusicFieldEditor":37,"./assetEditor/assetCard":40,react:107,"react/jsx-runtime":108}],37:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.MusicFieldEditor=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./musicEditor/MusicEditor");class s extends r.Component{constructor(e){super(e),this.onSongChanged=e=>{this.mostRecentValue=e},this.onAssetNameChanged=e=>{this.setState({editingSong:Object.assign(Object.assign({},this.state.editingSong),{meta:Object.assign(Object.assign({},this.state.editingSong.meta),{displayName:e})})})},this.state={editRef:0}}render(){const{onDoneClicked:e}=this.props,{editingSong:t}=this.state;return(0,i.jsx)("div",Object.assign({className:"music-field-editor"},{children:t&&(0,i.jsx)(a.MusicEditor,{asset:t,onSongChanged:this.onSongChanged,onAssetNameChanged:this.onAssetNameChanged,editRef:this.state.editRef,onDoneClicked:e})}))}getAsset(){if(this.state.editingSong)return Object.assign(Object.assign({},this.state.editingSong),{song:this.mostRecentValue||this.state.editingSong.song})}openAsset(e){pxt.assets.music.inflateSong(e.song),this.setState({editingSong:e,editRef:this.state.editRef+1})}openGalleryAsset(e){}getJres(){return""}loadJres(e){}disableResize(){}onResize(){}getPersistentData(){}restorePersistentData(e){}}n.MusicFieldEditor=s},{"./musicEditor/MusicEditor":45,react:107,"react/jsx-runtime":108}],38:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.dispatchUpdateGalleryAssets=n.dispatchUpdateUserAssets=n.dispatchChangeGalleryView=n.dispatchChangeSelectedAsset=void 0;const i=e("./types");n.dispatchChangeSelectedAsset=(e,t)=>({type:i.CHANGE_SELECTED_ASSET,assetType:e,assetId:t});n.dispatchChangeGalleryView=(e,t,n)=>({type:i.CHANGE_GALLERY_VIEW,view:e,assetType:t,assetId:n});n.dispatchUpdateUserAssets=()=>({type:i.UPDATE_USER_ASSETS});n.dispatchUpdateGalleryAssets=()=>({type:i.UPDATE_GALLERY_ASSETS})},{"./types":39}],39:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.UPDATE_GALLERY_ASSETS=n.UPDATE_USER_ASSETS=n.CHANGE_GALLERY_VIEW=n.CHANGE_SELECTED_ASSET=void 0,n.CHANGE_SELECTED_ASSET="CHANGE_SELECTED_ASSET",n.CHANGE_GALLERY_VIEW="CHANGE_GALLERY_VIEW",n.UPDATE_USER_ASSETS="UPDATE_USER_ASSETS",n.UPDATE_GALLERY_ASSETS="UPDATE_GALLERY_ASSETS"},{}],40:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.AssetCard=n.AssetCardView=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("react-redux"),s=e("./store/assetEditorReducerState"),o=e("./actions/dispatch"),l=e("./assetPreview");class c extends r.Component{constructor(){super(...arguments),this.clickHandler=()=>{const{type:e,id:t}=this.props.asset;this.props.dispatchChangeSelectedAsset(e,t)}}render(){const{asset:e,selected:t}=this.props;return(0,i.jsx)(u,{asset:e,selected:t,onClick:this.clickHandler})}}class u extends r.Component{constructor(){super(...arguments),this.clickHandler=()=>{this.props.onClick(this.props.asset)}}getDisplayIconForAsset(e){switch(e){case"tile":return"clone";case"animation":return"video";case"tilemap":return"map";case"image":default:return null}}render(){var e,t;const{asset:n,selected:r}=this.props,a=(0,s.isGalleryAsset)(n),o=this.getDisplayIconForAsset(n.type),c=o||!(null===(e=n.meta)||void 0===e?void 0:e.displayName);return(0,i.jsxs)("div",Object.assign({className:"asset-editor-card "+(r?"selected":""),onClick:this.clickHandler,role:"listitem"},{children:[(0,i.jsx)(l.AssetPreview,{asset:n}),c&&(0,i.jsxs)("div",Object.assign({className:"asset-editor-card-label"},{children:[o&&(0,i.jsx)("div",Object.assign({className:"asset-editor-card-icon"},{children:(0,i.jsx)("i",{className:`icon ${o}`})})),!(null===(t=n.meta)||void 0===t?void 0:t.displayName)&&!a&&(0,i.jsx)("div",Object.assign({className:"asset-editor-card-icon warning"},{children:(0,i.jsx)("i",{className:"icon exclamation triangle"})}))]}))]}))}}n.AssetCardView=u;const d={dispatchChangeSelectedAsset:o.dispatchChangeSelectedAsset};n.AssetCard=(0,a.connect)((function(e,t){return e?{selected:e.selectedAsset&&t.asset.id==e.selectedAsset.id}:{}}),d)(c)},{"./actions/dispatch":38,"./assetPreview":41,"./store/assetEditorReducerState":42,react:107,"react-redux":93,"react/jsx-runtime":108}],41:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.AssetPreview=void 0;const i=e("react/jsx-runtime"),r=e("react");class a extends r.Component{constructor(){super(...arguments),this.onMouseEnter=()=>{this.restartAnimation()},this.onMouseLeave=()=>{this.endAnimation()},this.restartAnimation=()=>{var e;this.endAnimation();const t=this.props.asset;"animation"===t.type&&(null===(e=t.framePreviewURIs)||void 0===e?void 0:e.length)>1&&(this.currentFrame=0,this.animationIntervalRef=setInterval((()=>{this.ref&&(this.ref.src=t.framePreviewURIs[this.currentFrame]),this.currentFrame=(this.currentFrame+1)%t.framePreviewURIs.length}),Math.max(t.interval,100)))},this.handleRef=e=>{e&&(this.ref=e)}}render(){var e;const{asset:t}=this.props,n="animation"===t.type&&(null===(e=t.framePreviewURIs)||void 0===e?void 0:e.length)>1,r=t.meta.displayName||(t.meta.temporaryInfo?lf("Temporary Asset"):t.id);return(0,i.jsx)("div",Object.assign({className:"asset-editor-preview",title:r},{children:(0,i.jsx)("img",{src:t.previewURI,alt:lf("A preview of your asset (eg image, tile, animation)"),onMouseEnter:n?this.onMouseEnter:void 0,onMouseLeave:n?this.onMouseLeave:void 0,ref:n?this.handleRef:void 0,loading:"lazy"})}))}componentDidUpdate(){this.animationIntervalRef&&this.restartAnimation()}componentWillUnmount(){this.endAnimation()}endAnimation(){this.animationIntervalRef&&(clearInterval(this.animationIntervalRef),this.animationIntervalRef=void 0,this.ref.src=this.props.asset.previewURI)}}n.AssetPreview=a},{react:107,"react/jsx-runtime":108}],42:[function(e,t,n){"use strict";var i;Object.defineProperty(n,"__esModule",{value:!0}),n.isGalleryAsset=n.GalleryView=void 0,(i=n.GalleryView||(n.GalleryView={}))[i.User=0]="User",i[i.Gallery=1]="Gallery",n.isGalleryAsset=function(e){return null==e?void 0:e.id.startsWith("sprites.")}},{}],43:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.EditControls=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../../../../react-common/components/controls/Button"),s=e("../../../../react-common/components/controls/Input"),o=e("../../assets");n.EditControls=e=>{const{onAssetNameChanged:t,onDoneClicked:n,assetName:l}=e,[c,u]=r.useState(),[d,p]=r.useState(),f=e=>{let n=null;const i=e.trim();if(!i)return u(void 0),void p(void 0);pxt.validateAssetName(i)?(0,o.isNameTaken)(i)&&i!==l&&(n=lf("This name is already used elsewhere in your project")):n=lf("Names may only contain letters, numbers, '-', '_', and space"),n?(u(i),p(n)):(t(i),u(void 0),p(void 0))};return(0,i.jsxs)("div",Object.assign({className:"music-editor-edit-controls"},{children:[d&&(0,i.jsx)("div",Object.assign({className:"music-editor-name-error"},{children:d})),(0,i.jsx)(s.Input,{placeholder:lf("Asset Name"),initialValue:l||c,onBlur:f,onEnterKey:f}),(0,i.jsx)(a.Button,{className:"green",title:lf("Done"),label:lf("Done"),onClick:n})]}))}},{"../../../../react-common/components/controls/Button":1,"../../../../react-common/components/controls/Input":7,"../../assets":11,react:107,"react/jsx-runtime":108}],44:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.GridHighlight=void 0;const i=e("react/jsx-runtime"),r=e("./svgConstants");n.GridHighlight=e=>{const{start:t,end:n,ticksPerBeat:a}=e,s=null!=t&&null!=n,o=Math.min(t,n),l=Math.max(t,n);return s?(0,i.jsxs)("g",{children:[(0,i.jsx)("rect",{fill:"#03adfc",x:(0,r.tickToX)(a,o),y:r.STAFF_HEADER_HEIGHT-r.STAFF_GRID_TICK_HEIGHT,width:(0,r.tickToX)(a,l)-(0,r.tickToX)(a,o),height:r.STAFF_GRID_TICK_HEIGHT}),(0,i.jsx)("rect",{fill:"#03adfc",x:(0,r.tickToX)(a,o),y:r.BASS_STAFF_TOP+r.STAFF_HEADER_HEIGHT-r.STAFF_GRID_TICK_HEIGHT,width:(0,r.tickToX)(a,l)-(0,r.tickToX)(a,o),height:r.STAFF_GRID_TICK_HEIGHT})]}):(0,i.jsx)("g",{})}},{"./svgConstants":57,"react/jsx-runtime":108}],45:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.MusicEditor=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./EditControls"),s=e("./keyboardNavigation"),o=e("./playback"),l=e("./PlaybackControls"),c=e("./ScrollableWorkspace"),u=e("./TrackSelector"),d=e("./utils");n.MusicEditor=e=>{const{asset:t,onSongChanged:n,savedUndoStack:p,onAssetNameChanged:f,editRef:h,onDoneClicked:m}=e,[g,v]=r.useState(0),[y,b]=r.useState("1/8"),[E,k]=r.useState(t.song),[T,C]=r.useState(!1),[w,S]=r.useState(!1),[x,O]=r.useState(p||[]),[_,j]=r.useState([]),[I,N]=r.useState(h),[A,P]=r.useState(),[D,L]=r.useState(),[R,M]=r.useState(!1),[F,H]=r.useState((0,d.doesSongUseBassClef)(t.song));r.useEffect((()=>()=>{(0,o.stopPlayback)()}),[]),r.useEffect((()=>{const e=e=>{A&&(e.preventDefault(),e.stopPropagation(),e.clipboardData.setData("application/makecode-song",JSON.stringify(A)))},t=e=>{if(A){e.preventDefault(),e.stopPropagation(),e.clipboardData.setData("application/makecode-song",JSON.stringify(A));const t=(0,d.applySelection)(A,w?g:void 0);z((0,d.deleteSelectedNotes)(t),!0)}},n=e=>{const t=e.clipboardData.getData("application/makecode-song");if(t){const e=JSON.parse(t);let n;n=A?{originalSong:(0,d.deleteSelectedNotes)((0,d.applySelection)(A,w?g:void 0)),pastedContent:e,startTick:A.startTick,endTick:A.startTick+(e.endTick-e.startTick),deltaTick:0,transpose:0}:{originalSong:E,pastedContent:e,startTick:0,endTick:e.endTick-e.startTick,deltaTick:0,transpose:0},z((0,d.applySelection)(n,w?g:void 0),!1),P(n)}};return document.addEventListener("copy",e),document.addEventListener("cut",t),document.addEventListener("paste",n),()=>{document.removeEventListener("copy",e),document.removeEventListener("cut",t),document.removeEventListener("paste",n)}}),[A,w,E]),I!==h&&(N(h),k(t.song));const B=r.useRef(),G=T?1:function(e,t){switch(e){case"1/4":return t;case"1/8":return t/2;case"1/16":return t/4;case"1/32":return t/8}}(y,E.ticksPerBeat),W=!!E.tracks[g].drums,z=(e,t)=>{var i;(0,o.isPlaying)()&&(0,o.updatePlaybackSongAsync)(e);let r=x.slice();t&&(r.push(pxt.assets.music.cloneSong((null==A?void 0:A.originalSong)||(null===(i=B.current)||void 0===i?void 0:i.original)||E)),O(r),j([])),k(e),n&&n(e),B.current&&(B.current.editing=e)},U=()=>{var e,t;let n;return P(void 0),"move"===(null===(e=null==B?void 0:B.current)||void 0===e?void 0:e.dragType)?n=(0,d.unselectAllNotes)(B.current.editing):(0,d.findSelectedRange)(E)&&(n=(0,d.unselectAllNotes)(E)),n&&(z(n,!0),"move"===(null===(t=null==B?void 0:B.current)||void 0===t?void 0:t.dragType)&&(B.current=void 0)),n},V=e=>{L(D?Object.assign(Object.assign({},D),{tick:e}):{tick:e,gridTicks:G,track:g,bassClef:!1,hideTracksActive:w,selection:A})};return(0,i.jsxs)("div",Object.assign({className:"music-editor"},{children:[(0,i.jsx)(u.TrackSelector,{song:E,selected:g,onTrackSelected:e=>{U(),M(!1);const t=E.tracks[e];t.drums?(0,o.playDrumAsync)(t.drums[0]):(0,o.playNoteAsync)((0,d.rowToNote)(t.instrument.octave,6,!1,!!t.drums).note,t.instrument,(0,o.tickToMs)(E.beatsPerMinute,E.ticksPerBeat,E.ticksPerBeat/2)),v(e),D&&L(Object.assign(Object.assign({},D),{track:e})),T&&C(!1)},eraserActive:T,onEraserClick:()=>{U(),M(!1),C(!T)},hideTracksActive:w,onHideTracksClick:()=>{U(),M(!1),S(!w)},selectedResolution:y,onResolutionSelected:b}),(0,i.jsx)(c.ScrollableWorkspace,{song:E,selectedTrack:g,eraserActive:T,onWorkspaceClick:(e,t)=>{M(!1);const n=E.tracks[g],i=n.instrument,r=(0,d.findPreviousNoteEvent)(E,g,e.tick);U(),V(e.tick);const a=t=>(0,d.isBassClefNote)(i.octave,t,W)===e.isBassClef&&(0,d.noteToRow)(i.octave,t,W)===e.row;if((null==r?void 0:r.startTick)===e.tick&&r.notes.some(a)){const n=(0,d.unselectAllNotes)(E);if(t&&!W){const t=r.notes.find(a),s=12*i.octave-20,l=12*i.octave+20,c=(0,d.removeNoteAtRowFromTrack)(n,g,e.row,e.isBassClef,e.tick);let u;u="normal"===t.enharmonicSpelling&&t.note<l?"sharp":"sharp"===t.enharmonicSpelling&&t.note>s||t.note===l?"flat":"normal";const p=(0,d.rowToNote)(i.octave,e.row,e.isBassClef,W,u);z((0,d.addNoteToTrack)(c,g,p,r.startTick,r.endTick),!0),(0,o.playNoteAsync)(p.note,i,(0,o.tickToMs)(E.beatsPerMinute,E.ticksPerBeat,G))}else z((0,d.removeNoteAtRowFromTrack)(n,g,e.row,e.isBassClef,e.tick),!0)}else{if(T){for(let t=0;t<E.tracks.length;t++){if(w&&t!==g)continue;const n=(0,d.findPreviousNoteEvent)(E,t,e.tick);((null==n?void 0:n.startTick)===e.tick||(null==n?void 0:n.endTick)>e.tick)&&n.notes.some(a)&&z((0,d.removeNoteAtRowFromTrack)(E,t,e.row,e.isBassClef,n.startTick),!1)}return}{const t=(0,d.rowToNote)(i.octave,e.row,e.isBassClef,W),r=E.beatsPerMeasure*E.ticksPerBeat*E.measures;if(e.tick===r)return;const a=W?1:G;z((0,d.unselectAllNotes)((0,d.addNoteToTrack)(E,g,t,e.tick,e.tick+a)),!0),W?(0,o.playDrumAsync)(n.drums[t.note]):(0,o.playNoteAsync)(t.note,i,(0,o.tickToMs)(E.beatsPerMinute,E.ticksPerBeat,G))}}},onWorkspaceDragStart:()=>{if(M(!1),B.current)return B.current.editing=E,B.current.original=E,void(B.current.selectionAtDragStart=A&&Object.assign({},A));B.current={editing:E,original:E,selectionAtDragStart:A&&Object.assign({},A)}},onWorkspaceDragEnd:()=>{if("move"===B.current.dragType){const e=B.current.dragEnd.tick-B.current.dragStart.tick,t=B.current.dragEnd.row-(B.current.dragEnd.isBassClef?12:0)-(B.current.dragStart.row-(B.current.dragStart.isBassClef?12:0));return P(Object.assign(Object.assign({},B.current.selectionAtDragStart),{deltaTick:B.current.selectionAtDragStart.deltaTick+e,transpose:B.current.selectionAtDragStart.transpose+t})),B.current.dragStart=void 0,B.current.dragEnd=void 0,void(B.current.selectionAtDragStart=void 0)}if("note-length"===B.current.dragType&&U(),pxt.assets.music.songEquals(B.current.editing,B.current.original)||z(B.current.editing,!0),"marquee"===B.current.dragType){const e=(0,d.findSelectedRange)(B.current.editing,G);P(e?{startTick:e.start,endTick:e.end,deltaTick:0,transpose:0,originalSong:B.current.editing}:void 0)}B.current=void 0},onWorkspaceDrag:(e,t)=>{if(V(t.tick),T){for(let e=0;e<E.tracks.length;e++){if(w&&e!==g)continue;const n=E.tracks[e].instrument,i=(0,d.findPreviousNoteEvent)(E,e,t.tick),r=e=>(0,d.isBassClefNote)(n.octave,e,W)===t.isBassClef&&(0,d.noteToRow)(n.octave,e,W)===t.row;((null==i?void 0:i.startTick)===t.tick||(null==i?void 0:i.endTick)>t.tick)&&i.notes.some(r)&&z((0,d.removeNoteAtRowFromTrack)(E,e,t.row,t.isBassClef,i.startTick),!1)}return}if(B.current.dragType=void 0,B.current.dragStart=e,B.current.dragEnd=t,B.current.original.tracks[g].drums)return void z((0,d.fillDrums)(B.current.original,g,e.row,e.tick,t.tick,G),!1);if(B.current.selectionAtDragStart){const n=(0,d.findNoteEventAtPosition)(B.current.original,e,w?g:void 0);if(null==n?void 0:n.selected){B.current.dragType="move";const n=t.tick-e.tick,i=t.row-(t.isBassClef?12:0)-(e.row-(e.isBassClef?12:0)),r=Object.assign(Object.assign({},B.current.selectionAtDragStart),{deltaTick:n+B.current.selectionAtDragStart.deltaTick,transpose:i+B.current.selectionAtDragStart.transpose}),a=(0,d.applySelection)(r,w?g:void 0);return z(a,!1),void P(r)}}const n=(0,d.findPreviousNoteEvent)(B.current.original,g,e.tick);if(!W&&n&&e.tick>=n.startTick&&e.tick<n.endTick){let i=!1;for(const t of n.notes)if((0,d.noteToRow)(E.tracks[g].instrument.octave,t,!1)===e.row){i=!0;break}if(i){if(t.tick<n.startTick+1)return;return P(void 0),B.current.dragType="note-length",void z((0,d.editNoteEventLength)(B.current.original,g,n.startTick,t.tick),!1)}}P({startTick:e.tick,endTick:t.tick,deltaTick:0,transpose:0,originalSong:B.current.editing}),z((0,d.selectNoteEventsInRange)(B.current.original,e.tick,t.tick,w?g:void 0),!1),B.current.dragType="marquee"},gridTicks:G,hideUnselectedTracks:w,showBassClef:F,selection:A,cursor:R?D:void 0,onKeydown:e=>{M(!0);let t=D;t||(t={tick:0,gridTicks:G,track:g,bassClef:!1,hideTracksActive:w,selection:A}),t.gridTicks=G,t.track=g,t.selection=A,t.hideTracksActive=w;const[n,i]=(0,s.handleKeyboardEvent)(E,t,e);pxt.assets.music.songEquals(n,E)||z(n,!i.selection),i.selection?P(i.selection):P(void 0),L(i)}}),(0,i.jsx)(l.PlaybackControls,{song:E,onTempoChange:e=>{U(),M(!1),z(Object.assign(Object.assign({},E),{beatsPerMinute:e}),!0)},onMeasuresChanged:e=>{U(),M(!1),z((0,d.changeSongLength)(E,e),!0)},onUndoClick:()=>{if(!x.length)return;j(_.concat([E]));const e=x.pop();O(x.slice()),z(e,!1)},onRedoClick:()=>{if(!_.length)return;O(x.concat([E]));const e=_.pop();j(_.slice()),z(e,!1)},showBassClef:F,onBassClefCheckboxClick:H,hasUndo:!!x.length,hasRedo:!!_.length}),(0,i.jsx)(a.EditControls,{assetName:t.meta.displayName,onAssetNameChanged:f,onDoneClicked:m})]}))}},{"./EditControls":43,"./PlaybackControls":48,"./ScrollableWorkspace":49,"./TrackSelector":52,"./keyboardNavigation":55,"./playback":56,"./utils":58,react:107,"react/jsx-runtime":108}],46:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Note=void 0;const i=e("react/jsx-runtime"),r=e("../../../../react-common/components/util"),a=e("./svgConstants");n.Note=e=>{const{row:t,iconURI:n,length:s,opacity:o,enharmonicSpelling:l,isBassClef:c,selected:u,cursorHighlighted:d}=e;return(0,i.jsxs)("g",Object.assign({className:(0,r.classList)("music-staff-note",u&&"selected",d&&"cursor-highlighted"),transform:`translate(${-a.NOTE_ICON_WIDTH/2}, ${(0,a.rowY)(t,c)-a.NOTE_ICON_WIDTH/2})`},{children:[0===t&&(0,i.jsx)("line",{className:"music-staff-row",x1:-a.NOTE_ICON_WIDTH/2,y1:a.NOTE_ICON_WIDTH/2,x2:3*a.NOTE_ICON_WIDTH/2,y2:a.NOTE_ICON_WIDTH/2,opacity:o}),!!s&&(0,i.jsx)("rect",{x:a.NOTE_ICON_WIDTH/2,y:a.NOTE_ICON_WIDTH/2-a.NOTE_DURATION_HEIGHT/2,width:s,height:a.NOTE_DURATION_HEIGHT}),(0,i.jsx)("image",Object.assign({x:0,y:0,width:a.NOTE_ICON_WIDTH,height:a.NOTE_ICON_WIDTH,href:n,opacity:o},{children:(0,i.jsx)("animate",{attributeName:"y",values:"0;-7;-10;-7;0",dur:"0.25s",repeatCount:"1",begin:"indefinite"})})),l&&"normal"!==l&&(0,i.jsx)("text",Object.assign({x:a.NOTE_ICON_WIDTH,y:0,fontSize:a.NOTE_ICON_WIDTH/2},{children:"sharp"===l?"♯":"♭"}))]}))}},{"../../../../react-common/components/util":9,"./svgConstants":57,"react/jsx-runtime":108}],47:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.NoteGroup=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./Note"),s=e("./playback"),o=e("./svgConstants"),l=e("./utils");n.NoteGroup=e=>{const{song:t,noteEvent:n,octave:c,iconURI:u,isDrumTrack:d,cursor:p}=e;let f;r.useEffect((()=>{let e=!1;const t=t=>{if(t>=n.startTick&&t<n.endTick){if(!e){e=!0,f.classList.add("music-note-playing");const t=f.querySelectorAll("animate");for(let e=0;e<t.length;e++)t.item(e).beginElement()}}else e&&(e=!1,f.classList.remove("music-note-playing"))},i=()=>{e&&(e=!1,f.classList.remove("music-note-playing"))};return(0,s.addTickListener)(t),(0,s.addPlaybackStateListener)(i),()=>{(0,s.removeTickListener)(t),(0,s.removePlaybackStateListener)(i),f.classList.remove("music-note-playing")}}),[n]);const h=(0,o.tickToX)(t.ticksPerBeat,n.startTick),m=d?0:(0,o.tickToX)(t.ticksPerBeat,n.endTick)-h,g=(null==p?void 0:p.tick)===n.startTick;return(0,i.jsx)("g",Object.assign({className:"music-staff-note-group",transform:`translate(${h}, 0)`,ref:e=>{e&&(f=e)}},{children:n.notes.map(((e,t)=>{const r=(0,l.isBassClefNote)(c,e,d),s=(0,l.noteToRow)(c,e,d);return(0,i.jsx)(a.Note,{isBassClef:r,row:s,enharmonicSpelling:e.enharmonicSpelling,iconURI:u,length:m,selected:n.selected,cursorHighlighted:g&&p.noteGroupIndex===t},t)}))}))}},{"./Note":46,"./playback":56,"./svgConstants":57,"./utils":58,react:107,"react/jsx-runtime":108}],48:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.PlaybackControls=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../../../../react-common/components/controls/Button"),s=e("../../../../react-common/components/controls/Checkbox"),o=e("../../../../react-common/components/controls/Input"),l=e("../../../../react-common/components/util"),c=e("./playback");n.PlaybackControls=e=>{const{song:t,onTempoChange:n,onMeasuresChanged:u,onUndoClick:d,onRedoClick:p,hasUndo:f,hasRedo:h,showBassClef:m,onBassClefCheckboxClick:g}=e,[v,y]=r.useState("stop");r.useEffect((()=>{const e=e=>{y(e)};return(0,c.addPlaybackStateListener)(e),()=>(0,c.removePlaybackStateListener)(e)}),[]);const b=e=>{let t=parseFloat(e);Number.isNaN(t)||(t=Math.min(500,Math.max(20,Math.floor(t))),n(t))},E=e=>{let t=parseInt(e);isNaN(t)||t<1||t>50||u(t)};return(0,i.jsxs)("div",Object.assign({className:"music-playback-controls"},{children:[(0,i.jsxs)("div",Object.assign({className:"music-playback-buttons"},{children:[(0,i.jsx)(a.Button,{className:"square-button",title:lf("Stop"),leftIcon:"fas fa-stop",onClick:()=>{(0,c.stopPlayback)(),y("stop")}}),(0,i.jsx)(a.Button,{className:(0,l.classList)("square-button","play"===v&&"green"),title:lf("Play"),leftIcon:"fas fa-play",onClick:()=>{(0,c.startPlaybackAsync)(t,!1),y("play")}}),(0,i.jsx)(a.Button,{className:(0,l.classList)("square-button","loop"===v&&"green"),title:lf("Loop"),leftIcon:"fas fa-retweet",onClick:()=>{(0,c.isLooping)()||((0,c.isPlaying)()?(0,c.setLooping)(!0):(0,c.startPlaybackAsync)(t,!0),y("loop"))}})]})),(0,i.jsx)(o.Input,{id:"music-playback-tempo-input music-editor-label",label:lf("Tempo:"),initialValue:t.beatsPerMinute.toString(),onBlur:b,onEnterKey:b}),(0,i.jsx)("div",{className:"spacer"}),(0,i.jsx)(s.Checkbox,{className:"music-editor-label",id:"show-bass-clef",label:lf("Show bass clef"),isChecked:m,onChange:g}),(0,i.jsxs)("div",Object.assign({className:"music-undo-redo common-button-group"},{children:[(0,i.jsx)(a.Button,{className:"square-button purple",title:lf("Undo"),leftIcon:"xicon undo",disabled:!f,onClick:d}),(0,i.jsx)(a.Button,{className:"square-button purple",title:lf("Redo"),leftIcon:"xicon redo",disabled:!h,onClick:p})]})),(0,i.jsxs)("div",Object.assign({className:"music-playback-measures"},{children:[(0,i.jsx)("div",Object.assign({className:"music-editor-label"},{children:lf("Measures:")})),(0,i.jsx)(a.Button,{className:"menu-button",title:lf("Remove measure"),leftIcon:"fas fa-minus-circle",onClick:()=>{t.measures>1&&u(t.measures-1)}}),(0,i.jsx)(o.Input,{id:"music-playback-measures-input",initialValue:t.measures.toString(),onBlur:E,onEnterKey:E}),(0,i.jsx)(a.Button,{className:"menu-button",title:lf("Add measure"),leftIcon:"fas fa-plus-circle",onClick:()=>{t.measures<50&&u(t.measures+1)}})]}))]}))}},{"../../../../react-common/components/controls/Button":1,"../../../../react-common/components/controls/Checkbox":2,"../../../../react-common/components/controls/Input":7,"../../../../react-common/components/util":9,"./playback":56,react:107,"react/jsx-runtime":108}],49:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.ScrollableWorkspace=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("./svgConstants"),s=e("./utils"),o=e("./Workspace");n.ScrollableWorkspace=e=>{const{cursor:t,song:n}=e,l=r.useRef(null);return r.useEffect((()=>{if(!t)return;const e=(0,a.tickToX)(n.ticksPerBeat,t.tick),i=l.current.querySelector("svg"),r=e=>{const t=i.createSVGPoint();return t.x=e,t.y=0,t.matrixTransform(i.getScreenCTM()).x},o=r(e),c=(0,s.findNoteEventAtTick)(n,t.track,t.tick),u=r(e+a.BEAT_WIDTH)-o;let d;d=c?r((0,a.tickToX)(n.ticksPerBeat,c.endTick+n.ticksPerBeat/2))-o:u;const p=l.current.getBoundingClientRect(),f=o-p.x,h=f+d;f<u?l.current.scrollLeft+=f-u:d<p.width&&h>p.width&&(l.current.scrollLeft+=h-p.width)}),[null==t?void 0:t.tick,n.ticksPerBeat]),(0,i.jsx)("div",Object.assign({ref:l,className:"music-scrollable-workspace"},{children:(0,i.jsx)("div",Object.assign({className:"music-scroller"},{children:(0,i.jsx)(o.Workspace,Object.assign({},e))}))}))}},{"./Workspace":53,"./svgConstants":57,"./utils":58,react:107,"react/jsx-runtime":108}],50:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Staff=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../../../../react-common/components/util"),s=e("./playback"),o=e("./svgConstants");n.Staff=e=>{const{top:t,isBassClef:n,gridTicks:l,ticksPerBeat:c,beatsPerMeasure:u,beatsPerMinute:d,measures:p}=e;let f;r.useEffect((()=>{const e=(0,s.tickToMs)(d,c,1),t=(0,o.tickToX)(c,2)-(0,o.tickToX)(c,1);let n,i,r=0,a=!1;const l=e=>{r=(0,o.tickToX)(c,e),i=Date.now(),a||(a=!0,f.style.display="unset",n=requestAnimationFrame(p))},u=()=>{a=!1,f.style.display="none",n&&cancelAnimationFrame(n)},p=()=>{const s=r+t*(Date.now()-i)/e;f.setAttribute("transform",`translate(${s}, 0)`),a&&(n=requestAnimationFrame(p))};return(0,s.addTickListener)(l),(0,s.addPlaybackStateListener)(u),()=>{(0,s.removeTickListener)(l),(0,s.removePlaybackStateListener)(u),n&&cancelAnimationFrame(n)}}),[c,d]);const h=(0,o.workspaceWidth)(p,u),m=[];for(let e=0;e<5;e++)m.push((0,i.jsx)("line",{className:"music-staff-row",x1:0,y1:(0,o.rowY)(2*e+2,!1),x2:h,y2:(0,o.rowY)(2*e+2,!1)},e));const g=[],v=l;for(let e=0;e<p*u*c;e+=v){const t=e%c==0,r=e%(u*c)==0,s=!t&&!r;g.push((0,i.jsxs)("g",{children:[r&&!n&&(0,i.jsx)("text",Object.assign({x:(0,o.tickToX)(c,e),y:o.STAFF_HEADER_HEIGHT-o.STAFF_HEADER_OFFSET,textAnchor:"middle",fontSize:o.STAFF_HEADER_FONT_SIZE},{children:Math.floor(e/(u*c))+1})),(0,i.jsx)("line",{className:"music-staff-column",x1:(0,o.tickToX)(c,e),y1:o.STAFF_HEADER_HEIGHT-o.STAFF_GRID_TICK_HEIGHT,x2:(0,o.tickToX)(c,e),y2:o.STAFF_HEADER_HEIGHT}),!s&&(0,i.jsx)("line",{className:(0,a.classList)("music-staff-column",t&&"beat-start",r&&"measure-start"),x1:(0,o.tickToX)(c,e),y1:n&&r?0:o.STAFF_HEADER_HEIGHT,x2:(0,o.tickToX)(c,e),y2:o.WORKSPACE_HEIGHT})]},e))}return(0,i.jsxs)("g",Object.assign({className:"music-staff",transform:`translate(0 ${t})`},{children:[(0,i.jsx)("rect",{className:"music-staff-background",x:0,y:o.STAFF_HEADER_HEIGHT,width:h,height:o.WORKSPACE_HEIGHT-o.STAFF_HEADER_HEIGHT}),(0,i.jsx)("image",{className:"music-staff-clef",href:n?"/static/music-editor/bass-clef.svg":"/static/music-editor/treble-clef.svg",height:n?o.BASS_CLEF_HEIGHT:o.CLEF_HEIGHT,x:0,y:n?o.BASS_CLEF_TOP:o.STAFF_HEADER_HEIGHT}),(0,i.jsx)("rect",{fill:"#000",x:0,y:o.STAFF_HEADER_HEIGHT-o.STAFF_GRID_TICK_HEIGHT,width:h,height:o.STAFF_GRID_TICK_HEIGHT}),(0,i.jsx)("rect",{fill:"#dedede",x:o.CLEF_WIDTH,y:o.STAFF_HEADER_HEIGHT-o.STAFF_GRID_TICK_HEIGHT,width:h-o.CLEF_WIDTH-o.STAFF_END_WIDTH,height:o.STAFF_GRID_TICK_HEIGHT}),(0,i.jsx)("g",Object.assign({className:"music-staff-rows"},{children:m})),(0,i.jsx)("g",Object.assign({className:"music-staff-beats"},{children:g})),(0,i.jsxs)("g",Object.assign({className:"music-staff-end"},{children:[(0,i.jsx)("rect",{x:h-o.STAFF_END_WIDTH,y:o.STAFF_HEADER_HEIGHT,width:3,height:o.WORKSPACE_HEIGHT-o.STAFF_HEADER_HEIGHT}),(0,i.jsx)("rect",{x:h-12,y:o.STAFF_HEADER_HEIGHT,width:12,height:o.WORKSPACE_HEIGHT-o.STAFF_HEADER_HEIGHT})]})),(0,i.jsx)("g",Object.assign({className:"music-playback-head",ref:e=>{e&&(f=e)}},{children:(0,i.jsx)("line",{className:"music-playback-line",x1:0,y1:o.STAFF_HEADER_HEIGHT,x2:0,y2:o.WORKSPACE_HEIGHT})}))]}))}},{"../../../../react-common/components/util":9,"./playback":56,"./svgConstants":57,react:107,"react/jsx-runtime":108}],51:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Track=void 0;const i=e("react/jsx-runtime"),r=e("./Note"),a=e("./NoteGroup"),s=e("./svgConstants");n.Track=e=>{const{song:t,track:n,cursorLocation:o,keyboardCursor:l}=e;let c;return o&&(c=(0,i.jsx)("g",Object.assign({transform:`translate(${(0,s.tickToX)(t.ticksPerBeat,o.tick)}, 0)`},{children:(0,i.jsx)(r.Note,{isBassClef:o.isBassClef,row:o.row,iconURI:n.iconURI,opacity:.5})}))),(0,i.jsxs)("g",Object.assign({className:"music-staff-track"},{children:[l&&(0,i.jsx)("g",{children:(0,i.jsx)("rect",{x:(0,s.tickToX)(t.ticksPerBeat,l.tick),y:l.bassClef?s.BASS_STAFF_TOP+s.STAFF_HEADER_HEIGHT:s.STAFF_HEADER_HEIGHT,width:5,height:s.WORKSPACE_HEIGHT-s.STAFF_HEADER_HEIGHT,fill:"purple"})}),n.notes.map((e=>(0,i.jsx)(a.NoteGroup,{noteEvent:e,octave:n.instrument.octave,song:t,iconURI:n.iconURI,isDrumTrack:!!n.drums,cursor:l},e.startTick))),c]}))}},{"./Note":46,"./NoteGroup":47,"./svgConstants":57,"react/jsx-runtime":108}],52:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.TrackSelector=void 0;const i=e("react/jsx-runtime"),r=e("../../../../react-common/components/controls/Button"),a=e("../../../../react-common/components/controls/Checkbox"),s=e("../../../../react-common/components/controls/Dropdown"),o=e("../../../../react-common/components/controls/FocusList"),l=e("../../../../react-common/components/util"),c={four:"1/4",eight:"1/8",sixteen:"1/16",thirtytwo:"1/32"};n.TrackSelector=e=>{const{song:t,selected:n,onTrackSelected:u,selectedResolution:d,onResolutionSelected:p,eraserActive:f,onEraserClick:h,hideTracksActive:m,onHideTracksClick:g}=e,v=[{title:lf("1/4 Note"),label:lf("1/4"),id:"four"},{title:lf("1/8 Note"),label:lf("1/8"),id:"eight"},{title:lf("1/16 Note"),label:lf("1/16"),id:"sixteen"},{title:lf("1/32 Note"),label:lf("1/32"),id:"thirtytwo"}];return(0,i.jsxs)("div",Object.assign({className:"music-track-selector"},{children:[(0,i.jsxs)(o.FocusList,Object.assign({role:"radiogroup",ariaLabel:lf("Track selection")},{children:[t.tracks.map(((e,a)=>(0,i.jsx)(r.Button,{role:"radio",ariaSelected:n===a&&!f,ariaPosInSet:a+1,ariaSetSize:t.tracks.length+1,title:e.name,className:(0,l.classList)("music-track-button square-button pixellated",n===a&&!f&&"selected"),label:(0,i.jsx)("img",{src:e.iconURI,alt:e.name}),onClick:()=>(e=>{u(e)})(a)},e.name))),(0,i.jsx)(r.Button,{className:(0,l.classList)("music-track-button square-button",f&&"selected"),title:f?lf("Turn off eraser tool"):lf("Turn on eraser tool"),leftIcon:"fas fa-eraser",ariaSelected:f,ariaPosInSet:t.tracks.length,ariaSetSize:t.tracks.length+1,onClick:h})]})),(0,i.jsx)(a.Checkbox,{className:"music-editor-label",id:"hide-tracks",label:lf("Only show selected instrument"),isChecked:m,onChange:g}),(0,i.jsxs)("div",Object.assign({className:"music-track-grid"},{children:[(0,i.jsx)("div",Object.assign({className:"music-editor-label"},{children:lf("Grid:")})),(0,i.jsx)(s.Dropdown,{id:"grid-resolution",ariaLabel:lf("Staff grid resolution"),items:v,selectedId:Object.keys(c).find((e=>c[e]===d)),onItemSelected:e=>{p(c[e])}})]}))]}))}},{"../../../../react-common/components/controls/Button":1,"../../../../react-common/components/controls/Checkbox":2,"../../../../react-common/components/controls/Dropdown":3,"../../../../react-common/components/controls/FocusList":5,"../../../../react-common/components/util":9,"react/jsx-runtime":108}],53:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.Workspace=void 0;const i=e("react/jsx-runtime"),r=e("react"),a=e("../../../../react-common/components/util"),s=e("./GridHighlight"),o=e("./Staff"),l=e("./svgConstants"),c=e("./Track"),u=e("./utils"),d=e("./WorkspaceSelection");function p(e,t,n,i){const r=(0,a.screenToSVGCoord)(t,(0,a.clientCoord)(e)),s=r.y>l.BASS_STAFF_TOP,o=(0,l.closestTick)(n.ticksPerBeat,r.x+l.BEAT_WIDTH/n.ticksPerBeat,i);return{isBassClef:s,row:(0,l.closestRow)(r.y),tick:o}}n.Workspace=e=>{const{song:t,onWorkspaceClick:n,gridTicks:f,selectedTrack:h,onWorkspaceDrag:m,onWorkspaceDragStart:g,onWorkspaceDragEnd:v,onKeydown:y,cursor:b,hideUnselectedTracks:E,eraserActive:k,showBassClef:T,selection:C}=e,[w,S]=r.useState(null),[x,O]=r.useState(null),[_,j]=r.useState(!1);let I;r.useEffect((()=>{I.onpointerdown=e=>{e.preventDefault(),I.focus();const n=p(e,I,t,f);n.tick>=0&&n.row>=0&&n.row<12&&O(n)},I.onpointermove=e=>{const n=p(e,I,t,f);if(w&&w.tick===n.tick&&w.row===n.row)return;const i=t.beatsPerMeasure*t.ticksPerBeat*t.measures;n.tick>=0&&n.row>=0&&n.row<12&&n.tick<=i?(x&&(_||(j(!0),g()),m(x,n)),n.tick<i?S(n):S(null)):S(null)},I.onpointerleave=e=>{S(null),_&&(v(),j(!1))},I.onpointerup=e=>{if(O(null),_)v(),j(!1);else{const i=p(e,I,t,f);i.tick>=0&&i.row>=0&&i.row<12&&n(i,e.ctrlKey)}}}),[w,x,_,m,v,g]);let N,A,P=_||k?void 0:w;const D=w&&(0,u.findNoteEventAtTick)(t,h,w.tick),L=x&&(0,u.findNoteEventAtTick)(t,h,x.tick);C?(N=C.startTick+C.deltaTick,A=C.endTick+C.deltaTick):!k&&L&&(null==w?void 0:w.tick)>=L.startTick?(N=L.startTick,A=L.endTick):!k&&_&&w&&x?(N=Math.min(w.tick,x.tick),A=Math.max(w.tick,x.tick)):D?(N=D.startTick,A=D.endTick):w&&(N=w.tick,A=w.tick+f),D&&P&&(P=Object.assign(Object.assign({},P),{tick:D.startTick}));const R=t.tracks.filter(((e,t)=>t!==h)),M=T?2*l.WORKSPACE_HEIGHT:l.WORKSPACE_HEIGHT,F=pxt.assets.music.getSongInfo(t);return(0,i.jsxs)("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",className:(0,a.classList)("music-workspace",k&&"erasing"),viewBox:`0 0 ${(0,l.workspaceWidth)(t.measures,t.beatsPerMeasure)+20} ${M}`,"aria-label":lf("Music Workspace"),tabIndex:0,onKeyDown:y,ref:e=>{e&&(I=e)}},{children:[(0,i.jsxs)("filter",Object.assign({id:"selection-outline"},{children:[(0,i.jsx)("feMorphology",{in:"SourceAlpha",result:"DILATED",operator:"dilate",radius:"4"}),(0,i.jsx)("feFlood",{floodColor:"yellow",floodOpacity:"1",result:"FLOODED"}),(0,i.jsx)("feComposite",{in:"FLOODED",in2:"DILATED",operator:"in",result:"OUTLINE"}),(0,i.jsxs)("feMerge",{children:[(0,i.jsx)("feMergeNode",{in:"OUTLINE"}),(0,i.jsx)("feMergeNode",{in:"SourceGraphic"})]})]})),(0,i.jsxs)("filter",Object.assign({id:"cursor-outline"},{children:[(0,i.jsx)("feMorphology",{in:"SourceAlpha",result:"DILATED",operator:"dilate",radius:"4"}),(0,i.jsx)("feFlood",{floodColor:"purple",floodOpacity:"1",result:"FLOODED"}),(0,i.jsx)("feComposite",{in:"FLOODED",in2:"DILATED",operator:"in",result:"OUTLINE"}),(0,i.jsxs)("feMerge",{children:[(0,i.jsx)("feMergeNode",{in:"OUTLINE"}),(0,i.jsx)("feMergeNode",{in:"SourceGraphic"})]})]})),(0,i.jsx)(o.Staff,Object.assign({},F,{top:0,gridTicks:f})),T&&(0,i.jsx)(o.Staff,Object.assign({},F,{top:l.BASS_STAFF_TOP,isBassClef:!0,gridTicks:f})),(0,i.jsx)(s.GridHighlight,Object.assign({},F,{start:N,end:A})),C&&(0,i.jsx)(d.WorkspaceSelection,Object.assign({},F,{range:C})),!E&&R.map(((e,n)=>(0,i.jsx)(c.Track,{track:e,song:t},n))),(0,i.jsx)(c.Track,{track:t.tracks[h],song:t,cursorLocation:P,keyboardCursor:b})]}))}},{"../../../../react-common/components/util":9,"./GridHighlight":44,"./Staff":50,"./Track":51,"./WorkspaceSelection":54,"./svgConstants":57,"./utils":58,react:107,"react/jsx-runtime":108}],54:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.WorkspaceSelection=void 0;const i=e("react/jsx-runtime"),r=e("./svgConstants");n.WorkspaceSelection=e=>{const{range:t,ticksPerBeat:n}=e,a=(0,r.tickToX)(n,t.startTick+t.deltaTick),s=(0,r.tickToX)(n,t.endTick+t.deltaTick);return(0,i.jsxs)("g",{children:[(0,i.jsx)("rect",{className:"music-workspace-selection",fill:"#03adfc",opacity:.5,x:Math.min(a,s),y:r.STAFF_HEADER_HEIGHT,width:Math.max(a,s)-Math.min(a,s),height:r.WORKSPACE_HEIGHT-r.STAFF_HEADER_HEIGHT}),(0,i.jsx)("rect",{className:"music-workspace-selection",fill:"#03adfc",opacity:.5,x:Math.min(a,s),y:r.BASS_STAFF_TOP+r.STAFF_HEADER_HEIGHT,width:Math.max(a,s)-Math.min(a,s),height:r.WORKSPACE_HEIGHT-r.STAFF_HEADER_HEIGHT})]})}},{"./svgConstants":57,"react/jsx-runtime":108}],55:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.handleKeyboardEvent=void 0;const i=e("./playback"),r=e("./utils");n.handleKeyboardEvent=function(e,t,n){const a=n.ctrlKey||n.metaKey,s=n.shiftKey,o=n.altKey,l=t.selection?void 0:(0,r.findNoteEventAtTick)(e,t.track,t.tick);(null==l?void 0:l.startTick)===t.tick&&void 0===t.noteGroupIndex&&(t.noteGroupIndex=0);let c=e,u=Object.assign(Object.assign({},t),{selection:t.selection&&Object.assign({},t.selection)});const d=e.tracks[t.track].instrument,p=d.octave,f=e.ticksPerBeat*e.beatsPerMeasure,h=f*e.measures,m=!!t.selection,g=!!e.tracks[t.track].drums,v=e=>{u.selection&&(c=(0,r.applySelection)(u.selection,t.hideTracksActive?t.track:void 0),e&&(c=(0,r.unselectAllNotes)(c)),delete u.selection)},y=t=>{for(const n of t.notes)(0,i.playNoteAsync)(n.note,d,(0,i.tickToMs)(c.beatsPerMinute,e.ticksPerBeat,t.endTick-t.startTick))};switch(n.key){case"ArrowUp":case"Up":if(n.preventDefault(),s){u.bassClef=!1;break}if(u.selection){u.selection.transpose++,c=(0,r.applySelection)(u.selection);break}if(!l)break;if(o&&a)u.noteGroupIndex=l.notes.length-1;else if(o)u.noteGroupIndex=Math.min(t.noteGroupIndex+1,l.notes.length-1);else{let n=l.notes[t.noteGroupIndex],s=(0,r.isBassClefNote)(p,n,g);const o=(0,r.noteToRow)(p,n,g);let f=o;const h=a?12:1;for(;l.notes.some((e=>(0,r.isBassClefNote)(p,e,g)===s&&f===(0,r.noteToRow)(p,e,g)));)if((f+=h)>=12){if(!s)break;s=!1,f-=12}if(f>=12||f<0)break;const m=(0,r.rowToNote)(p,f,s,g,n.enharmonicSpelling);c=(0,r.removeNoteAtRowFromTrack)(c,t.track,o,(0,r.isBassClefNote)(p,n,g),l.startTick),c=(0,r.addNoteToTrack)(c,t.track,m,l.startTick,l.endTick);const v=(0,r.findNoteEventAtTick)(c,t.track,t.tick);u.noteGroupIndex=v.notes.findIndex((e=>e.note===m.note)),(0,i.playNoteAsync)(m.note,d,(0,i.tickToMs)(c.beatsPerMinute,e.ticksPerBeat,v.endTick-v.startTick))}break;case"ArrowDown":case"Down":if(n.preventDefault(),s){u.bassClef=!0;break}if(u.selection){u.selection.transpose--,c=(0,r.applySelection)(u.selection);break}if(!l)break;if(o&&a)u.noteGroupIndex=0;else if(o)u.noteGroupIndex=Math.max(t.noteGroupIndex-1,0);else{let n=l.notes[t.noteGroupIndex];const s=c.tracks[t.track];let o=(0,r.isBassClefNote)(p,n,!!s.drums);const f=(0,r.noteToRow)(p,n,!!s.drums);let h=f;const m=a?-12:-1;for(;l.notes.some((e=>(0,r.isBassClefNote)(p,e,!!s.drums)===o&&h===(0,r.noteToRow)(p,e,!!s.drums)));)if((h+=m)<0){if(o)break;o=!0,h+=12}if(h>=12||h<0)break;const g=(0,r.rowToNote)(p,h,o,!!s.drums,n.enharmonicSpelling);c=(0,r.removeNoteAtRowFromTrack)(c,t.track,f,(0,r.isBassClefNote)(p,n,!!s.drums),l.startTick),c=(0,r.addNoteToTrack)(c,t.track,g,l.startTick,l.endTick);const v=(0,r.findNoteEventAtTick)(c,t.track,t.tick);u.noteGroupIndex=v.notes.findIndex((e=>e.note===g.note)),(0,i.playNoteAsync)(g.note,d,(0,i.tickToMs)(c.beatsPerMinute,e.ticksPerBeat,v.endTick-v.startTick))}break;case"ArrowLeft":case"Left":if(n.preventDefault(),s&&m&&(u.selection.deltaTick||u.selection.transpose)&&v(!0),a){u.tick%f==0?u.tick=Math.max(u.tick-f,0):u.tick=Math.floor(u.tick/f)*f;const e=(0,r.findNoteEventAtTick)(c,t.track,u.tick);(null==e?void 0:e.startTick)===u.tick?(u.noteGroupIndex=0,y(e)):u.noteGroupIndex=void 0;break}const b=t.tick%t.gridTicks!=0?Math.floor(u.tick/t.gridTicks)*t.gridTicks:t.tick-t.gridTicks,E=(0,r.findPreviousNoteEvent)(c,t.track,t.tick-1);if((null==E?void 0:E.endTick)>b){u.tick=E.startTick,u.noteGroupIndex=0;break}u.tick=Math.max(b,0),u.noteGroupIndex=void 0;break;case"ArrowRight":case"Right":if(n.preventDefault(),s&&m&&(u.selection.deltaTick||u.selection.transpose)&&v(!0),a){u.tick%f==0?u.tick=Math.min(u.tick+f,h-f):(u.tick=Math.min(Math.ceil(u.tick/f)*f,h-f),u.tick>=h&&(u.tick-=f));const e=(0,r.findNoteEventAtTick)(c,t.track,u.tick);(null==e?void 0:e.startTick)===u.tick?(u.noteGroupIndex=0,y(e)):u.noteGroupIndex=void 0;break}const k=l?Math.ceil(l.endTick/t.gridTicks)*t.gridTicks:t.tick+t.gridTicks,T=(0,r.findNextNoteEvent)(c,t.track,t.tick);if((null==T?void 0:T.startTick)<=k){u.tick=T.startTick,u.noteGroupIndex=0;break}u.tick=Math.min(Math.ceil(k/t.gridTicks)*t.gridTicks,h-t.gridTicks),u.noteGroupIndex=void 0;break;case"End":if(n.preventDefault(),a){u.tick=h-t.gridTicks;const e=(0,r.findNoteEventAtTick)(c,t.track,u.tick);e?(u.tick=e.startTick,u.noteGroupIndex=0,y(e)):u.noteGroupIndex=void 0}break;case"Home":if(n.preventDefault(),a){u.tick=0;const e=(0,r.findNoteEventAtTick)(c,t.track,u.tick);e?(u.noteGroupIndex=0,y(e)):u.noteGroupIndex=void 0}break;case"Backspace":if(n.preventDefault(),t.selection)v(),c=(0,r.deleteSelectedNotes)(c);else if(void 0!==t.noteGroupIndex){if(a){c=(0,r.removeNoteEventFromTrack)(c,t.track,t.tick),u.noteGroupIndex=void 0;break}c=(0,r.removeNoteFromTrack)(c,t.track,l.notes[t.noteGroupIndex],l.startTick),1===l.notes.length?u.noteGroupIndex=void 0:u.noteGroupIndex=Math.min(u.noteGroupIndex,l.notes.length-2)}break;case"Enter":m&&v(!0);break;case"Spacebar":case" ":(0,i.isPlaying)()?(0,i.stopPlayback)():(0,i.startPlaybackAsync)(e,a);break;case"j":case"J":if(e.tracks[t.track].drums)break;if(l){n.preventDefault();const e=l.notes[u.noteGroupIndex],a=12*d.octave-20,s=12*d.octave+20,o=(0,r.noteToRow)(p,e,!1),f=l.startTick,h=(0,r.isBassClefNote)(p,e,!1);let m;c=(0,r.removeNoteAtRowFromTrack)(c,u.track,o,h,f),m="normal"===e.enharmonicSpelling&&e.note<s?"sharp":"sharp"===e.enharmonicSpelling&&e.note>a||e.note===s?"flat":"normal";const g=(0,r.rowToNote)(d.octave,o,h,!1,m);c=(0,r.addNoteToTrack)(c,u.track,g,l.startTick,l.endTick),(0,i.playNoteAsync)(g.note,d,(0,i.tickToMs)(c.beatsPerMinute,c.ticksPerBeat,t.gridTicks))}break;default:if(/^[a-g]$/i.test(n.key)){let e;n.preventDefault(),v(!0),e=t.bassClef?(0,r.rowToNote)(p,3+"abcdefg".indexOf(n.key.toLowerCase()),!0,g):(0,r.rowToNote)(p,5+"abcdefg".indexOf(n.key.toLowerCase()),!1,g),l?-1===l.notes.indexOf(e)&&(c=(0,r.addNoteToTrack)(c,t.track,e,l.startTick,l.endTick),y((0,r.findNoteEventAtTick)(c,t.track,l.startTick))):(c=(0,r.addNoteToTrack)(c,t.track,e,t.tick,t.tick+t.gridTicks),u.noteGroupIndex=0,y((0,r.findNoteEventAtTick)(c,t.track,t.tick)));break}if(/^[1-9]$/.test(n.key)){n.preventDefault(),v(!0),l&&(c=(0,r.editNoteEventLength)(c,t.track,l.startTick,l.startTick+parseInt(n.key)*t.gridTicks),y((0,r.findNoteEventAtTick)(c,t.track,l.startTick)));break}}if(u.tick!==t.tick)if(s)u.selection?u.selection.endTick=u.tick:u.selection={originalSong:e,startTick:t.tick,endTick:u.tick,transpose:0,deltaTick:0},c=(0,r.applySelection)(u.selection,u.hideTracksActive?u.track:void 0);else if(u.selection){const e=(0,r.selectNoteEventsInRange)(u.selection.originalSong,u.selection.startTick,u.selection.endTick,u.hideTracksActive?u.track:void 0),n=(0,r.findSelectedRange)(e,u.gridTicks);n&&(u.selection.startTick=n.start,u.selection.endTick=n.end),u.selection.deltaTick+=u.tick-t.tick,c=(0,r.applySelection)(u.selection,u.hideTracksActive?u.track:void 0),u.selection.startTick+u.selection.deltaTick>0&&(u.tick=u.selection.startTick+u.selection.deltaTick)}return[c,u]}},{"./playback":56,"./utils":58}],56:[function(e,t,n){"use strict";let i,r,a;Object.defineProperty(n,"__esModule",{value:!0}),n.removePlaybackStateListener=n.addPlaybackStateListener=n.removeTickListener=n.addTickListener=n.stopPlayback=n.updatePlaybackSongAsync=n.setLooping=n.isLooping=n.isPlaying=n.tickToMs=n.startPlaybackAsync=n.playDrumAsync=n.playNoteAsync=void 0;let s=[],o=[];const l=[31,33,35,37,39,41,44,46,49,52,55,58,62,65,69,73,78,82,87,92,98,104,110,117,123,131,139,147,156,165,175,185,196,208,220,233,247,262,277,294,311,330,349,370,392,415,440,466,494,523,554,587,622,659,698,740,784,831,880,932,988,1047,1109,1175,1245,1319,1397,1480,1568,1661,1760,1865,1976,2093,2217,2349,2489,2637,2794,2960,3136,3322,3520,3729,3951,4186,4435,4699,4978,5274,5588,5920,6272,6645,7040,7459,7902];async function c(e,t,n,i){await pxsim.AudioContextManager.playInstructionsAsync(pxt.assets.music.renderInstrument(t,l[e],n,100),i)}async function u(e,t){await pxsim.AudioContextManager.playInstructionsAsync(pxt.assets.music.renderDrumInstrument(e,100),t)}async function d(){return r||i||(r=new Promise((e=>{i=new Worker("data:application/javascript,"+encodeURIComponent(h));const t=n=>{"ready"===n.data&&(e(i),i.removeEventListener("message",t))};i.addEventListener("message",t)})))}function p(e,t,n){return 6e4/e/t*n}function f(){return!!a&&!a.cancellationToken.cancelled}n.playNoteAsync=c,n.playDrumAsync=u,n.startPlaybackAsync=async function(e,t){const n={song:e,looping:t,cancellationToken:{cancelled:!1},tick:0};a&&(a.cancellationToken.cancelled=!0),a=n;const i=await d();let r=0;const l=()=>n.cancellationToken.cancelled,h=e=>{i.postMessage(e)},m=()=>{if(i.removeEventListener("message",g),n.cancellationToken.cancelled=!0,!f()){h({type:"stop"});for(const e of s)e("stop")}},g=e=>{if("tick"===e.data)if(l())m();else{for(const e of n.song.tracks)for(const t of e.notes)if(t.startTick===r)for(const i of t.notes)e.drums?u(e.drums[i.note],l):c(i.note,e.instrument,p(n.song.beatsPerMinute,n.song.ticksPerBeat,t.endTick-t.startTick),l);else if(t.startTick>r)break;for(const e of o)e(r);++r>=n.song.ticksPerBeat*n.song.beatsPerMeasure*n.song.measures&&(n.looping?r=0:m())}};h({type:"start",interval:p(n.song.beatsPerMinute,n.song.ticksPerBeat,1)}),i.addEventListener("message",g);for(const e of s)e(t?"loop":"play")},n.tickToMs=p,n.isPlaying=f,n.isLooping=function(){return f()&&a.looping},n.setLooping=function(e){a&&(a.looping=e)},n.updatePlaybackSongAsync=async function(e){f()&&(a.song.beatsPerMinute!==e.beatsPerMinute&&(await d()).postMessage({type:"set-interval",interval:p(e.beatsPerMinute,e.ticksPerBeat,1)}),a.song=e)},n.stopPlayback=function(){a&&(a.cancellationToken.cancelled=!0)},n.addTickListener=function(e){o.push(e)},n.removeTickListener=function(e){o=o.filter((t=>e!==t))},n.addPlaybackStateListener=function(e){s.push(e)},n.removePlaybackStateListener=function(e){s=s.filter((t=>e!==t))};const h='\n/**\n * Adpated from https://github.com/cwilso/metronome/\n */\n\nlet timerRef;\nlet interval;\n\naddEventListener("message", ev => {\n const message = ev.data;\n\n if (message.type === "start") {\n updateInterval(message.interval, true);\n }\n else if (message.type === "stop") {\n clearInterval(timerRef);\n timerRef = undefined;\n }\n else if (message.type === "set-interval") {\n updateInterval(message.interval, false);\n }\n})\n\npostMessage("ready");\n\nfunction updateInterval(interval, startIfStopped) {\n if (timerRef) {\n clearInterval(timerRef);\n startIfStopped = true;\n }\n interval = interval;\n\n if (startIfStopped) {\n timerRef = setInterval(() => postMessage("tick"), interval);\n }\n}\n'},{}],57:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.rowY=n.closestRow=n.closestTick=n.beatToX=n.tickToX=n.workspaceWidth=n.BASS_CLEF_HEIGHT=n.BASS_CLEF_TOP=n.BASS_STAFF_HEADER_HEIGHT=n.BASS_STAFF_TOP=n.NOTE_DURATION_HEIGHT=n.NOTE_ICON_WIDTH=n.WORKSPACE_HEIGHT=n.STAFF_GRID_TICK_HEIGHT=n.STAFF_END_WIDTH=n.STAFF_HEADER_OFFSET=n.STAFF_HEADER_FONT_SIZE=n.STAFF_HEADER_HEIGHT=n.CLEF_HEIGHT=n.CLEF_WIDTH=n.STAFF_ROW_HEIGHT=n.BEAT_WIDTH=void 0,n.BEAT_WIDTH=150,n.STAFF_ROW_HEIGHT=50,n.CLEF_WIDTH=250,n.CLEF_HEIGHT=320,n.STAFF_HEADER_HEIGHT=n.STAFF_ROW_HEIGHT,n.STAFF_HEADER_FONT_SIZE=40,n.STAFF_HEADER_OFFSET=11,n.STAFF_END_WIDTH=25,n.STAFF_GRID_TICK_HEIGHT=7,n.WORKSPACE_HEIGHT=n.STAFF_HEADER_HEIGHT+7*n.STAFF_ROW_HEIGHT,n.NOTE_ICON_WIDTH=45,n.NOTE_DURATION_HEIGHT=n.NOTE_ICON_WIDTH/3,n.BASS_STAFF_TOP=n.WORKSPACE_HEIGHT,n.BASS_STAFF_HEADER_HEIGHT=n.STAFF_ROW_HEIGHT/2,n.BASS_CLEF_TOP=90,n.BASS_CLEF_HEIGHT=230,n.workspaceWidth=function(e,t){return n.CLEF_WIDTH+e*t*n.BEAT_WIDTH+n.STAFF_END_WIDTH},n.tickToX=function(e,t){return n.CLEF_WIDTH+n.BEAT_WIDTH/e*t},n.beatToX=function(e){return n.CLEF_WIDTH+n.BEAT_WIDTH*e},n.closestTick=function(e,t,i){const r=Math.floor((t-n.CLEF_WIDTH)*(e/n.BEAT_WIDTH));return Math.floor(r/i)*i},n.closestRow=function(e){const t=e>n.BASS_STAFF_TOP;return 12-Math.round((e-n.STAFF_HEADER_HEIGHT-(t?n.BASS_STAFF_TOP:0))/(n.STAFF_ROW_HEIGHT/2))},n.rowY=function(e,t){return t?n.BASS_STAFF_TOP+n.STAFF_HEADER_HEIGHT+(12-e%12)*n.STAFF_ROW_HEIGHT/2:n.STAFF_HEADER_HEIGHT+(12-e%12)*n.STAFF_ROW_HEIGHT/2}},{}],58:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.doesSongUseBassClef=n.applySelection=n.moveSelectedNotes=n.deleteSelectedNotes=n.unselectAllNotes=n.selectNoteEventsInRange=n.findSelectedRange=n.changeSongLength=n.findNoteEventAtPosition=n.findNextNoteEvent=n.findPreviousNoteEvent=n.findNoteEventAtTick=n.fillDrums=n.editNoteEventLength=n.removeNoteEventFromTrack=n.removeNoteAtRowFromTrack=n.removeNoteFromTrack=n.addNoteToTrack=n.isBassClefNote=n.noteToRow=n.rowToNote=void 0;const i=[0,2,4,5,7,9,11,12,14,16,17,19];function r(e,t,n,r,a){const s=i[t]+12*e+1-(n?20:0);return r?{note:t+(n?12:0),enharmonicSpelling:"normal"}:a&&"normal"!==a?"sharp"===a?{note:s+1,enharmonicSpelling:a}:{note:s-1,enharmonicSpelling:a}:{note:s,enharmonicSpelling:"normal"}}function a(e,t,n){if(n)return t.note>=12?t.note-12:t.note;const r=t.note-1-12*e+(s(e,t,!1)?20:0);for(let e=0;e<i.length;e++){if(i[e]===r)return"normal"===t.enharmonicSpelling?e:"sharp"===t.enharmonicSpelling?e-1:e+1;if(i[e]>r){if("sharp"===t.enharmonicSpelling)return e-1;if("flat"===t.enharmonicSpelling)return e}}return"sharp"===t.enharmonicSpelling&&r===i[i.length-1]+1?i.length-1:-1}function s(e,t,n){return n?t.note>=12:"flat"===t.enharmonicSpelling?t.note<12*e:"sharp"===t.enharmonicSpelling?t.note<=12*e+1:t.note<12*e+1}function o(e,t,n,i,r){return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,a)=>a!==t?e:Object.assign(Object.assign({},e),{notes:l(e.notes,n,i,r,e.instrument.octave,!!e.drums)})))})}function l(e,t,n,i,r,o){const l={notes:[t],startTick:n,endTick:i};for(let i=0;i<e.length;i++){if(e[i].startTick>n)return e.slice(0,i).concat([l]).concat(e.slice(i));if(e[i].endTick>n)return e[i].notes.some((e=>e.note===t.note&&e.enharmonicSpelling===t.enharmonicSpelling))?e.slice():e.map(((e,n)=>n!==i?e:Object.assign(Object.assign({},e),{notes:e.notes.concat([t]).sort(((e,t)=>{const n=s(r,e,o);return n===s(r,t,o)?a(r,e,o)-a(r,t,o):n?-1:1}))})))}return e.slice().concat([l])}function c(e,t,n){const i=e.slice();for(let e=0;e<i.length;e++)if(i[e].startTick==n){i[e]=Object.assign(Object.assign({},i[e]),{notes:i[e].notes.filter((e=>e.note!==t.note))});break}return i.filter((e=>e.notes.length))}function u(e,t,n,i,r,o){const l=e.slice();for(let e=0;e<l.length;e++)if(l[e].startTick==r){l[e]=Object.assign(Object.assign({},l[e]),{notes:l[e].notes.filter((e=>s(i,e,o)!==n||a(i,e,o)!==t))});break}return l.filter((e=>e.notes.length))}function d(e,t,n){const i=e.slice();if(t>=n)return i;let r;for(let e=0;e<i.length;e++)i[e].startTick===t?(r=Object.assign(Object.assign({},i[e]),{endTick:n}),i[e]=r):r&&i[e].startTick<r.endTick&&(i[e]=void 0);return i.filter((e=>!!e))}function p(e,t,n){const i=e.tracks[t];for(const e of i.notes)if(e.startTick<=n&&e.endTick>n)return e}function f(e,t){let n=e.measures*e.beatsPerMeasure*e.ticksPerBeat+1,i=-1;for(const t of e.tracks)for(const e of t.notes)e.selected&&(n=Math.min(e.startTick,n),i=Math.max(e.endTick,i));if(-1!==i)return void 0!==t&&(n=Math.floor(n/t)*t,i=Math.ceil(i/t)*t),{start:n,end:i}}function h(e,t,n,i){return void 0!==i?Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,r)=>r!==i?e:m(e,Math.min(t,n),Math.max(t,n))))}):Object.assign(Object.assign({},e),{tracks:e.tracks.map((e=>m(e,Math.min(t,n),Math.max(t,n))))})}function m(e,t,n){return Object.assign(Object.assign({},e),{notes:e.notes.map((e=>Object.assign(Object.assign({},e),{notes:e.notes.slice(),selected:!(e.startTick>=n||e.endTick<=t)})))})}function g(e){return Object.assign(Object.assign({},e),{tracks:e.tracks.map((e=>Object.assign(Object.assign({},e),{notes:e.notes.map((e=>Object.assign(Object.assign({},e),{selected:!1})))})))})}function v(e,t,n,i){const r=f(e);if(!r)return e;const{start:a,end:s}=r,o=a+t,l=s+t,c=e.beatsPerMeasure*e.ticksPerBeat*e.measures;return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,r)=>void 0!==i&&i!=r?e:Object.assign(Object.assign({},e),{notes:e.notes.filter((e=>e.selected||e.endTick<=o||e.startTick>=l)).map((i=>i.selected?b(i,e.instrument.octave,t,n,!!e.drums):i)).map((e=>Object.assign(Object.assign({},e),{endTick:Math.min(e.endTick,c)}))).filter((e=>e.notes.length>0&&e.startTick>=0&&e.startTick<c)).sort(((e,t)=>e.startTick-t.startTick))})))})}function y(e,t){return e.pastedContent?function(e,t){const n=y(e.pastedContent,t),i=f(n,t),r=e.startTick+e.deltaTick,a=r+(i.end-i.start),s=g(e.originalSong),o=s.beatsPerMeasure*s.ticksPerBeat*s.measures;return Object.assign(Object.assign({},s),{tracks:s.tracks.map(((s,l)=>void 0!==t&&t!=l?s:Object.assign(Object.assign({},s),{notes:s.notes.filter((e=>e.endTick<=r||e.startTick>=a)).concat(n.tracks[l].notes.filter((e=>e.selected)).map((t=>Object.assign(Object.assign({},t),{startTick:t.startTick-i.start+e.startTick,endTick:t.endTick-i.start+e.startTick})))).map((t=>t.selected?b(t,s.instrument.octave,e.deltaTick,e.transpose,!!s.drums):t)).map((e=>Object.assign(Object.assign({},e),{endTick:Math.min(e.endTick,o)}))).filter((e=>e.notes.length>0&&e.startTick>=0&&e.startTick<o)).sort(((e,t)=>e.startTick-t.startTick))})))})}(e,t):v(h(e.originalSong,e.startTick,e.endTick,t),e.deltaTick,e.transpose,t)}function b(e,t,n,o,l){const c=Object.assign(Object.assign({},e),{startTick:e.startTick+n,endTick:e.endTick+n,notes:[]});if(l)c.notes=e.notes.slice();else for(const n of e.notes){let e=s(t,n,l),u=a(t,n,l);u+o>=i.length?e&&(u-=12,e=!1):u+o<0&&(e||(u+=12,e=!0));const d=u+o;d<0||d>=i.length||c.notes.push(r(t,d,e,l,n.enharmonicSpelling))}return c}n.rowToNote=r,n.noteToRow=a,n.isBassClefNote=s,n.addNoteToTrack=o,n.removeNoteFromTrack=function(e,t,n,i){return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,r)=>r!==t?e:Object.assign(Object.assign({},e),{notes:c(e.notes,n,i)})))})},n.removeNoteAtRowFromTrack=function(e,t,n,i,r){return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,a)=>a!==t?e:Object.assign(Object.assign({},e),{notes:u(e.notes,n,i,e.instrument.octave,r,!!e.drums)})))})},n.removeNoteEventFromTrack=function(e,t,n){return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,i)=>i!==t?e:Object.assign(Object.assign({},e),{notes:e.notes.filter((e=>e.startTick!==n))})))})},n.editNoteEventLength=function(e,t,n,i){const r=e.beatsPerMeasure*e.ticksPerBeat*e.measures;return Object.assign(Object.assign({},e),{tracks:e.tracks.map(((e,a)=>a!==t?e:Object.assign(Object.assign({},e),{notes:d(e.notes,n,Math.min(i,r))})))})},n.fillDrums=function(e,t,n,i,r,a){for(let s=i;s<r;s+=a)e=o(e,t,{note:n,enharmonicSpelling:"normal"},s,s+1);return e},n.findNoteEventAtTick=p,n.findPreviousNoteEvent=function(e,t,n){const i=e.tracks[t];let r;for(const e of i.notes){if(e.startTick>n)return r;r=e}return r},n.findNextNoteEvent=function(e,t,n){const i=e.tracks[t];for(const e of i.notes)if(e.startTick>n)return e},n.findNoteEventAtPosition=function(e,t,n){if(void 0!==n){const i=p(e,n,t.tick),r=e.tracks[n];return(null==i?void 0:i.notes.some((e=>a(r.instrument.octave,e,!!r.drums)===t.row)))?i:void 0}for(let n=0;n<e.tracks.length;n++){const i=p(e,n,t.tick),r=e.tracks[n];if(null==i?void 0:i.notes.some((e=>a(r.instrument.octave,e,!!r.drums)===t.row)))return i}},n.changeSongLength=function(e,t){const n=t*e.beatsPerMeasure*e.ticksPerBeat;return Object.assign(Object.assign({},e),{measures:t,tracks:e.tracks.map((e=>{const t=Object.assign(Object.assign({},e),{notes:e.notes.slice()});return t.notes=t.notes.filter((e=>e.startTick<n)),t.notes=t.notes.map((e=>Object.assign(Object.assign({},e),{endTick:Math.min(e.endTick,n)}))),t}))})},n.findSelectedRange=f,n.selectNoteEventsInRange=h,n.unselectAllNotes=g,n.deleteSelectedNotes=function(e){return Object.assign(Object.assign({},e),{tracks:e.tracks.map((e=>Object.assign(Object.assign({},e),{notes:e.notes.filter((e=>!e.selected))})))})},n.moveSelectedNotes=v,n.applySelection=y,n.doesSongUseBassClef=function(e){return e.tracks.some((e=>e.notes.some((t=>t.notes.some((t=>s(e.instrument.octave,t,!!e.drums)))))))}},{}],59:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.fireClickOnEnter=void 0,n.fireClickOnEnter=function(e){const t="number"==typeof e.which?e.which:e.keyCode;13!==t&&32!==t||(e.preventDefault(),e.currentTarget.click())}},{}],60:[function(e,t,n){var i=e("./toPropertyKey.js");t.exports=function(e,t,n){return(t=i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},t.exports.__esModule=!0,t.exports.default=t.exports},{"./toPropertyKey.js":67}],61:[function(e,t,n){function i(){return t.exports=i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},t.exports.__esModule=!0,t.exports.default=t.exports,i.apply(this,arguments)}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},{}],62:[function(e,t,n){t.exports=function(e){return e&&e.__esModule?e:{default:e}},t.exports.__esModule=!0,t.exports.default=t.exports},{}],63:[function(e,t,n){var i=e("./typeof.js").default;function r(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(r=function(e){return e?n:t})(e)}t.exports=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var n=r(t);if(n&&n.has(e))return n.get(e);var a={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var l=s?Object.getOwnPropertyDescriptor(e,o):null;l&&(l.get||l.set)?Object.defineProperty(a,o,l):a[o]=e[o]}return a.default=e,n&&n.set(e,a),a},t.exports.__esModule=!0,t.exports.default=t.exports},{"./typeof.js":68}],64:[function(e,t,n){var i=e("./defineProperty.js");function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}t.exports=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e},t.exports.__esModule=!0,t.exports.default=t.exports},{"./defineProperty.js":60}],65:[function(e,t,n){t.exports=function(e,t){if(null==e)return{};var n,i,r={},a=Object.keys(e);for(i=0;i<a.length;i++)n=a[i],t.indexOf(n)>=0||(r[n]=e[n]);return r},t.exports.__esModule=!0,t.exports.default=t.exports},{}],66:[function(e,t,n){var i=e("./typeof.js").default;t.exports=function(e,t){if("object"!==i(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},t.exports.__esModule=!0,t.exports.default=t.exports},{"./typeof.js":68}],67:[function(e,t,n){var i=e("./typeof.js").default,r=e("./toPrimitive.js");t.exports=function(e){var t=r(e,"string");return"symbol"===i(t)?t:String(t)},t.exports.__esModule=!0,t.exports.default=t.exports},{"./toPrimitive.js":66,"./typeof.js":68}],68:[function(e,t,n){function i(e){return t.exports=i="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},t.exports.__esModule=!0,t.exports.default=t.exports,i(e)}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},{}],69:[function(e,t,n){"use strict";var i=e("react-is"),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},s={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},o={};function l(e){return i.isMemo(e)?s:o[e.$$typeof]||r}o[i.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},o[i.Memo]=s;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,h=Object.prototype;t.exports=function e(t,n,i){if("string"!=typeof n){if(h){var r=f(n);r&&r!==h&&e(t,r,i)}var s=u(n);d&&(s=s.concat(d(n)));for(var o=l(t),m=l(n),g=0;g<s.length;++g){var v=s[g];if(!(a[v]||i&&i[v]||m&&m[v]||o&&o[v])){var y=p(n,v);try{c(t,v,y)}catch(t){}}}}return t}},{"react-is":77}],70:[function(e,t,n){"use strict";var i=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function s(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}t.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,o,l=s(e),c=1;c<arguments.length;c++){for(var u in n=Object(arguments[c]))r.call(n,u)&&(l[u]=n[u]);if(i){o=i(n);for(var d=0;d<o.length;d++)a.call(n,o[d])&&(l[o[d]]=n[o[d]])}}return l}},{}],71:[function(e,t,n){"use strict";var i=e("./lib/ReactPropTypesSecret");function r(){}function a(){}a.resetWarningCache=r,t.exports=function(){function e(e,t,n,r,a,s){if(s!==i){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:r};return n.PropTypes=n,n}},{"./lib/ReactPropTypesSecret":73}],72:[function(e,t,n){t.exports=e("./factoryWithThrowingShims")()},{"./factoryWithThrowingShims":71}],73:[function(e,t,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},{}],74:[function(e,t,n){"use strict";var i=e("react"),r=e("object-assign"),a=e("scheduler");function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!i)throw Error(s(227));var o=new Set,l={};function c(e,t){u(e,t),u(e+"Capture",t)}function u(e,t){for(l[e]=t,e=0;e<t.length;e++)o.add(t[e])}var d=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f=Object.prototype.hasOwnProperty,h={},m={};function g(e,t,n,i,r,a,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=s}var v={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){v[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];v[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){v[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){v[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){v[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){v[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){v[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){v[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){v[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function E(e,t,n,i){var r=v.hasOwnProperty(t)?v[t]:null;(null!==r?0===r.type:!i&&2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1]))||(function(e,t,n,i){if(null==t||function(e,t,n,i){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!i&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,i))return!0;if(i)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,r,i)&&(n=null),i||null===r?function(e){return!!f.call(m,e)||!f.call(h,e)&&(p.test(e)?m[e]=!0:(h[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):r.mustUseProperty?e[r.propertyName]=null===n?3!==r.type&&"":n:(t=r.attributeName,i=r.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(r=r.type)||4===r&&!0===n?"":""+n,i?e.setAttributeNS(i,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(y,b);v[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(y,b);v[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(y,b);v[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){v[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),v.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){v[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var k=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,T=60103,C=60106,w=60107,S=60108,x=60114,O=60109,_=60110,j=60112,I=60113,N=60120,A=60115,P=60116,D=60121,L=60128,R=60129,M=60130,F=60131;if("function"==typeof Symbol&&Symbol.for){var H=Symbol.for;T=H("react.element"),C=H("react.portal"),w=H("react.fragment"),S=H("react.strict_mode"),x=H("react.profiler"),O=H("react.provider"),_=H("react.context"),j=H("react.forward_ref"),I=H("react.suspense"),N=H("react.suspense_list"),A=H("react.memo"),P=H("react.lazy"),D=H("react.block"),H("react.scope"),L=H("react.opaque.id"),R=H("react.debug_trace_mode"),M=H("react.offscreen"),F=H("react.legacy_hidden")}var B,G="function"==typeof Symbol&&Symbol.iterator;function W(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=G&&e[G]||e["@@iterator"])?e:null}function z(e){if(void 0===B)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);B=t&&t[1]||""}return"\n"+B+e}var U=!1;function V(e,t){if(!e||U)return"";U=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var i=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){i=e}e.call(t.prototype)}else{try{throw Error()}catch(e){i=e}e()}}catch(e){if(e&&i&&"string"==typeof e.stack){for(var r=e.stack.split("\n"),a=i.stack.split("\n"),s=r.length-1,o=a.length-1;1<=s&&0<=o&&r[s]!==a[o];)o--;for(;1<=s&&0<=o;s--,o--)if(r[s]!==a[o]){if(1!==s||1!==o)do{if(s--,0>--o||r[s]!==a[o])return"\n"+r[s].replace(" at new "," at ")}while(1<=s&&0<=o);break}}}finally{U=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?z(e):""}function $(e){switch(e.tag){case 5:return z(e.type);case 16:return z("Lazy");case 13:return z("Suspense");case 19:return z("SuspenseList");case 0:case 2:case 15:return V(e.type,!1);case 11:return V(e.type.render,!1);case 22:return V(e.type._render,!1);case 1:return V(e.type,!0);default:return""}}function Y(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case w:return"Fragment";case C:return"Portal";case x:return"Profiler";case S:return"StrictMode";case I:return"Suspense";case N:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case _:return(e.displayName||"Context")+".Consumer";case O:return(e._context.displayName||"Context")+".Provider";case j:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case A:return Y(e.type);case D:return Y(e._render);case P:t=e._payload,e=e._init;try{return Y(e(t))}catch(e){}}return null}function K(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function q(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function X(e){e._valueTracker||(e._valueTracker=function(e){var t=q(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var r=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){i=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(e){i=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=q(e)?e.checked?"true":"false":e.value),(e=i)!==n&&(t.setValue(e),!0)}function Z(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return r({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,i=null!=t.checked?t.checked:t.defaultChecked;n=K(null!=t.value?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&E(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=K(t.value),i=t.type;if(null!=n)"number"===i?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===i||"reset"===i)return void e.removeAttribute("value");t.hasOwnProperty("value")?re(e,t.type,n):t.hasOwnProperty("defaultValue")&&re(e,t.type,K(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function ie(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!("submit"!==i&&"reset"!==i||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function re(e,t,n){"number"===t&&Z(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function ae(e,t){return e=r({children:void 0},t),(t=function(e){var t="";return i.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function se(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&i&&(e[n].defaultSelected=!0)}else{for(n=""+K(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(i&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function oe(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(s(91));return r({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function le(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(s(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(s(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:K(n)}}function ce(e,t){var n=K(t.value),i=K(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=i&&(e.defaultValue=""+i)}function ue(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var de="http://www.w3.org/1999/xhtml",pe="http://www.w3.org/2000/svg";function fe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function he(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?fe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var me,ge,ve=(ge=function(e,t){if(e.namespaceURI!==pe||"innerHTML"in e)e.innerHTML=t;else{for((me=me||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=me.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,i){MSApp.execUnsafeLocalFunction((function(){return ge(e,t)}))}:ge);function ye(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var be={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ee=["Webkit","ms","Moz","O"];function ke(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||be.hasOwnProperty(e)&&be[e]?(""+t).trim():t+"px"}function Te(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var i=0===n.indexOf("--"),r=ke(n,t[n],i);"float"===n&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}Object.keys(be).forEach((function(e){Ee.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),be[t]=be[e]}))}));var Ce=r({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function we(e,t){if(t){if(Ce[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(s(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(s(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(s(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(s(62))}}function Se(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function xe(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Oe=null,_e=null,je=null;function Ie(e){if(e=er(e)){if("function"!=typeof Oe)throw Error(s(280));var t=e.stateNode;t&&(t=nr(t),Oe(e.stateNode,e.type,t))}}function Ne(e){_e?je?je.push(e):je=[e]:_e=e}function Ae(){if(_e){var e=_e,t=je;if(je=_e=null,Ie(e),t)for(e=0;e<t.length;e++)Ie(t[e])}}function Pe(e,t){return e(t)}function De(e,t,n,i,r){return e(t,n,i,r)}function Le(){}var Re=Pe,Me=!1,Fe=!1;function He(){null===_e&&null===je||(Le(),Ae())}function Be(e,t){var n=e.stateNode;if(null===n)return null;var i=nr(n);if(null===i)return null;n=i[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(i=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!i;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(s(231,t,typeof n));return n}var Ge=!1;if(d)try{var We={};Object.defineProperty(We,"passive",{get:function(){Ge=!0}}),window.addEventListener("test",We,We),window.removeEventListener("test",We,We)}catch(ge){Ge=!1}function ze(e,t,n,i,r,a,s,o,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(e){this.onError(e)}}var Ue=!1,Ve=null,$e=!1,Ye=null,Ke={onError:function(e){Ue=!0,Ve=e}};function qe(e,t,n,i,r,a,s,o,l){Ue=!1,Ve=null,ze.apply(Ke,arguments)}function Xe(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function Ze(e){if(Xe(e)!==e)throw Error(s(188))}function Je(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Xe(e)))throw Error(s(188));return t!==e?null:e}for(var n=e,i=t;;){var r=n.return;if(null===r)break;var a=r.alternate;if(null===a){if(null!==(i=r.return)){n=i;continue}break}if(r.child===a.child){for(a=r.child;a;){if(a===n)return Ze(r),e;if(a===i)return Ze(r),t;a=a.sibling}throw Error(s(188))}if(n.return!==i.return)n=r,i=a;else{for(var o=!1,l=r.child;l;){if(l===n){o=!0,n=r,i=a;break}if(l===i){o=!0,i=r,n=a;break}l=l.sibling}if(!o){for(l=a.child;l;){if(l===n){o=!0,n=a,i=r;break}if(l===i){o=!0,i=a,n=r;break}l=l.sibling}if(!o)throw Error(s(189))}}if(n.alternate!==i)throw Error(s(190))}if(3!==n.tag)throw Error(s(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function et(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var tt,nt,it,rt,at=!1,st=[],ot=null,lt=null,ct=null,ut=new Map,dt=new Map,pt=[],ft="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function ht(e,t,n,i,r){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:r,targetContainers:[i]}}function mt(e,t){switch(e){case"focusin":case"focusout":ot=null;break;case"dragenter":case"dragleave":lt=null;break;case"mouseover":case"mouseout":ct=null;break;case"pointerover":case"pointerout":ut.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":dt.delete(t.pointerId)}}function gt(e,t,n,i,r,a){return null===e||e.nativeEvent!==a?(e=ht(t,n,i,r,a),null!==t&&null!==(t=er(t))&&nt(t),e):(e.eventSystemFlags|=i,t=e.targetContainers,null!==r&&-1===t.indexOf(r)&&t.push(r),e)}function vt(e){var t=Ji(e.target);if(null!==t){var n=Xe(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Qe(n)))return e.blockedOn=t,void rt(e.lanePriority,(function(){a.unstable_runWithPriority(e.priority,(function(){it(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function yt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=er(n))&&nt(t),e.blockedOn=n,!1;t.shift()}return!0}function bt(e,t,n){yt(e)&&n.delete(t)}function Et(){for(at=!1;0<st.length;){var e=st[0];if(null!==e.blockedOn){null!==(e=er(e.blockedOn))&&tt(e);break}for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&st.shift()}null!==ot&&yt(ot)&&(ot=null),null!==lt&&yt(lt)&&(lt=null),null!==ct&&yt(ct)&&(ct=null),ut.forEach(bt),dt.forEach(bt)}function kt(e,t){e.blockedOn===t&&(e.blockedOn=null,at||(at=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Et)))}function Tt(e){function t(t){return kt(t,e)}if(0<st.length){kt(st[0],e);for(var n=1;n<st.length;n++){var i=st[n];i.blockedOn===e&&(i.blockedOn=null)}}for(null!==ot&&kt(ot,e),null!==lt&&kt(lt,e),null!==ct&&kt(ct,e),ut.forEach(t),dt.forEach(t),n=0;n<pt.length;n++)(i=pt[n]).blockedOn===e&&(i.blockedOn=null);for(;0<pt.length&&null===(n=pt[0]).blockedOn;)vt(n),null===n.blockedOn&&pt.shift()}function Ct(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var wt={animationend:Ct("Animation","AnimationEnd"),animationiteration:Ct("Animation","AnimationIteration"),animationstart:Ct("Animation","AnimationStart"),transitionend:Ct("Transition","TransitionEnd")},St={},xt={};function Ot(e){if(St[e])return St[e];if(!wt[e])return e;var t,n=wt[e];for(t in n)if(n.hasOwnProperty(t)&&t in xt)return St[e]=n[t];return e}d&&(xt=document.createElement("div").style,"AnimationEvent"in window||(delete wt.animationend.animation,delete wt.animationiteration.animation,delete wt.animationstart.animation),"TransitionEvent"in window||delete wt.transitionend.transition);var _t=Ot("animationend"),jt=Ot("animationiteration"),It=Ot("animationstart"),Nt=Ot("transitionend"),At=new Map,Pt=new Map,Dt=["abort","abort",_t,"animationEnd",jt,"animationIteration",It,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Nt,"transitionEnd","waiting","waiting"];function Lt(e,t){for(var n=0;n<e.length;n+=2){var i=e[n],r=e[n+1];r="on"+(r[0].toUpperCase()+r.slice(1)),Pt.set(i,t),At.set(i,r),c(r,[i])}}(0,a.unstable_now)();var Rt=8;function Mt(e){if(0!=(1&e))return Rt=15,1;if(0!=(2&e))return Rt=14,2;if(0!=(4&e))return Rt=13,4;var t=24&e;return 0!==t?(Rt=12,t):0!=(32&e)?(Rt=11,32):0!=(t=192&e)?(Rt=10,t):0!=(256&e)?(Rt=9,256):0!=(t=3584&e)?(Rt=8,t):0!=(4096&e)?(Rt=7,4096):0!=(t=4186112&e)?(Rt=6,t):0!=(t=62914560&e)?(Rt=5,t):67108864&e?(Rt=4,67108864):0!=(134217728&e)?(Rt=3,134217728):0!=(t=805306368&e)?(Rt=2,t):0!=(1073741824&e)?(Rt=1,1073741824):(Rt=8,e)}function Ft(e,t){var n=e.pendingLanes;if(0===n)return Rt=0;var i=0,r=0,a=e.expiredLanes,s=e.suspendedLanes,o=e.pingedLanes;if(0!==a)i=a,r=Rt=15;else if(0!=(a=134217727&n)){var l=a&~s;0!==l?(i=Mt(l),r=Rt):0!=(o&=a)&&(i=Mt(o),r=Rt)}else 0!=(a=n&~s)?(i=Mt(a),r=Rt):0!==o&&(i=Mt(o),r=Rt);if(0===i)return 0;if(i=n&((0>(i=31-Ut(i))?0:1<<i)<<1)-1,0!==t&&t!==i&&0==(t&s)){if(Mt(t),r<=Rt)return t;Rt=r}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=i;0<t;)r=1<<(n=31-Ut(t)),i|=e[n],t&=~r;return i}function Ht(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Bt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Gt(24&~t))?Bt(10,t):e;case 10:return 0===(e=Gt(192&~t))?Bt(8,t):e;case 8:return 0===(e=Gt(3584&~t))&&0===(e=Gt(4186112&~t))&&(e=512),e;case 2:return 0===(t=Gt(805306368&~t))&&(t=268435456),t}throw Error(s(358,e))}function Gt(e){return e&-e}function Wt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function zt(e,t,n){e.pendingLanes|=t;var i=t-1;e.suspendedLanes&=i,e.pingedLanes&=i,(e=e.eventTimes)[t=31-Ut(t)]=n}var Ut=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Vt(e)/$t|0)|0},Vt=Math.log,$t=Math.LN2;var Yt=a.unstable_UserBlockingPriority,Kt=a.unstable_runWithPriority,qt=!0;function Xt(e,t,n,i){Me||Le();var r=Zt,a=Me;Me=!0;try{De(r,e,t,n,i)}finally{(Me=a)||He()}}function Qt(e,t,n,i){Kt(Yt,Zt.bind(null,e,t,n,i))}function Zt(e,t,n,i){var r;if(qt)if((r=0==(4&t))&&0<st.length&&-1<ft.indexOf(e))e=ht(null,e,t,n,i),st.push(e);else{var a=Jt(e,t,n,i);if(null===a)r&&mt(e,i);else{if(r){if(-1<ft.indexOf(e))return e=ht(a,e,t,n,i),void st.push(e);if(function(e,t,n,i,r){switch(t){case"focusin":return ot=gt(ot,e,t,n,i,r),!0;case"dragenter":return lt=gt(lt,e,t,n,i,r),!0;case"mouseover":return ct=gt(ct,e,t,n,i,r),!0;case"pointerover":var a=r.pointerId;return ut.set(a,gt(ut.get(a)||null,e,t,n,i,r)),!0;case"gotpointercapture":return a=r.pointerId,dt.set(a,gt(dt.get(a)||null,e,t,n,i,r)),!0}return!1}(a,e,t,n,i))return;mt(e,i)}Ai(e,t,i,null,n)}}}function Jt(e,t,n,i){var r=xe(i);if(null!==(r=Ji(r))){var a=Xe(r);if(null===a)r=null;else{var s=a.tag;if(13===s){if(null!==(r=Qe(a)))return r;r=null}else if(3===s){if(a.stateNode.hydrate)return 3===a.tag?a.stateNode.containerInfo:null;r=null}else a!==r&&(r=null)}}return Ai(e,t,i,r,n),null}var en=null,tn=null,nn=null;function rn(){if(nn)return nn;var e,t,n=tn,i=n.length,r="value"in en?en.value:en.textContent,a=r.length;for(e=0;e<i&&n[e]===r[e];e++);var s=i-e;for(t=1;t<=s&&n[i-t]===r[a-t];t++);return nn=r.slice(e,1<t?1-t:void 0)}function an(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function sn(){return!0}function on(){return!1}function ln(e){function t(t,n,i,r,a){for(var s in this._reactName=t,this._targetInst=i,this.type=n,this.nativeEvent=r,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(r):r[s]);return this.isDefaultPrevented=(null!=r.defaultPrevented?r.defaultPrevented:!1===r.returnValue)?sn:on,this.isPropagationStopped=on,this}return r(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=sn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=sn)},persist:function(){},isPersistent:sn}),t}var cn,un,dn,pn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},fn=ln(pn),hn=r({},pn,{view:0,detail:0}),mn=ln(hn),gn=r({},hn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:On,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==dn&&(dn&&"mousemove"===e.type?(cn=e.screenX-dn.screenX,un=e.screenY-dn.screenY):un=cn=0,dn=e),cn)},movementY:function(e){return"movementY"in e?e.movementY:un}}),vn=ln(gn),yn=ln(r({},gn,{dataTransfer:0})),bn=ln(r({},hn,{relatedTarget:0})),En=ln(r({},pn,{animationName:0,elapsedTime:0,pseudoElement:0})),kn=ln(r({},pn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}})),Tn=ln(r({},pn,{data:0})),Cn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},wn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function xn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function On(){return xn}var _n=ln(r({},hn,{key:function(e){if(e.key){var t=Cn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=an(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?wn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:On,charCode:function(e){return"keypress"===e.type?an(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?an(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}})),jn=ln(r({},gn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),In=ln(r({},hn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:On})),Nn=ln(r({},pn,{propertyName:0,elapsedTime:0,pseudoElement:0})),An=ln(r({},gn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Pn=[9,13,27,32],Dn=d&&"CompositionEvent"in window,Ln=null;d&&"documentMode"in document&&(Ln=document.documentMode);var Rn=d&&"TextEvent"in window&&!Ln,Mn=d&&(!Dn||Ln&&8<Ln&&11>=Ln),Fn=String.fromCharCode(32),Hn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Pn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Gn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Wn=!1;var zn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Un(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!zn[e.type]:"textarea"===t}function Vn(e,t,n,i){Ne(i),0<(t=Di(t,"onChange")).length&&(n=new fn("onChange","change",null,n,i),e.push({event:n,listeners:t}))}var $n=null,Yn=null;function Kn(e){xi(e,0)}function qn(e){if(Q(tr(e)))return e}function Xn(e,t){if("change"===e)return t}var Qn=!1;if(d){var Zn;if(d){var Jn="oninput"in document;if(!Jn){var ei=document.createElement("div");ei.setAttribute("oninput","return;"),Jn="function"==typeof ei.oninput}Zn=Jn}else Zn=!1;Qn=Zn&&(!document.documentMode||9<document.documentMode)}function ti(){$n&&($n.detachEvent("onpropertychange",ni),Yn=$n=null)}function ni(e){if("value"===e.propertyName&&qn(Yn)){var t=[];if(Vn(t,Yn,e,xe(e)),e=Kn,Me)e(t);else{Me=!0;try{Pe(e,t)}finally{Me=!1,He()}}}}function ii(e,t,n){"focusin"===e?(ti(),Yn=n,($n=t).attachEvent("onpropertychange",ni)):"focusout"===e&&ti()}function ri(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return qn(Yn)}function ai(e,t){if("click"===e)return qn(t)}function si(e,t){if("input"===e||"change"===e)return qn(t)}var oi="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},li=Object.prototype.hasOwnProperty;function ci(e,t){if(oi(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++)if(!li.call(t,n[i])||!oi(e[n[i]],t[n[i]]))return!1;return!0}function ui(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function di(e,t){var n,i=ui(e);for(e=0;i;){if(3===i.nodeType){if(n=e+i.textContent.length,e<=t&&n>=t)return{node:i,offset:t-e};e=n}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=ui(i)}}function pi(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?pi(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function fi(){for(var e=window,t=Z();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=Z((e=t.contentWindow).document)}return t}function hi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var mi=d&&"documentMode"in document&&11>=document.documentMode,gi=null,vi=null,yi=null,bi=!1;function Ei(e,t,n){var i=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;bi||null==gi||gi!==Z(i)||(i="selectionStart"in(i=gi)&&hi(i)?{start:i.selectionStart,end:i.selectionEnd}:{anchorNode:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset},yi&&ci(yi,i)||(yi=i,0<(i=Di(vi,"onSelect")).length&&(t=new fn("onSelect","select",null,t,n),e.push({event:t,listeners:i}),t.target=gi)))}Lt("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Lt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Lt(Dt,2);for(var ki="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),Ti=0;Ti<ki.length;Ti++)Pt.set(ki[Ti],0);u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ci="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),wi=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ci));function Si(e,t,n){var i=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,i,r,a,o,l,c){if(qe.apply(this,arguments),Ue){if(!Ue)throw Error(s(198));var u=Ve;Ue=!1,Ve=null,$e||($e=!0,Ye=u)}}(i,t,void 0,e),e.currentTarget=null}function xi(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var i=e[n],r=i.event;i=i.listeners;e:{var a=void 0;if(t)for(var s=i.length-1;0<=s;s--){var o=i[s],l=o.instance,c=o.currentTarget;if(o=o.listener,l!==a&&r.isPropagationStopped())break e;Si(r,o,c),a=l}else for(s=0;s<i.length;s++){if(l=(o=i[s]).instance,c=o.currentTarget,o=o.listener,l!==a&&r.isPropagationStopped())break e;Si(r,o,c),a=l}}}if($e)throw e=Ye,$e=!1,Ye=null,e}function Oi(e,t){var n=ir(t),i=e+"__bubble";n.has(i)||(Ni(t,e,2,!1),n.add(i))}var _i="_reactListening"+Math.random().toString(36).slice(2);function ji(e){e[_i]||(e[_i]=!0,o.forEach((function(t){wi.has(t)||Ii(t,!1,e,null),Ii(t,!0,e,null)})))}function Ii(e,t,n,i){var r=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,a=n;if("selectionchange"===e&&9!==n.nodeType&&(a=n.ownerDocument),null!==i&&!t&&wi.has(e)){if("scroll"!==e)return;r|=2,a=i}var s=ir(a),o=e+"__"+(t?"capture":"bubble");s.has(o)||(t&&(r|=4),Ni(a,e,r,t),s.add(o))}function Ni(e,t,n,i){var r=Pt.get(t);switch(void 0===r?2:r){case 0:r=Xt;break;case 1:r=Qt;break;default:r=Zt}n=r.bind(null,t,n,e),r=void 0,!Ge||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(r=!0),i?void 0!==r?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):void 0!==r?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function Ai(e,t,n,i,r){var a=i;if(0==(1&t)&&0==(2&t)&&null!==i)e:for(;;){if(null===i)return;var s=i.tag;if(3===s||4===s){var o=i.stateNode.containerInfo;if(o===r||8===o.nodeType&&o.parentNode===r)break;if(4===s)for(s=i.return;null!==s;){var l=s.tag;if((3===l||4===l)&&((l=s.stateNode.containerInfo)===r||8===l.nodeType&&l.parentNode===r))return;s=s.return}for(;null!==o;){if(null===(s=Ji(o)))return;if(5===(l=s.tag)||6===l){i=a=s;continue e}o=o.parentNode}}i=i.return}!function(e,t,n){if(Fe)return e(t,n);Fe=!0;try{Re(e,t,n)}finally{Fe=!1,He()}}((function(){var i=a,r=xe(n),s=[];e:{var o=At.get(e);if(void 0!==o){var l=fn,c=e;switch(e){case"keypress":if(0===an(n))break e;case"keydown":case"keyup":l=_n;break;case"focusin":c="focus",l=bn;break;case"focusout":c="blur",l=bn;break;case"beforeblur":case"afterblur":l=bn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=vn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=yn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=In;break;case _t:case jt:case It:l=En;break;case Nt:l=Nn;break;case"scroll":l=mn;break;case"wheel":l=An;break;case"copy":case"cut":case"paste":l=kn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=jn}var u=0!=(4&t),d=!u&&"scroll"===e,p=u?null!==o?o+"Capture":null:o;u=[];for(var f,h=i;null!==h;){var m=(f=h).stateNode;if(5===f.tag&&null!==m&&(f=m,null!==p&&null!=(m=Be(h,p))&&u.push(Pi(h,m,f))),d)break;h=h.return}0<u.length&&(o=new l(o,c,null,n,r),s.push({event:o,listeners:u}))}}if(0==(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(o="mouseover"===e||"pointerover"===e)||0!=(16&t)||!(c=n.relatedTarget||n.fromElement)||!Ji(c)&&!c[Qi])&&(l||o)&&(o=r.window===r?r:(o=r.ownerDocument)?o.defaultView||o.parentWindow:window,l?(l=i,null!==(c=(c=n.relatedTarget||n.toElement)?Ji(c):null)&&(c!==(d=Xe(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=i),l!==c)){if(u=vn,m="onMouseLeave",p="onMouseEnter",h="mouse","pointerout"!==e&&"pointerover"!==e||(u=jn,m="onPointerLeave",p="onPointerEnter",h="pointer"),d=null==l?o:tr(l),f=null==c?o:tr(c),(o=new u(m,h+"leave",l,n,r)).target=d,o.relatedTarget=f,m=null,Ji(r)===i&&((u=new u(p,h+"enter",c,n,r)).target=f,u.relatedTarget=d,m=u),d=m,l&&c)e:{for(p=c,h=0,f=u=l;f;f=Li(f))h++;for(f=0,m=p;m;m=Li(m))f++;for(;0<h-f;)u=Li(u),h--;for(;0<f-h;)p=Li(p),f--;for(;h--;){if(u===p||null!==p&&u===p.alternate)break e;u=Li(u),p=Li(p)}u=null}else u=null;null!==l&&Ri(s,o,l,u,!1),null!==c&&null!==d&&Ri(s,d,c,u,!0)}if("select"===(l=(o=i?tr(i):window).nodeName&&o.nodeName.toLowerCase())||"input"===l&&"file"===o.type)var g=Xn;else if(Un(o))if(Qn)g=si;else{g=ri;var v=ii}else(l=o.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===o.type||"radio"===o.type)&&(g=ai);switch(g&&(g=g(e,i))?Vn(s,g,n,r):(v&&v(e,o,i),"focusout"===e&&(v=o._wrapperState)&&v.controlled&&"number"===o.type&&re(o,"number",o.value)),v=i?tr(i):window,e){case"focusin":(Un(v)||"true"===v.contentEditable)&&(gi=v,vi=i,yi=null);break;case"focusout":yi=vi=gi=null;break;case"mousedown":bi=!0;break;case"contextmenu":case"mouseup":case"dragend":bi=!1,Ei(s,n,r);break;case"selectionchange":if(mi)break;case"keydown":case"keyup":Ei(s,n,r)}var y;if(Dn)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else Wn?Bn(e,n)&&(b="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(b="onCompositionStart");b&&(Mn&&"ko"!==n.locale&&(Wn||"onCompositionStart"!==b?"onCompositionEnd"===b&&Wn&&(y=rn()):(tn="value"in(en=r)?en.value:en.textContent,Wn=!0)),0<(v=Di(i,b)).length&&(b=new Tn(b,e,null,n,r),s.push({event:b,listeners:v}),(y||null!==(y=Gn(n)))&&(b.data=y))),(y=Rn?function(e,t){switch(e){case"compositionend":return Gn(t);case"keypress":return 32!==t.which?null:(Hn=!0,Fn);case"textInput":return(e=t.data)===Fn&&Hn?null:e;default:return null}}(e,n):function(e,t){if(Wn)return"compositionend"===e||!Dn&&Bn(e,t)?(e=rn(),nn=tn=en=null,Wn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Mn&&"ko"!==t.locale?null:t.data;default:return null}}(e,n))&&0<(i=Di(i,"onBeforeInput")).length&&(r=new Tn("onBeforeInput","beforeinput",null,n,r),s.push({event:r,listeners:i}),r.data=y)}xi(s,t)}))}function Pi(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Di(e,t){for(var n=t+"Capture",i=[];null!==e;){var r=e,a=r.stateNode;5===r.tag&&null!==a&&(r=a,null!=(a=Be(e,n))&&i.unshift(Pi(e,a,r)),null!=(a=Be(e,t))&&i.push(Pi(e,a,r))),e=e.return}return i}function Li(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Ri(e,t,n,i,r){for(var a=t._reactName,s=[];null!==n&&n!==i;){var o=n,l=o.alternate,c=o.stateNode;if(null!==l&&l===i)break;5===o.tag&&null!==c&&(o=c,r?null!=(l=Be(n,a))&&s.unshift(Pi(n,l,o)):r||null!=(l=Be(n,a))&&s.push(Pi(n,l,o))),n=n.return}0!==s.length&&e.push({event:t,listeners:s})}function Mi(){}var Fi=null,Hi=null;function Bi(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Gi(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Wi="function"==typeof setTimeout?setTimeout:void 0,zi="function"==typeof clearTimeout?clearTimeout:void 0;function Ui(e){(1===e.nodeType||9===e.nodeType&&null!=(e=e.body))&&(e.textContent="")}function Vi(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function $i(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var Yi=0;var Ki=Math.random().toString(36).slice(2),qi="__reactFiber$"+Ki,Xi="__reactProps$"+Ki,Qi="__reactContainer$"+Ki,Zi="__reactEvents$"+Ki;function Ji(e){var t=e[qi];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Qi]||n[qi]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=$i(e);null!==e;){if(n=e[qi])return n;e=$i(e)}return t}n=(e=n).parentNode}return null}function er(e){return!(e=e[qi]||e[Qi])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function tr(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(s(33))}function nr(e){return e[Xi]||null}function ir(e){var t=e[Zi];return void 0===t&&(t=e[Zi]=new Set),t}var rr=[],ar=-1;function sr(e){return{current:e}}function or(e){0>ar||(e.current=rr[ar],rr[ar]=null,ar--)}function lr(e,t){rr[++ar]=e.current,e.current=t}var cr={},ur=sr(cr),dr=sr(!1),pr=cr;function fr(e,t){var n=e.type.contextTypes;if(!n)return cr;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r,a={};for(r in n)a[r]=t[r];return i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function hr(e){return null!=e.childContextTypes}function mr(){or(dr),or(ur)}function gr(e,t,n){if(ur.current!==cr)throw Error(s(168));lr(ur,t),lr(dr,n)}function vr(e,t,n){var i=e.stateNode;if(e=t.childContextTypes,"function"!=typeof i.getChildContext)return n;for(var a in i=i.getChildContext())if(!(a in e))throw Error(s(108,Y(t)||"Unknown",a));return r({},n,i)}function yr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||cr,pr=ur.current,lr(ur,e),lr(dr,dr.current),!0}function br(e,t,n){var i=e.stateNode;if(!i)throw Error(s(169));n?(e=vr(e,t,pr),i.__reactInternalMemoizedMergedChildContext=e,or(dr),or(ur),lr(ur,e)):or(dr),lr(dr,n)}var Er=null,kr=null,Tr=a.unstable_runWithPriority,Cr=a.unstable_scheduleCallback,wr=a.unstable_cancelCallback,Sr=a.unstable_shouldYield,xr=a.unstable_requestPaint,Or=a.unstable_now,_r=a.unstable_getCurrentPriorityLevel,jr=a.unstable_ImmediatePriority,Ir=a.unstable_UserBlockingPriority,Nr=a.unstable_NormalPriority,Ar=a.unstable_LowPriority,Pr=a.unstable_IdlePriority,Dr={},Lr=void 0!==xr?xr:function(){},Rr=null,Mr=null,Fr=!1,Hr=Or(),Br=1e4>Hr?Or:function(){return Or()-Hr};function Gr(){switch(_r()){case jr:return 99;case Ir:return 98;case Nr:return 97;case Ar:return 96;case Pr:return 95;default:throw Error(s(332))}}function Wr(e){switch(e){case 99:return jr;case 98:return Ir;case 97:return Nr;case 96:return Ar;case 95:return Pr;default:throw Error(s(332))}}function zr(e,t){return e=Wr(e),Tr(e,t)}function Ur(e,t,n){return e=Wr(e),Cr(e,t,n)}function Vr(){if(null!==Mr){var e=Mr;Mr=null,wr(e)}$r()}function $r(){if(!Fr&&null!==Rr){Fr=!0;var e=0;try{var t=Rr;zr(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Rr=null}catch(t){throw null!==Rr&&(Rr=Rr.slice(e+1)),Cr(jr,Vr),t}finally{Fr=!1}}}var Yr=k.ReactCurrentBatchConfig;function Kr(e,t){if(e&&e.defaultProps){for(var n in t=r({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var qr=sr(null),Xr=null,Qr=null,Zr=null;function Jr(){Zr=Qr=Xr=null}function ea(e){var t=qr.current;or(qr),e.type._context._currentValue=t}function ta(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function na(e,t){Xr=e,Zr=Qr=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(Ps=!0),e.firstContext=null)}function ia(e,t){if(Zr!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(Zr=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Qr){if(null===Xr)throw Error(s(308));Qr=t,Xr.dependencies={lanes:0,firstContext:t,responders:null}}else Qr=Qr.next=t;return e._currentValue}var ra=!1;function aa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function sa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function oa(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function la(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function ca(e,t){var n=e.updateQueue,i=e.alternate;if(null!==i&&n===(i=i.updateQueue)){var r=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?r=a=s:a=a.next=s,n=n.next}while(null!==n);null===a?r=a=t:a=a.next=t}else r=a=t;return n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:a,shared:i.shared,effects:i.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function ua(e,t,n,i){var a=e.updateQueue;ra=!1;var s=a.firstBaseUpdate,o=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var c=l,u=c.next;c.next=null,null===o?s=u:o.next=u,o=c;var d=e.alternate;if(null!==d){var p=(d=d.updateQueue).lastBaseUpdate;p!==o&&(null===p?d.firstBaseUpdate=u:p.next=u,d.lastBaseUpdate=c)}}if(null!==s){for(p=a.baseState,o=0,d=u=c=null;;){l=s.lane;var f=s.eventTime;if((i&l)===l){null!==d&&(d=d.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var h=e,m=s;switch(l=t,f=n,m.tag){case 1:if("function"==typeof(h=m.payload)){p=h.call(f,p,l);break e}p=h;break e;case 3:h.flags=-4097&h.flags|64;case 0:if(null==(l="function"==typeof(h=m.payload)?h.call(f,p,l):h))break e;p=r({},p,l);break e;case 2:ra=!0}}null!==s.callback&&(e.flags|=32,null===(l=a.effects)?a.effects=[s]:l.push(s))}else f={eventTime:f,lane:l,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===d?(u=d=f,c=p):d=d.next=f,o|=l;if(null===(s=s.next)){if(null===(l=a.shared.pending))break;s=l.next,l.next=null,a.lastBaseUpdate=l,a.shared.pending=null}}null===d&&(c=p),a.baseState=c,a.firstBaseUpdate=u,a.lastBaseUpdate=d,Mo|=o,e.lanes=o,e.memoizedState=p}}function da(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var i=e[t],r=i.callback;if(null!==r){if(i.callback=null,i=n,"function"!=typeof r)throw Error(s(191,r));r.call(i)}}}var pa=(new i.Component).refs;function fa(e,t,n,i){n=null==(n=n(i,t=e.memoizedState))?t:r({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var ha={isMounted:function(e){return!!(e=e._reactInternals)&&Xe(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var i=ll(),r=cl(e),a=oa(i,r);a.payload=t,null!=n&&(a.callback=n),la(e,a),ul(e,r,i)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var i=ll(),r=cl(e),a=oa(i,r);a.tag=1,a.payload=t,null!=n&&(a.callback=n),la(e,a),ul(e,r,i)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ll(),i=cl(e),r=oa(n,i);r.tag=2,null!=t&&(r.callback=t),la(e,r),ul(e,i,n)}};function ma(e,t,n,i,r,a,s){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(i,a,s):!(t.prototype&&t.prototype.isPureReactComponent&&ci(n,i)&&ci(r,a))}function ga(e,t,n){var i=!1,r=cr,a=t.contextType;return"object"==typeof a&&null!==a?a=ia(a):(r=hr(t)?pr:ur.current,a=(i=null!=(i=t.contextTypes))?fr(e,r):cr),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ha,e.stateNode=t,t._reactInternals=e,i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=a),t}function va(e,t,n,i){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,i),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,i),t.state!==e&&ha.enqueueReplaceState(t,t.state,null)}function ya(e,t,n,i){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs=pa,aa(e);var a=t.contextType;"object"==typeof a&&null!==a?r.context=ia(a):(a=hr(t)?pr:ur.current,r.context=fr(e,a)),ua(e,n,r,i),r.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(fa(e,t,a,n),r.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof r.getSnapshotBeforeUpdate||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||(t=r.state,"function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),t!==r.state&&ha.enqueueReplaceState(r,r.state,null),ua(e,n,r,i),r.state=e.memoizedState),"function"==typeof r.componentDidMount&&(e.flags|=4)}var ba=Array.isArray;function Ea(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(s(309));var i=n.stateNode}if(!i)throw Error(s(147,e));var r=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===r?t.ref:((t=function(e){var t=i.refs;t===pa&&(t=i.refs={}),null===e?delete t[r]:t[r]=e})._stringRef=r,t)}if("string"!=typeof e)throw Error(s(284));if(!n._owner)throw Error(s(290,e))}return e}function ka(e,t){if("textarea"!==e.type)throw Error(s(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function Ta(e){function t(t,n){if(e){var i=t.lastEffect;null!==i?(i.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}function n(n,i){if(!e)return null;for(;null!==i;)t(n,i),i=i.sibling;return null}function i(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function r(e,t){return(e=Wl(e,t)).index=0,e.sibling=null,e}function a(t,n,i){return t.index=i,e?null!==(i=t.alternate)?(i=i.index)<n?(t.flags=2,n):i:(t.flags=2,n):n}function o(t){return e&&null===t.alternate&&(t.flags=2),t}function l(e,t,n,i){return null===t||6!==t.tag?((t=$l(n,e.mode,i)).return=e,t):((t=r(t,n)).return=e,t)}function c(e,t,n,i){return null!==t&&t.elementType===n.type?((i=r(t,n.props)).ref=Ea(e,t,n),i.return=e,i):((i=zl(n.type,n.key,n.props,null,e.mode,i)).ref=Ea(e,t,n),i.return=e,i)}function u(e,t,n,i){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Yl(n,e.mode,i)).return=e,t):((t=r(t,n.children||[])).return=e,t)}function d(e,t,n,i,a){return null===t||7!==t.tag?((t=Ul(n,e.mode,i,a)).return=e,t):((t=r(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=$l(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case T:return(n=zl(t.type,t.key,t.props,null,e.mode,n)).ref=Ea(e,null,t),n.return=e,n;case C:return(t=Yl(t,e.mode,n)).return=e,t}if(ba(t)||W(t))return(t=Ul(t,e.mode,n,null)).return=e,t;ka(e,t)}return null}function f(e,t,n,i){var r=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==r?null:l(e,t,""+n,i);if("object"==typeof n&&null!==n){switch(n.$$typeof){case T:return n.key===r?n.type===w?d(e,t,n.props.children,i,r):c(e,t,n,i):null;case C:return n.key===r?u(e,t,n,i):null}if(ba(n)||W(n))return null!==r?null:d(e,t,n,i,null);ka(e,n)}return null}function h(e,t,n,i,r){if("string"==typeof i||"number"==typeof i)return l(t,e=e.get(n)||null,""+i,r);if("object"==typeof i&&null!==i){switch(i.$$typeof){case T:return e=e.get(null===i.key?n:i.key)||null,i.type===w?d(t,e,i.props.children,r,i.key):c(t,e,i,r);case C:return u(t,e=e.get(null===i.key?n:i.key)||null,i,r)}if(ba(i)||W(i))return d(t,e=e.get(n)||null,i,r,null);ka(t,i)}return null}function m(r,s,o,l){for(var c=null,u=null,d=s,m=s=0,g=null;null!==d&&m<o.length;m++){d.index>m?(g=d,d=null):g=d.sibling;var v=f(r,d,o[m],l);if(null===v){null===d&&(d=g);break}e&&d&&null===v.alternate&&t(r,d),s=a(v,s,m),null===u?c=v:u.sibling=v,u=v,d=g}if(m===o.length)return n(r,d),c;if(null===d){for(;m<o.length;m++)null!==(d=p(r,o[m],l))&&(s=a(d,s,m),null===u?c=d:u.sibling=d,u=d);return c}for(d=i(r,d);m<o.length;m++)null!==(g=h(d,r,m,o[m],l))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),s=a(g,s,m),null===u?c=g:u.sibling=g,u=g);return e&&d.forEach((function(e){return t(r,e)})),c}function g(r,o,l,c){var u=W(l);if("function"!=typeof u)throw Error(s(150));if(null==(l=u.call(l)))throw Error(s(151));for(var d=u=null,m=o,g=o=0,v=null,y=l.next();null!==m&&!y.done;g++,y=l.next()){m.index>g?(v=m,m=null):v=m.sibling;var b=f(r,m,y.value,c);if(null===b){null===m&&(m=v);break}e&&m&&null===b.alternate&&t(r,m),o=a(b,o,g),null===d?u=b:d.sibling=b,d=b,m=v}if(y.done)return n(r,m),u;if(null===m){for(;!y.done;g++,y=l.next())null!==(y=p(r,y.value,c))&&(o=a(y,o,g),null===d?u=y:d.sibling=y,d=y);return u}for(m=i(r,m);!y.done;g++,y=l.next())null!==(y=h(m,r,g,y.value,c))&&(e&&null!==y.alternate&&m.delete(null===y.key?g:y.key),o=a(y,o,g),null===d?u=y:d.sibling=y,d=y);return e&&m.forEach((function(e){return t(r,e)})),u}return function(e,i,a,l){var c="object"==typeof a&&null!==a&&a.type===w&&null===a.key;c&&(a=a.props.children);var u="object"==typeof a&&null!==a;if(u)switch(a.$$typeof){case T:e:{for(u=a.key,c=i;null!==c;){if(c.key===u){switch(c.tag){case 7:if(a.type===w){n(e,c.sibling),(i=r(c,a.props.children)).return=e,e=i;break e}break;default:if(c.elementType===a.type){n(e,c.sibling),(i=r(c,a.props)).ref=Ea(e,c,a),i.return=e,e=i;break e}}n(e,c);break}t(e,c),c=c.sibling}a.type===w?((i=Ul(a.props.children,e.mode,l,a.key)).return=e,e=i):((l=zl(a.type,a.key,a.props,null,e.mode,l)).ref=Ea(e,i,a),l.return=e,e=l)}return o(e);case C:e:{for(c=a.key;null!==i;){if(i.key===c){if(4===i.tag&&i.stateNode.containerInfo===a.containerInfo&&i.stateNode.implementation===a.implementation){n(e,i.sibling),(i=r(i,a.children||[])).return=e,e=i;break e}n(e,i);break}t(e,i),i=i.sibling}(i=Yl(a,e.mode,l)).return=e,e=i}return o(e)}if("string"==typeof a||"number"==typeof a)return a=""+a,null!==i&&6===i.tag?(n(e,i.sibling),(i=r(i,a)).return=e,e=i):(n(e,i),(i=$l(a,e.mode,l)).return=e,e=i),o(e);if(ba(a))return m(e,i,a,l);if(W(a))return g(e,i,a,l);if(u&&ka(e,a),void 0===a&&!c)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(s(152,Y(e.type)||"Component"))}return n(e,i)}}var Ca=Ta(!0),wa=Ta(!1),Sa={},xa=sr(Sa),Oa=sr(Sa),_a=sr(Sa);function ja(e){if(e===Sa)throw Error(s(174));return e}function Ia(e,t){switch(lr(_a,t),lr(Oa,e),lr(xa,Sa),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:he(null,"");break;default:t=he(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}or(xa),lr(xa,t)}function Na(){or(xa),or(Oa),or(_a)}function Aa(e){ja(_a.current);var t=ja(xa.current),n=he(t,e.type);t!==n&&(lr(Oa,e),lr(xa,n))}function Pa(e){Oa.current===e&&(or(xa),or(Oa))}var Da=sr(0);function La(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ra=null,Ma=null,Fa=!1;function Ha(e,t){var n=Bl(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Ba(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function Ga(e){if(Fa){var t=Ma;if(t){var n=t;if(!Ba(e,t)){if(!(t=Vi(n.nextSibling))||!Ba(e,t))return e.flags=-1025&e.flags|2,Fa=!1,void(Ra=e);Ha(Ra,n)}Ra=e,Ma=Vi(t.firstChild)}else e.flags=-1025&e.flags|2,Fa=!1,Ra=e}}function Wa(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Ra=e}function za(e){if(e!==Ra)return!1;if(!Fa)return Wa(e),Fa=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Gi(t,e.memoizedProps))for(t=Ma;t;)Ha(e,t),t=Vi(t.nextSibling);if(Wa(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(s(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){Ma=Vi(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}Ma=null}}else Ma=Ra?Vi(e.stateNode.nextSibling):null;return!0}function Ua(){Ma=Ra=null,Fa=!1}var Va=[];function $a(){for(var e=0;e<Va.length;e++)Va[e]._workInProgressVersionPrimary=null;Va.length=0}var Ya=k.ReactCurrentDispatcher,Ka=k.ReactCurrentBatchConfig,qa=0,Xa=null,Qa=null,Za=null,Ja=!1,es=!1;function ts(){throw Error(s(321))}function ns(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!oi(e[n],t[n]))return!1;return!0}function is(e,t,n,i,r,a){if(qa=a,Xa=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Ya.current=null===e||null===e.memoizedState?js:Is,e=n(i,r),es){a=0;do{if(es=!1,!(25>a))throw Error(s(301));a+=1,Za=Qa=null,t.updateQueue=null,Ya.current=Ns,e=n(i,r)}while(es)}if(Ya.current=_s,t=null!==Qa&&null!==Qa.next,qa=0,Za=Qa=Xa=null,Ja=!1,t)throw Error(s(300));return e}function rs(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Za?Xa.memoizedState=Za=e:Za=Za.next=e,Za}function as(){if(null===Qa){var e=Xa.alternate;e=null!==e?e.memoizedState:null}else e=Qa.next;var t=null===Za?Xa.memoizedState:Za.next;if(null!==t)Za=t,Qa=e;else{if(null===e)throw Error(s(310));e={memoizedState:(Qa=e).memoizedState,baseState:Qa.baseState,baseQueue:Qa.baseQueue,queue:Qa.queue,next:null},null===Za?Xa.memoizedState=Za=e:Za=Za.next=e}return Za}function ss(e,t){return"function"==typeof t?t(e):t}function os(e){var t=as(),n=t.queue;if(null===n)throw Error(s(311));n.lastRenderedReducer=e;var i=Qa,r=i.baseQueue,a=n.pending;if(null!==a){if(null!==r){var o=r.next;r.next=a.next,a.next=o}i.baseQueue=r=a,n.pending=null}if(null!==r){r=r.next,i=i.baseState;var l=o=a=null,c=r;do{var u=c.lane;if((qa&u)===u)null!==l&&(l=l.next={lane:0,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null}),i=c.eagerReducer===e?c.eagerState:e(i,c.action);else{var d={lane:u,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null};null===l?(o=l=d,a=i):l=l.next=d,Xa.lanes|=u,Mo|=u}c=c.next}while(null!==c&&c!==r);null===l?a=i:l.next=o,oi(i,t.memoizedState)||(Ps=!0),t.memoizedState=i,t.baseState=a,t.baseQueue=l,n.lastRenderedState=i}return[t.memoizedState,n.dispatch]}function ls(e){var t=as(),n=t.queue;if(null===n)throw Error(s(311));n.lastRenderedReducer=e;var i=n.dispatch,r=n.pending,a=t.memoizedState;if(null!==r){n.pending=null;var o=r=r.next;do{a=e(a,o.action),o=o.next}while(o!==r);oi(a,t.memoizedState)||(Ps=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,i]}function cs(e,t,n){var i=t._getVersion;i=i(t._source);var r=t._workInProgressVersionPrimary;if(null!==r?e=r===i:(e=e.mutableReadLanes,(e=(qa&e)===e)&&(t._workInProgressVersionPrimary=i,Va.push(t))),e)return n(t._source);throw Va.push(t),Error(s(350))}function us(e,t,n,i){var r=jo;if(null===r)throw Error(s(349));var a=t._getVersion,o=a(t._source),l=Ya.current,c=l.useState((function(){return cs(r,t,n)})),u=c[1],d=c[0];c=Za;var p=e.memoizedState,f=p.refs,h=f.getSnapshot,m=p.source;p=p.subscribe;var g=Xa;return e.memoizedState={refs:f,source:t,subscribe:i},l.useEffect((function(){f.getSnapshot=n,f.setSnapshot=u;var e=a(t._source);if(!oi(o,e)){e=n(t._source),oi(d,e)||(u(e),e=cl(g),r.mutableReadLanes|=e&r.pendingLanes),e=r.mutableReadLanes,r.entangledLanes|=e;for(var i=r.entanglements,s=e;0<s;){var l=31-Ut(s),c=1<<l;i[l]|=e,s&=~c}}}),[n,t,i]),l.useEffect((function(){return i(t._source,(function(){var e=f.getSnapshot,n=f.setSnapshot;try{n(e(t._source));var i=cl(g);r.mutableReadLanes|=i&r.pendingLanes}catch(e){n((function(){throw e}))}}))}),[t,i]),oi(h,n)&&oi(m,t)&&oi(p,i)||((e={pending:null,dispatch:null,lastRenderedReducer:ss,lastRenderedState:d}).dispatch=u=Os.bind(null,Xa,e),c.queue=e,c.baseQueue=null,d=cs(r,t,n),c.memoizedState=c.baseState=d),d}function ds(e,t,n){return us(as(),e,t,n)}function ps(e){var t=rs();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ss,lastRenderedState:e}).dispatch=Os.bind(null,Xa,e),[t.memoizedState,e]}function fs(e,t,n,i){return e={tag:e,create:t,destroy:n,deps:i,next:null},null===(t=Xa.updateQueue)?(t={lastEffect:null},Xa.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(i=n.next,n.next=e,e.next=i,t.lastEffect=e),e}function hs(e){return e={current:e},rs().memoizedState=e}function ms(){return as().memoizedState}function gs(e,t,n,i){var r=rs();Xa.flags|=e,r.memoizedState=fs(1|t,n,void 0,void 0===i?null:i)}function vs(e,t,n,i){var r=as();i=void 0===i?null:i;var a=void 0;if(null!==Qa){var s=Qa.memoizedState;if(a=s.destroy,null!==i&&ns(i,s.deps))return void fs(t,n,a,i)}Xa.flags|=e,r.memoizedState=fs(1|t,n,a,i)}function ys(e,t){return gs(516,4,e,t)}function bs(e,t){return vs(516,4,e,t)}function Es(e,t){return vs(4,2,e,t)}function ks(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ts(e,t,n){return n=null!=n?n.concat([e]):null,vs(4,2,ks.bind(null,t,e),n)}function Cs(){}function ws(e,t){var n=as();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&ns(t,i[1])?i[0]:(n.memoizedState=[e,t],e)}function Ss(e,t){var n=as();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&ns(t,i[1])?i[0]:(e=e(),n.memoizedState=[e,t],e)}function xs(e,t){var n=Gr();zr(98>n?98:n,(function(){e(!0)})),zr(97<n?97:n,(function(){var n=Ka.transition;Ka.transition=1;try{e(!1),t()}finally{Ka.transition=n}}))}function Os(e,t,n){var i=ll(),r=cl(e),a={lane:r,action:n,eagerReducer:null,eagerState:null,next:null},s=t.pending;if(null===s?a.next=a:(a.next=s.next,s.next=a),t.pending=a,s=e.alternate,e===Xa||null!==s&&s===Xa)es=Ja=!0;else{if(0===e.lanes&&(null===s||0===s.lanes)&&null!==(s=t.lastRenderedReducer))try{var o=t.lastRenderedState,l=s(o,n);if(a.eagerReducer=s,a.eagerState=l,oi(l,o))return}catch(e){}ul(e,r,i)}}var _s={readContext:ia,useCallback:ts,useContext:ts,useEffect:ts,useImperativeHandle:ts,useLayoutEffect:ts,useMemo:ts,useReducer:ts,useRef:ts,useState:ts,useDebugValue:ts,useDeferredValue:ts,useTransition:ts,useMutableSource:ts,useOpaqueIdentifier:ts,unstable_isNewReconciler:!1},js={readContext:ia,useCallback:function(e,t){return rs().memoizedState=[e,void 0===t?null:t],e},useContext:ia,useEffect:ys,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,gs(4,2,ks.bind(null,t,e),n)},useLayoutEffect:function(e,t){return gs(4,2,e,t)},useMemo:function(e,t){var n=rs();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=rs();return t=void 0!==n?n(t):t,i.memoizedState=i.baseState=t,e=(e=i.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Os.bind(null,Xa,e),[i.memoizedState,e]},useRef:hs,useState:ps,useDebugValue:Cs,useDeferredValue:function(e){var t=ps(e),n=t[0],i=t[1];return ys((function(){var t=Ka.transition;Ka.transition=1;try{i(e)}finally{Ka.transition=t}}),[e]),n},useTransition:function(){var e=ps(!1),t=e[0];return hs(e=xs.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var i=rs();return i.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},us(i,e,t,n)},useOpaqueIdentifier:function(){if(Fa){var e=!1,t=function(e){return{$$typeof:L,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(Yi++).toString(36))),Error(s(355))})),n=ps(t)[1];return 0==(2&Xa.mode)&&(Xa.flags|=516,fs(5,(function(){n("r:"+(Yi++).toString(36))}),void 0,null)),t}return ps(t="r:"+(Yi++).toString(36)),t},unstable_isNewReconciler:!1},Is={readContext:ia,useCallback:ws,useContext:ia,useEffect:bs,useImperativeHandle:Ts,useLayoutEffect:Es,useMemo:Ss,useReducer:os,useRef:ms,useState:function(){return os(ss)},useDebugValue:Cs,useDeferredValue:function(e){var t=os(ss),n=t[0],i=t[1];return bs((function(){var t=Ka.transition;Ka.transition=1;try{i(e)}finally{Ka.transition=t}}),[e]),n},useTransition:function(){var e=os(ss)[0];return[ms().current,e]},useMutableSource:ds,useOpaqueIdentifier:function(){return os(ss)[0]},unstable_isNewReconciler:!1},Ns={readContext:ia,useCallback:ws,useContext:ia,useEffect:bs,useImperativeHandle:Ts,useLayoutEffect:Es,useMemo:Ss,useReducer:ls,useRef:ms,useState:function(){return ls(ss)},useDebugValue:Cs,useDeferredValue:function(e){var t=ls(ss),n=t[0],i=t[1];return bs((function(){var t=Ka.transition;Ka.transition=1;try{i(e)}finally{Ka.transition=t}}),[e]),n},useTransition:function(){var e=ls(ss)[0];return[ms().current,e]},useMutableSource:ds,useOpaqueIdentifier:function(){return ls(ss)[0]},unstable_isNewReconciler:!1},As=k.ReactCurrentOwner,Ps=!1;function Ds(e,t,n,i){t.child=null===e?wa(t,null,n,i):Ca(t,e.child,n,i)}function Ls(e,t,n,i,r){n=n.render;var a=t.ref;return na(t,r),i=is(e,t,n,i,a,r),null===e||Ps?(t.flags|=1,Ds(e,t,i,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~r,eo(e,t,r))}function Rs(e,t,n,i,r,a){if(null===e){var s=n.type;return"function"!=typeof s||Gl(s)||void 0!==s.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=zl(n.type,null,i,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=s,Ms(e,t,s,i,r,a))}return s=e.child,0==(r&a)&&(r=s.memoizedProps,(n=null!==(n=n.compare)?n:ci)(r,i)&&e.ref===t.ref)?eo(e,t,a):(t.flags|=1,(e=Wl(s,i)).ref=t.ref,e.return=t,t.child=e)}function Ms(e,t,n,i,r,a){if(null!==e&&ci(e.memoizedProps,i)&&e.ref===t.ref){if(Ps=!1,0==(a&r))return t.lanes=e.lanes,eo(e,t,a);0!=(16384&e.flags)&&(Ps=!0)}return Bs(e,t,n,i,a)}function Fs(e,t,n){var i=t.pendingProps,r=i.children,a=null!==e?e.memoizedState:null;if("hidden"===i.mode||"unstable-defer-without-hiding"===i.mode)if(0==(4&t.mode))t.memoizedState={baseLanes:0},yl(t,n);else{if(0==(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},yl(t,e),null;t.memoizedState={baseLanes:0},yl(t,null!==a?a.baseLanes:n)}else null!==a?(i=a.baseLanes|n,t.memoizedState=null):i=n,yl(t,i);return Ds(e,t,r,n),t.child}function Hs(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function Bs(e,t,n,i,r){var a=hr(n)?pr:ur.current;return a=fr(t,a),na(t,r),n=is(e,t,n,i,a,r),null===e||Ps?(t.flags|=1,Ds(e,t,n,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~r,eo(e,t,r))}function Gs(e,t,n,i,r){if(hr(n)){var a=!0;yr(t)}else a=!1;if(na(t,r),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),ga(t,n,i),ya(t,n,i,r),i=!0;else if(null===e){var s=t.stateNode,o=t.memoizedProps;s.props=o;var l=s.context,c=n.contextType;c="object"==typeof c&&null!==c?ia(c):fr(t,c=hr(n)?pr:ur.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof s.getSnapshotBeforeUpdate;d||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(o!==i||l!==c)&&va(t,s,i,c),ra=!1;var p=t.memoizedState;s.state=p,ua(t,i,s,r),l=t.memoizedState,o!==i||p!==l||dr.current||ra?("function"==typeof u&&(fa(t,n,u,i),l=t.memoizedState),(o=ra||ma(t,n,o,i,p,l,c))?(d||"function"!=typeof s.UNSAFE_componentWillMount&&"function"!=typeof s.componentWillMount||("function"==typeof s.componentWillMount&&s.componentWillMount(),"function"==typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"==typeof s.componentDidMount&&(t.flags|=4)):("function"==typeof s.componentDidMount&&(t.flags|=4),t.memoizedProps=i,t.memoizedState=l),s.props=i,s.state=l,s.context=c,i=o):("function"==typeof s.componentDidMount&&(t.flags|=4),i=!1)}else{s=t.stateNode,sa(e,t),o=t.memoizedProps,c=t.type===t.elementType?o:Kr(t.type,o),s.props=c,d=t.pendingProps,p=s.context,l="object"==typeof(l=n.contextType)&&null!==l?ia(l):fr(t,l=hr(n)?pr:ur.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(o!==d||p!==l)&&va(t,s,i,l),ra=!1,p=t.memoizedState,s.state=p,ua(t,i,s,r);var h=t.memoizedState;o!==d||p!==h||dr.current||ra?("function"==typeof f&&(fa(t,n,f,i),h=t.memoizedState),(c=ra||ma(t,n,c,i,p,h,l))?(u||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(i,h,l),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(i,h,l)),"function"==typeof s.componentDidUpdate&&(t.flags|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!=typeof s.componentDidUpdate||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=256),t.memoizedProps=i,t.memoizedState=h),s.props=i,s.state=h,s.context=l,i=c):("function"!=typeof s.componentDidUpdate||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||o===e.memoizedProps&&p===e.memoizedState||(t.flags|=256),i=!1)}return Ws(e,t,n,i,a,r)}function Ws(e,t,n,i,r,a){Hs(e,t);var s=0!=(64&t.flags);if(!i&&!s)return r&&br(t,n,!1),eo(e,t,a);i=t.stateNode,As.current=t;var o=s&&"function"!=typeof n.getDerivedStateFromError?null:i.render();return t.flags|=1,null!==e&&s?(t.child=Ca(t,e.child,null,a),t.child=Ca(t,null,o,a)):Ds(e,t,o,a),t.memoizedState=i.state,r&&br(t,n,!0),t.child}function zs(e){var t=e.stateNode;t.pendingContext?gr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&gr(0,t.context,!1),Ia(e,t.containerInfo)}var Us,Vs,$s,Ys,Ks={dehydrated:null,retryLane:0};function qs(e,t,n){var i,r=t.pendingProps,a=Da.current,s=!1;return(i=0!=(64&t.flags))||(i=(null===e||null!==e.memoizedState)&&0!=(2&a)),i?(s=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===r.fallback||!0===r.unstable_avoidThisFallback||(a|=1),lr(Da,1&a),null===e?(void 0!==r.fallback&&Ga(t),e=r.children,a=r.fallback,s?(e=Xs(t,e,a,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ks,e):"number"==typeof r.unstable_expectedLoadTime?(e=Xs(t,e,a,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ks,t.lanes=33554432,e):((n=Vl({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,s?(r=function(e,t,n,i,r){var a=t.mode,s=e.child;e=s.sibling;var o={mode:"hidden",children:n};return 0==(2&a)&&t.child!==s?((n=t.child).childLanes=0,n.pendingProps=o,null!==(s=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=s,s.nextEffect=null):t.firstEffect=t.lastEffect=null):n=Wl(s,o),null!==e?i=Wl(e,i):(i=Ul(i,a,r,null)).flags|=2,i.return=t,n.return=t,n.sibling=i,t.child=n,i}(e,t,r.children,r.fallback,n),s=t.child,a=e.child.memoizedState,s.memoizedState=null===a?{baseLanes:n}:{baseLanes:a.baseLanes|n},s.childLanes=e.childLanes&~n,t.memoizedState=Ks,r):(n=function(e,t,n,i){var r=e.child;return e=r.sibling,n=Wl(r,{mode:"visible",children:n}),0==(2&t.mode)&&(n.lanes=i),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}(e,t,r.children,n),t.memoizedState=null,n))}function Xs(e,t,n,i){var r=e.mode,a=e.child;return t={mode:"hidden",children:t},0==(2&r)&&null!==a?(a.childLanes=0,a.pendingProps=t):a=Vl(t,r,0,null),n=Ul(n,r,i,null),a.return=e,n.return=e,a.sibling=n,e.child=a,n}function Qs(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),ta(e.return,t)}function Zs(e,t,n,i,r,a){var s=e.memoizedState;null===s?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r,lastEffect:a}:(s.isBackwards=t,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=n,s.tailMode=r,s.lastEffect=a)}function Js(e,t,n){var i=t.pendingProps,r=i.revealOrder,a=i.tail;if(Ds(e,t,i.children,n),0!=(2&(i=Da.current)))i=1&i|2,t.flags|=64;else{if(null!==e&&0!=(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Qs(e,n);else if(19===e.tag)Qs(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if(lr(Da,i),0==(2&t.mode))t.memoizedState=null;else switch(r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===La(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Zs(t,!1,r,n,a,t.lastEffect);break;case"backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===La(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Zs(t,!0,n,null,a,t.lastEffect);break;case"together":Zs(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function eo(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Mo|=t.lanes,0!=(n&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(s(153));if(null!==t.child){for(n=Wl(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Wl(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function to(e,t){if(!Fa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;null!==n;)null!==n.alternate&&(i=n),n=n.sibling;null===i?t||null===e.tail?e.tail=null:e.tail.sibling=null:i.sibling=null}}function no(e,t,n){var i=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return hr(t.type)&&mr(),null;case 3:return Na(),or(dr),or(ur),$a(),(i=t.stateNode).pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),null!==e&&null!==e.child||(za(t)?t.flags|=4:i.hydrate||(t.flags|=256)),Vs(t),null;case 5:Pa(t);var a=ja(_a.current);if(n=t.type,null!==e&&null!=t.stateNode)$s(e,t,n,i,a),e.ref!==t.ref&&(t.flags|=128);else{if(!i){if(null===t.stateNode)throw Error(s(166));return null}if(e=ja(xa.current),za(t)){i=t.stateNode,n=t.type;var o=t.memoizedProps;switch(i[qi]=t,i[Xi]=o,n){case"dialog":Oi("cancel",i),Oi("close",i);break;case"iframe":case"object":case"embed":Oi("load",i);break;case"video":case"audio":for(e=0;e<Ci.length;e++)Oi(Ci[e],i);break;case"source":Oi("error",i);break;case"img":case"image":case"link":Oi("error",i),Oi("load",i);break;case"details":Oi("toggle",i);break;case"input":ee(i,o),Oi("invalid",i);break;case"select":i._wrapperState={wasMultiple:!!o.multiple},Oi("invalid",i);break;case"textarea":le(i,o),Oi("invalid",i)}for(var c in we(n,o),e=null,o)o.hasOwnProperty(c)&&(a=o[c],"children"===c?"string"==typeof a?i.textContent!==a&&(e=["children",a]):"number"==typeof a&&i.textContent!==""+a&&(e=["children",""+a]):l.hasOwnProperty(c)&&null!=a&&"onScroll"===c&&Oi("scroll",i));switch(n){case"input":X(i),ie(i,o,!0);break;case"textarea":X(i),ue(i);break;case"select":case"option":break;default:"function"==typeof o.onClick&&(i.onclick=Mi)}i=e,t.updateQueue=i,null!==i&&(t.flags|=4)}else{switch(c=9===a.nodeType?a:a.ownerDocument,e===de&&(e=fe(n)),e===de?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof i.is?e=c.createElement(n,{is:i.is}):(e=c.createElement(n),"select"===n&&(c=e,i.multiple?c.multiple=!0:i.size&&(c.size=i.size))):e=c.createElementNS(e,n),e[qi]=t,e[Xi]=i,Us(e,t,!1,!1),t.stateNode=e,c=Se(n,i),n){case"dialog":Oi("cancel",e),Oi("close",e),a=i;break;case"iframe":case"object":case"embed":Oi("load",e),a=i;break;case"video":case"audio":for(a=0;a<Ci.length;a++)Oi(Ci[a],e);a=i;break;case"source":Oi("error",e),a=i;break;case"img":case"image":case"link":Oi("error",e),Oi("load",e),a=i;break;case"details":Oi("toggle",e),a=i;break;case"input":ee(e,i),a=J(e,i),Oi("invalid",e);break;case"option":a=ae(e,i);break;case"select":e._wrapperState={wasMultiple:!!i.multiple},a=r({},i,{value:void 0}),Oi("invalid",e);break;case"textarea":le(e,i),a=oe(e,i),Oi("invalid",e);break;default:a=i}we(n,a);var u=a;for(o in u)if(u.hasOwnProperty(o)){var d=u[o];"style"===o?Te(e,d):"dangerouslySetInnerHTML"===o?null!=(d=d?d.__html:void 0)&&ve(e,d):"children"===o?"string"==typeof d?("textarea"!==n||""!==d)&&ye(e,d):"number"==typeof d&&ye(e,""+d):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(l.hasOwnProperty(o)?null!=d&&"onScroll"===o&&Oi("scroll",e):null!=d&&E(e,o,d,c))}switch(n){case"input":X(e),ie(e,i,!1);break;case"textarea":X(e),ue(e);break;case"option":null!=i.value&&e.setAttribute("value",""+K(i.value));break;case"select":e.multiple=!!i.multiple,null!=(o=i.value)?se(e,!!i.multiple,o,!1):null!=i.defaultValue&&se(e,!!i.multiple,i.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Mi)}Bi(n,i)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Ys(e,t,e.memoizedProps,i);else{if("string"!=typeof i&&null===t.stateNode)throw Error(s(166));n=ja(_a.current),ja(xa.current),za(t)?(i=t.stateNode,n=t.memoizedProps,i[qi]=t,i.nodeValue!==n&&(t.flags|=4)):((i=(9===n.nodeType?n:n.ownerDocument).createTextNode(i))[qi]=t,t.stateNode=i)}return null;case 13:return or(Da),i=t.memoizedState,0!=(64&t.flags)?(t.lanes=n,t):(i=null!==i,n=!1,null===e?void 0!==t.memoizedProps.fallback&&za(t):n=null!==e.memoizedState,i&&!n&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Da.current)?0===Do&&(Do=3):(0!==Do&&3!==Do||(Do=4),null===jo||0==(134217727&Mo)&&0==(134217727&Fo)||hl(jo,No))),(i||n)&&(t.flags|=4),null);case 4:return Na(),Vs(t),null===e&&ji(t.stateNode.containerInfo),null;case 10:return ea(t),null;case 17:return hr(t.type)&&mr(),null;case 19:if(or(Da),null===(i=t.memoizedState))return null;if(o=0!=(64&t.flags),null===(c=i.rendering))if(o)to(i,!1);else{if(0!==Do||null!==e&&0!=(64&e.flags))for(e=t.child;null!==e;){if(null!==(c=La(e))){for(t.flags|=64,to(i,!1),null!==(o=c.updateQueue)&&(t.updateQueue=o,t.flags|=4),null===i.lastEffect&&(t.firstEffect=null),t.lastEffect=i.lastEffect,i=n,n=t.child;null!==n;)e=i,(o=n).flags&=2,o.nextEffect=null,o.firstEffect=null,o.lastEffect=null,null===(c=o.alternate)?(o.childLanes=0,o.lanes=e,o.child=null,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=c.childLanes,o.lanes=c.lanes,o.child=c.child,o.memoizedProps=c.memoizedProps,o.memoizedState=c.memoizedState,o.updateQueue=c.updateQueue,o.type=c.type,e=c.dependencies,o.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return lr(Da,1&Da.current|2),t.child}e=e.sibling}null!==i.tail&&Br()>Wo&&(t.flags|=64,o=!0,to(i,!1),t.lanes=33554432)}else{if(!o)if(null!==(e=La(c))){if(t.flags|=64,o=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),to(i,!0),null===i.tail&&"hidden"===i.tailMode&&!c.alternate&&!Fa)return null!==(t=t.lastEffect=i.lastEffect)&&(t.nextEffect=null),null}else 2*Br()-i.renderingStartTime>Wo&&1073741824!==n&&(t.flags|=64,o=!0,to(i,!1),t.lanes=33554432);i.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=i.last)?n.sibling=c:t.child=c,i.last=c)}return null!==i.tail?(n=i.tail,i.rendering=n,i.tail=n.sibling,i.lastEffect=t.lastEffect,i.renderingStartTime=Br(),n.sibling=null,t=Da.current,lr(Da,o?1&t|2:1&t),n):null;case 23:case 24:return bl(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==i.mode&&(t.flags|=4),null}throw Error(s(156,t.tag))}function io(e){switch(e.tag){case 1:hr(e.type)&&mr();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Na(),or(dr),or(ur),$a(),0!=(64&(t=e.flags)))throw Error(s(285));return e.flags=-4097&t|64,e;case 5:return Pa(e),null;case 13:return or(Da),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return or(Da),null;case 4:return Na(),null;case 10:return ea(e),null;case 23:case 24:return bl(),null;default:return null}}function ro(e,t){try{var n="",i=t;do{n+=$(i),i=i.return}while(i);var r=n}catch(e){r="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:r}}function ao(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}Us=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Vs=function(){},$s=function(e,t,n,i){var a=e.memoizedProps;if(a!==i){e=t.stateNode,ja(xa.current);var s,o=null;switch(n){case"input":a=J(e,a),i=J(e,i),o=[];break;case"option":a=ae(e,a),i=ae(e,i),o=[];break;case"select":a=r({},a,{value:void 0}),i=r({},i,{value:void 0}),o=[];break;case"textarea":a=oe(e,a),i=oe(e,i),o=[];break;default:"function"!=typeof a.onClick&&"function"==typeof i.onClick&&(e.onclick=Mi)}for(d in we(n,i),n=null,a)if(!i.hasOwnProperty(d)&&a.hasOwnProperty(d)&&null!=a[d])if("style"===d){var c=a[d];for(s in c)c.hasOwnProperty(s)&&(n||(n={}),n[s]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(l.hasOwnProperty(d)?o||(o=[]):(o=o||[]).push(d,null));for(d in i){var u=i[d];if(c=null!=a?a[d]:void 0,i.hasOwnProperty(d)&&u!==c&&(null!=u||null!=c))if("style"===d)if(c){for(s in c)!c.hasOwnProperty(s)||u&&u.hasOwnProperty(s)||(n||(n={}),n[s]="");for(s in u)u.hasOwnProperty(s)&&c[s]!==u[s]&&(n||(n={}),n[s]=u[s])}else n||(o||(o=[]),o.push(d,n)),n=u;else"dangerouslySetInnerHTML"===d?(u=u?u.__html:void 0,c=c?c.__html:void 0,null!=u&&c!==u&&(o=o||[]).push(d,u)):"children"===d?"string"!=typeof u&&"number"!=typeof u||(o=o||[]).push(d,""+u):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(l.hasOwnProperty(d)?(null!=u&&"onScroll"===d&&Oi("scroll",e),o||c===u||(o=[])):"object"==typeof u&&null!==u&&u.$$typeof===L?u.toString():(o=o||[]).push(d,u))}n&&(o=o||[]).push("style",n);var d=o;(t.updateQueue=d)&&(t.flags|=4)}},Ys=function(e,t,n,i){n!==i&&(t.flags|=4)};var so="function"==typeof WeakMap?WeakMap:Map;function oo(e,t,n){(n=oa(-1,n)).tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){$o||($o=!0,Yo=i),ao(e,t)},n}function lo(e,t,n){(n=oa(-1,n)).tag=3;var i=e.type.getDerivedStateFromError;if("function"==typeof i){var r=t.value;n.payload=function(){return ao(e,t),i(r)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){"function"!=typeof i&&(null===Ko?Ko=new Set([this]):Ko.add(this),ao(e,t));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:""})}),n}var co="function"==typeof WeakSet?WeakSet:Set;function uo(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){Rl(e,t)}else t.current=null}function po(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,i=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Kr(t.type,n),i),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Ui(t.stateNode.containerInfo));case 5:case 6:case 4:case 17:return}throw Error(s(163))}function fo(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var i=e.create;e.destroy=i()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var r=e;i=r.next,0!=(4&(r=r.tag))&&0!=(1&r)&&(Pl(n,e),Al(n,e)),e=i}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(i=n.elementType===n.type?t.memoizedProps:Kr(n.type,t.memoizedProps),e.componentDidUpdate(i,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&da(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:e=n.child.stateNode;break;case 1:e=n.child.stateNode}da(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&Bi(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Tt(n)))));case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(s(163))}function ho(e,t){for(var n=e;;){if(5===n.tag){var i=n.stateNode;if(t)"function"==typeof(i=i.style).setProperty?i.setProperty("display","none","important"):i.display="none";else{i=n.stateNode;var r=n.memoizedProps.style;r=null!=r&&r.hasOwnProperty("display")?r.display:null,i.style.display=ke("display",r)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function mo(e,t){if(kr&&"function"==typeof kr.onCommitFiberUnmount)try{kr.onCommitFiberUnmount(Er,t)}catch(e){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var i=n,r=i.destroy;if(i=i.tag,void 0!==r)if(0!=(4&i))Pl(t,n);else{i=t;try{r()}catch(e){Rl(i,e)}}n=n.next}while(n!==e)}break;case 1:if(uo(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(e){Rl(t,e)}break;case 5:uo(t);break;case 4:ko(e,t)}}function go(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function vo(e){return 5===e.tag||3===e.tag||4===e.tag}function yo(e){e:{for(var t=e.return;null!==t;){if(vo(t))break e;t=t.return}throw Error(s(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var i=!1;break;case 3:case 4:t=t.containerInfo,i=!0;break;default:throw Error(s(161))}16&n.flags&&(ye(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||vo(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}i?bo(e,n,t):Eo(e,n,t)}function bo(e,t,n){var i=e.tag,r=5===i||6===i;if(r)e=r?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Mi));else if(4!==i&&null!==(e=e.child))for(bo(e,t,n),e=e.sibling;null!==e;)bo(e,t,n),e=e.sibling}function Eo(e,t,n){var i=e.tag,r=5===i||6===i;if(r)e=r?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==i&&null!==(e=e.child))for(Eo(e,t,n),e=e.sibling;null!==e;)Eo(e,t,n),e=e.sibling}function ko(e,t){for(var n,i,r=t,a=!1;;){if(!a){a=r.return;e:for(;;){if(null===a)throw Error(s(160));switch(n=a.stateNode,a.tag){case 5:i=!1;break e;case 3:case 4:n=n.containerInfo,i=!0;break e}a=a.return}a=!0}if(5===r.tag||6===r.tag){e:for(var o=e,l=r,c=l;;)if(mo(o,c),null!==c.child&&4!==c.tag)c.child.return=c,c=c.child;else{if(c===l)break e;for(;null===c.sibling;){if(null===c.return||c.return===l)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}i?(o=n,l=r.stateNode,8===o.nodeType?o.parentNode.removeChild(l):o.removeChild(l)):n.removeChild(r.stateNode)}else if(4===r.tag){if(null!==r.child){n=r.stateNode.containerInfo,i=!0,r.child.return=r,r=r.child;continue}}else if(mo(e,r),null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;4===(r=r.return).tag&&(a=!1)}r.sibling.return=r.return,r=r.sibling}}function To(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var i=n=n.next;do{3==(3&i.tag)&&(e=i.destroy,i.destroy=void 0,void 0!==e&&e()),i=i.next}while(i!==n)}return;case 1:return;case 5:if(null!=(n=t.stateNode)){i=t.memoizedProps;var r=null!==e?e.memoizedProps:i;e=t.type;var a=t.updateQueue;if(t.updateQueue=null,null!==a){for(n[Xi]=i,"input"===e&&"radio"===i.type&&null!=i.name&&te(n,i),Se(e,r),t=Se(e,i),r=0;r<a.length;r+=2){var o=a[r],l=a[r+1];"style"===o?Te(n,l):"dangerouslySetInnerHTML"===o?ve(n,l):"children"===o?ye(n,l):E(n,o,l,t)}switch(e){case"input":ne(n,i);break;case"textarea":ce(n,i);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!i.multiple,null!=(a=i.value)?se(n,!!i.multiple,a,!1):e!==!!i.multiple&&(null!=i.defaultValue?se(n,!!i.multiple,i.defaultValue,!0):se(n,!!i.multiple,i.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(s(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,Tt(n.containerInfo)));case 12:return;case 13:return null!==t.memoizedState&&(Go=Br(),ho(t.child,!0)),void Co(t);case 19:return void Co(t);case 17:return;case 23:case 24:return void ho(t,null!==t.memoizedState)}throw Error(s(163))}function Co(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new co),t.forEach((function(t){var i=Fl.bind(null,e,t);n.has(t)||(n.add(t),t.then(i,i))}))}}function wo(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&null!==(t=t.memoizedState)&&null===t.dehydrated}var So=Math.ceil,xo=k.ReactCurrentDispatcher,Oo=k.ReactCurrentOwner,_o=0,jo=null,Io=null,No=0,Ao=0,Po=sr(0),Do=0,Lo=null,Ro=0,Mo=0,Fo=0,Ho=0,Bo=null,Go=0,Wo=1/0;function zo(){Wo=Br()+500}var Uo,Vo=null,$o=!1,Yo=null,Ko=null,qo=!1,Xo=null,Qo=90,Zo=[],Jo=[],el=null,tl=0,nl=null,il=-1,rl=0,al=0,sl=null,ol=!1;function ll(){return 0!=(48&_o)?Br():-1!==il?il:il=Br()}function cl(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Gr()?1:2;if(0===rl&&(rl=Ro),0!==Yr.transition){0!==al&&(al=null!==Bo?Bo.pendingLanes:0),e=rl;var t=4186112&~al;return 0==(t&=-t)&&0==(t=(e=4186112&~e)&-e)&&(t=8192),t}return e=Gr(),e=Bt(0!=(4&_o)&&98===e?12:e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),rl)}function ul(e,t,n){if(50<tl)throw tl=0,nl=null,Error(s(185));if(null===(e=dl(e,t)))return null;zt(e,t,n),e===jo&&(Fo|=t,4===Do&&hl(e,No));var i=Gr();1===t?0!=(8&_o)&&0==(48&_o)?ml(e):(pl(e,n),0===_o&&(zo(),Vr())):(0==(4&_o)||98!==i&&99!==i||(null===el?el=new Set([e]):el.add(e)),pl(e,n)),Bo=e}function dl(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function pl(e,t){for(var n=e.callbackNode,i=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes;0<o;){var l=31-Ut(o),c=1<<l,u=a[l];if(-1===u){if(0==(c&i)||0!=(c&r)){u=t,Mt(c);var d=Rt;a[l]=10<=d?u+250:6<=d?u+5e3:-1}}else u<=t&&(e.expiredLanes|=c);o&=~c}if(i=Ft(e,e===jo?No:0),t=Rt,0===i)null!==n&&(n!==Dr&&wr(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==Dr&&wr(n)}15===t?(n=ml.bind(null,e),null===Rr?(Rr=[n],Mr=Cr(jr,$r)):Rr.push(n),n=Dr):n=14===t?Ur(99,ml.bind(null,e)):Ur(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(s(358,e))}}(t),fl.bind(null,e)),e.callbackPriority=t,e.callbackNode=n}}function fl(e){if(il=-1,al=rl=0,0!=(48&_o))throw Error(s(327));var t=e.callbackNode;if(Nl()&&e.callbackNode!==t)return null;var n=Ft(e,e===jo?No:0);if(0===n)return null;var i=n,r=_o;_o|=16;var a=Tl();for(jo===e&&No===i||(zo(),El(e,i));;)try{Sl();break}catch(t){kl(e,t)}if(Jr(),xo.current=a,_o=r,null!==Io?i=0:(jo=null,No=0,i=Do),0!=(Ro&Fo))El(e,0);else if(0!==i){if(2===i&&(_o|=64,e.hydrate&&(e.hydrate=!1,Ui(e.containerInfo)),0!==(n=Ht(e))&&(i=Cl(e,n))),1===i)throw t=Lo,El(e,0),hl(e,n),pl(e,Br()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,i){case 0:case 1:throw Error(s(345));case 2:_l(e);break;case 3:if(hl(e,n),(62914560&n)===n&&10<(i=Go+500-Br())){if(0!==Ft(e,0))break;if(((r=e.suspendedLanes)&n)!==n){ll(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=Wi(_l.bind(null,e),i);break}_l(e);break;case 4:if(hl(e,n),(4186112&n)===n)break;for(i=e.eventTimes,r=-1;0<n;){var o=31-Ut(n);a=1<<o,(o=i[o])>r&&(r=o),n&=~a}if(n=r,10<(n=(120>(n=Br()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*So(n/1960))-n)){e.timeoutHandle=Wi(_l.bind(null,e),n);break}_l(e);break;case 5:_l(e);break;default:throw Error(s(329))}}return pl(e,Br()),e.callbackNode===t?fl.bind(null,e):null}function hl(e,t){for(t&=~Ho,t&=~Fo,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ut(t),i=1<<n;e[n]=-1,t&=~i}}function ml(e){if(0!=(48&_o))throw Error(s(327));if(Nl(),e===jo&&0!=(e.expiredLanes&No)){var t=No,n=Cl(e,t);0!=(Ro&Fo)&&(n=Cl(e,t=Ft(e,t)))}else n=Cl(e,t=Ft(e,0));if(0!==e.tag&&2===n&&(_o|=64,e.hydrate&&(e.hydrate=!1,Ui(e.containerInfo)),0!==(t=Ht(e))&&(n=Cl(e,t))),1===n)throw n=Lo,El(e,0),hl(e,t),pl(e,Br()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,_l(e),pl(e,Br()),null}function gl(e,t){var n=_o;_o|=1;try{return e(t)}finally{0===(_o=n)&&(zo(),Vr())}}function vl(e,t){var n=_o;_o&=-2,_o|=8;try{return e(t)}finally{0===(_o=n)&&(zo(),Vr())}}function yl(e,t){lr(Po,Ao),Ao|=t,Ro|=t}function bl(){Ao=Po.current,or(Po)}function El(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,zi(n)),null!==Io)for(n=Io.return;null!==n;){var i=n;switch(i.tag){case 1:null!=(i=i.type.childContextTypes)&&mr();break;case 3:Na(),or(dr),or(ur),$a();break;case 5:Pa(i);break;case 4:Na();break;case 13:case 19:or(Da);break;case 10:ea(i);break;case 23:case 24:bl()}n=n.return}jo=e,Io=Wl(e.current,null),No=Ao=Ro=t,Do=0,Lo=null,Ho=Fo=Mo=0}function kl(e,t){for(;;){var n=Io;try{if(Jr(),Ya.current=_s,Ja){for(var i=Xa.memoizedState;null!==i;){var r=i.queue;null!==r&&(r.pending=null),i=i.next}Ja=!1}if(qa=0,Za=Qa=Xa=null,es=!1,Oo.current=null,null===n||null===n.return){Do=1,Lo=t,Io=null;break}e:{var a=e,s=n.return,o=n,l=t;if(t=No,o.flags|=2048,o.firstEffect=o.lastEffect=null,null!==l&&"object"==typeof l&&"function"==typeof l.then){var c=l;if(0==(2&o.mode)){var u=o.alternate;u?(o.updateQueue=u.updateQueue,o.memoizedState=u.memoizedState,o.lanes=u.lanes):(o.updateQueue=null,o.memoizedState=null)}var d=0!=(1&Da.current),p=s;do{var f;if(f=13===p.tag){var h=p.memoizedState;if(null!==h)f=null!==h.dehydrated;else{var m=p.memoizedProps;f=void 0!==m.fallback&&(!0!==m.unstable_avoidThisFallback||!d)}}if(f){var g=p.updateQueue;if(null===g){var v=new Set;v.add(c),p.updateQueue=v}else g.add(c);if(0==(2&p.mode)){if(p.flags|=64,o.flags|=16384,o.flags&=-2981,1===o.tag)if(null===o.alternate)o.tag=17;else{var y=oa(-1,1);y.tag=2,la(o,y)}o.lanes|=1;break e}l=void 0,o=t;var b=a.pingCache;if(null===b?(b=a.pingCache=new so,l=new Set,b.set(c,l)):void 0===(l=b.get(c))&&(l=new Set,b.set(c,l)),!l.has(o)){l.add(o);var E=Ml.bind(null,a,c,o);c.then(E,E)}p.flags|=4096,p.lanes=t;break e}p=p.return}while(null!==p);l=Error((Y(o.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Do&&(Do=2),l=ro(l,o),p=s;do{switch(p.tag){case 3:a=l,p.flags|=4096,t&=-t,p.lanes|=t,ca(p,oo(p,a,t));break e;case 1:a=l;var k=p.type,T=p.stateNode;if(0==(64&p.flags)&&("function"==typeof k.getDerivedStateFromError||null!==T&&"function"==typeof T.componentDidCatch&&(null===Ko||!Ko.has(T)))){p.flags|=4096,t&=-t,p.lanes|=t,ca(p,lo(p,a,t));break e}}p=p.return}while(null!==p)}Ol(n)}catch(e){t=e,Io===n&&null!==n&&(Io=n=n.return);continue}break}}function Tl(){var e=xo.current;return xo.current=_s,null===e?_s:e}function Cl(e,t){var n=_o;_o|=16;var i=Tl();for(jo===e&&No===t||El(e,t);;)try{wl();break}catch(t){kl(e,t)}if(Jr(),_o=n,xo.current=i,null!==Io)throw Error(s(261));return jo=null,No=0,Do}function wl(){for(;null!==Io;)xl(Io)}function Sl(){for(;null!==Io&&!Sr();)xl(Io)}function xl(e){var t=Uo(e.alternate,e,Ao);e.memoizedProps=e.pendingProps,null===t?Ol(e):Io=t,Oo.current=null}function Ol(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(n=no(n,t,Ao)))return void(Io=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!=(1073741824&Ao)||0==(4&n.mode)){for(var i=0,r=n.child;null!==r;)i|=r.lanes|r.childLanes,r=r.sibling;n.childLanes=i}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(n=io(t)))return n.flags&=2047,void(Io=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Io=t);Io=t=e}while(null!==t);0===Do&&(Do=5)}function _l(e){var t=Gr();return zr(99,jl.bind(null,e,t)),null}function jl(e,t){do{Nl()}while(null!==Xo);if(0!=(48&_o))throw Error(s(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(s(177));e.callbackNode=null;var i=n.lanes|n.childLanes,r=i,a=e.pendingLanes&~r;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=r,e.mutableReadLanes&=r,e.entangledLanes&=r,r=e.entanglements;for(var o=e.eventTimes,l=e.expirationTimes;0<a;){var c=31-Ut(a),u=1<<c;r[c]=0,o[c]=-1,l[c]=-1,a&=~u}if(null!==el&&0==(24&i)&&el.has(e)&&el.delete(e),e===jo&&(Io=jo=null,No=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,i=n.firstEffect):i=n:i=n.firstEffect,null!==i){if(r=_o,_o|=32,Oo.current=null,Fi=qt,hi(o=fi())){if("selectionStart"in o)l={start:o.selectionStart,end:o.selectionEnd};else e:if(l=(l=o.ownerDocument)&&l.defaultView||window,(u=l.getSelection&&l.getSelection())&&0!==u.rangeCount){l=u.anchorNode,a=u.anchorOffset,c=u.focusNode,u=u.focusOffset;try{l.nodeType,c.nodeType}catch(e){l=null;break e}var d=0,p=-1,f=-1,h=0,m=0,g=o,v=null;t:for(;;){for(var y;g!==l||0!==a&&3!==g.nodeType||(p=d+a),g!==c||0!==u&&3!==g.nodeType||(f=d+u),3===g.nodeType&&(d+=g.nodeValue.length),null!==(y=g.firstChild);)v=g,g=y;for(;;){if(g===o)break t;if(v===l&&++h===a&&(p=d),v===c&&++m===u&&(f=d),null!==(y=g.nextSibling))break;v=(g=v).parentNode}g=y}l=-1===p||-1===f?null:{start:p,end:f}}else l=null;l=l||{start:0,end:0}}else l=null;Hi={focusedElem:o,selectionRange:l},qt=!1,sl=null,ol=!1,Vo=i;do{try{Il()}catch(e){if(null===Vo)throw Error(s(330));Rl(Vo,e),Vo=Vo.nextEffect}}while(null!==Vo);sl=null,Vo=i;do{try{for(o=e;null!==Vo;){var b=Vo.flags;if(16&b&&ye(Vo.stateNode,""),128&b){var E=Vo.alternate;if(null!==E){var k=E.ref;null!==k&&("function"==typeof k?k(null):k.current=null)}}switch(1038&b){case 2:yo(Vo),Vo.flags&=-3;break;case 6:yo(Vo),Vo.flags&=-3,To(Vo.alternate,Vo);break;case 1024:Vo.flags&=-1025;break;case 1028:Vo.flags&=-1025,To(Vo.alternate,Vo);break;case 4:To(Vo.alternate,Vo);break;case 8:ko(o,l=Vo);var T=l.alternate;go(l),null!==T&&go(T)}Vo=Vo.nextEffect}}catch(e){if(null===Vo)throw Error(s(330));Rl(Vo,e),Vo=Vo.nextEffect}}while(null!==Vo);if(k=Hi,E=fi(),b=k.focusedElem,o=k.selectionRange,E!==b&&b&&b.ownerDocument&&pi(b.ownerDocument.documentElement,b)){null!==o&&hi(b)&&(E=o.start,void 0===(k=o.end)&&(k=E),"selectionStart"in b?(b.selectionStart=E,b.selectionEnd=Math.min(k,b.value.length)):(k=(E=b.ownerDocument||document)&&E.defaultView||window).getSelection&&(k=k.getSelection(),l=b.textContent.length,T=Math.min(o.start,l),o=void 0===o.end?T:Math.min(o.end,l),!k.extend&&T>o&&(l=o,o=T,T=l),l=di(b,T),a=di(b,o),l&&a&&(1!==k.rangeCount||k.anchorNode!==l.node||k.anchorOffset!==l.offset||k.focusNode!==a.node||k.focusOffset!==a.offset)&&((E=E.createRange()).setStart(l.node,l.offset),k.removeAllRanges(),T>o?(k.addRange(E),k.extend(a.node,a.offset)):(E.setEnd(a.node,a.offset),k.addRange(E))))),E=[];for(k=b;k=k.parentNode;)1===k.nodeType&&E.push({element:k,left:k.scrollLeft,top:k.scrollTop});for("function"==typeof b.focus&&b.focus(),b=0;b<E.length;b++)(k=E[b]).element.scrollLeft=k.left,k.element.scrollTop=k.top}qt=!!Fi,Hi=Fi=null,e.current=n,Vo=i;do{try{for(b=e;null!==Vo;){var C=Vo.flags;if(36&C&&fo(b,Vo.alternate,Vo),128&C){E=void 0;var w=Vo.ref;if(null!==w){var S=Vo.stateNode;switch(Vo.tag){case 5:E=S;break;default:E=S}"function"==typeof w?w(E):w.current=E}}Vo=Vo.nextEffect}}catch(e){if(null===Vo)throw Error(s(330));Rl(Vo,e),Vo=Vo.nextEffect}}while(null!==Vo);Vo=null,Lr(),_o=r}else e.current=n;if(qo)qo=!1,Xo=e,Qo=t;else for(Vo=i;null!==Vo;)t=Vo.nextEffect,Vo.nextEffect=null,8&Vo.flags&&((C=Vo).sibling=null,C.stateNode=null),Vo=t;if(0===(i=e.pendingLanes)&&(Ko=null),1===i?e===nl?tl++:(tl=0,nl=e):tl=0,n=n.stateNode,kr&&"function"==typeof kr.onCommitFiberRoot)try{kr.onCommitFiberRoot(Er,n,void 0,64==(64&n.current.flags))}catch(e){}if(pl(e,Br()),$o)throw $o=!1,e=Yo,Yo=null,e;return 0!=(8&_o)||Vr(),null}function Il(){for(;null!==Vo;){var e=Vo.alternate;ol||null===sl||(0!=(8&Vo.flags)?et(Vo,sl)&&(ol=!0):13===Vo.tag&&wo(e,Vo)&&et(Vo,sl)&&(ol=!0));var t=Vo.flags;0!=(256&t)&&po(e,Vo),0==(512&t)||qo||(qo=!0,Ur(97,(function(){return Nl(),null}))),Vo=Vo.nextEffect}}function Nl(){if(90!==Qo){var e=97<Qo?97:Qo;return Qo=90,zr(e,Dl)}return!1}function Al(e,t){Zo.push(t,e),qo||(qo=!0,Ur(97,(function(){return Nl(),null})))}function Pl(e,t){Jo.push(t,e),qo||(qo=!0,Ur(97,(function(){return Nl(),null})))}function Dl(){if(null===Xo)return!1;var e=Xo;if(Xo=null,0!=(48&_o))throw Error(s(331));var t=_o;_o|=32;var n=Jo;Jo=[];for(var i=0;i<n.length;i+=2){var r=n[i],a=n[i+1],o=r.destroy;if(r.destroy=void 0,"function"==typeof o)try{o()}catch(e){if(null===a)throw Error(s(330));Rl(a,e)}}for(n=Zo,Zo=[],i=0;i<n.length;i+=2){r=n[i],a=n[i+1];try{var l=r.create;r.destroy=l()}catch(e){if(null===a)throw Error(s(330));Rl(a,e)}}for(l=e.current.firstEffect;null!==l;)e=l.nextEffect,l.nextEffect=null,8&l.flags&&(l.sibling=null,l.stateNode=null),l=e;return _o=t,Vr(),!0}function Ll(e,t,n){la(e,t=oo(e,t=ro(n,t),1)),t=ll(),null!==(e=dl(e,1))&&(zt(e,1,t),pl(e,t))}function Rl(e,t){if(3===e.tag)Ll(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){Ll(n,e,t);break}if(1===n.tag){var i=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof i.componentDidCatch&&(null===Ko||!Ko.has(i))){var r=lo(n,e=ro(t,e),1);if(la(n,r),r=ll(),null!==(n=dl(n,1)))zt(n,1,r),pl(n,r);else if("function"==typeof i.componentDidCatch&&(null===Ko||!Ko.has(i)))try{i.componentDidCatch(t,e)}catch(e){}break}}n=n.return}}function Ml(e,t,n){var i=e.pingCache;null!==i&&i.delete(t),t=ll(),e.pingedLanes|=e.suspendedLanes&n,jo===e&&(No&n)===n&&(4===Do||3===Do&&(62914560&No)===No&&500>Br()-Go?El(e,0):Ho|=n),pl(e,t)}function Fl(e,t){var n=e.stateNode;null!==n&&n.delete(t),0==(t=0)&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===Gr()?1:2:(0===rl&&(rl=Ro),0===(t=Gt(62914560&~rl))&&(t=4194304))),n=ll(),null!==(e=dl(e,t))&&(zt(e,t,n),pl(e,n))}function Hl(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Bl(e,t,n,i){return new Hl(e,t,n,i)}function Gl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Wl(e,t){var n=e.alternate;return null===n?((n=Bl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function zl(e,t,n,i,r,a){var o=2;if(i=e,"function"==typeof e)Gl(e)&&(o=1);else if("string"==typeof e)o=5;else e:switch(e){case w:return Ul(n.children,r,a,t);case R:o=8,r|=16;break;case S:o=8,r|=1;break;case x:return(e=Bl(12,n,t,8|r)).elementType=x,e.type=x,e.lanes=a,e;case I:return(e=Bl(13,n,t,r)).type=I,e.elementType=I,e.lanes=a,e;case N:return(e=Bl(19,n,t,r)).elementType=N,e.lanes=a,e;case M:return Vl(n,r,a,t);case F:return(e=Bl(24,n,t,r)).elementType=F,e.lanes=a,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case O:o=10;break e;case _:o=9;break e;case j:o=11;break e;case A:o=14;break e;case P:o=16,i=null;break e;case D:o=22;break e}throw Error(s(130,null==e?e:typeof e,""))}return(t=Bl(o,n,t,r)).elementType=e,t.type=i,t.lanes=a,t}function Ul(e,t,n,i){return(e=Bl(7,e,i,t)).lanes=n,e}function Vl(e,t,n,i){return(e=Bl(23,e,i,t)).elementType=M,e.lanes=n,e}function $l(e,t,n){return(e=Bl(6,e,null,t)).lanes=n,e}function Yl(e,t,n){return(t=Bl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Kl(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Wt(0),this.expirationTimes=Wt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Wt(0),this.mutableSourceEagerHydrationData=null}function ql(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:C,key:null==i?null:""+i,children:e,containerInfo:t,implementation:n}}function Xl(e,t,n,i){var r=t.current,a=ll(),o=cl(r);e:if(n){t:{if(Xe(n=n._reactInternals)!==n||1!==n.tag)throw Error(s(170));var l=n;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(hr(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(s(171))}if(1===n.tag){var c=n.type;if(hr(c)){n=vr(n,c,l);break e}}n=l}else n=cr;return null===t.context?t.context=n:t.pendingContext=n,(t=oa(a,o)).payload={element:e},null!==(i=void 0===i?null:i)&&(t.callback=i),la(r,t),ul(r,o,a),o}function Ql(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Zl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Jl(e,t){Zl(e,t),(e=e.alternate)&&Zl(e,t)}function ec(e,t,n){var i=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Kl(e,t,null!=n&&!0===n.hydrate),t=Bl(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,aa(t),e[Qi]=n.current,ji(8===e.nodeType?e.parentNode:e),i)for(e=0;e<i.length;e++){var r=(t=i[e])._getVersion;r=r(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,r]:n.mutableSourceEagerHydrationData.push(t,r)}this._internalRoot=n}function tc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function nc(e,t,n,i,r){var a=n._reactRootContainer;if(a){var s=a._internalRoot;if("function"==typeof r){var o=r;r=function(){var e=Ql(s);o.call(e)}}Xl(t,s,e,r)}else{if(a=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new ec(e,0,t?{hydrate:!0}:void 0)}(n,i),s=a._internalRoot,"function"==typeof r){var l=r;r=function(){var e=Ql(s);l.call(e)}}vl((function(){Xl(t,s,e,r)}))}return Ql(s)}function ic(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!tc(t))throw Error(s(200));return ql(e,t,null,n)}Uo=function(e,t,n){var i=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||dr.current)Ps=!0;else{if(0==(n&i)){switch(Ps=!1,t.tag){case 3:zs(t),Ua();break;case 5:Aa(t);break;case 1:hr(t.type)&&yr(t);break;case 4:Ia(t,t.stateNode.containerInfo);break;case 10:i=t.memoizedProps.value;var r=t.type._context;lr(qr,r._currentValue),r._currentValue=i;break;case 13:if(null!==t.memoizedState)return 0!=(n&t.child.childLanes)?qs(e,t,n):(lr(Da,1&Da.current),null!==(t=eo(e,t,n))?t.sibling:null);lr(Da,1&Da.current);break;case 19:if(i=0!=(n&t.childLanes),0!=(64&e.flags)){if(i)return Js(e,t,n);t.flags|=64}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null,r.lastEffect=null),lr(Da,Da.current),i)break;return null;case 23:case 24:return t.lanes=0,Fs(e,t,n)}return eo(e,t,n)}Ps=0!=(16384&e.flags)}else Ps=!1;switch(t.lanes=0,t.tag){case 2:if(i=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,r=fr(t,ur.current),na(t,n),r=is(null,t,i,e,r,n),t.flags|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,hr(i)){var a=!0;yr(t)}else a=!1;t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,aa(t);var o=i.getDerivedStateFromProps;"function"==typeof o&&fa(t,i,o,e),r.updater=ha,t.stateNode=r,r._reactInternals=t,ya(t,i,e,n),t=Ws(null,t,i,!0,a,n)}else t.tag=0,Ds(null,t,r,n),t=t.child;return t;case 16:r=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"==typeof e)return Gl(e)?1:0;if(null!=e){if((e=e.$$typeof)===j)return 11;if(e===A)return 14}return 2}(r),e=Kr(r,e),a){case 0:t=Bs(null,t,r,e,n);break e;case 1:t=Gs(null,t,r,e,n);break e;case 11:t=Ls(null,t,r,e,n);break e;case 14:t=Rs(null,t,r,Kr(r.type,e),i,n);break e}throw Error(s(306,r,""))}return t;case 0:return i=t.type,r=t.pendingProps,Bs(e,t,i,r=t.elementType===i?r:Kr(i,r),n);case 1:return i=t.type,r=t.pendingProps,Gs(e,t,i,r=t.elementType===i?r:Kr(i,r),n);case 3:if(zs(t),i=t.updateQueue,null===e||null===i)throw Error(s(282));if(i=t.pendingProps,r=null!==(r=t.memoizedState)?r.element:null,sa(e,t),ua(t,i,null,n),(i=t.memoizedState.element)===r)Ua(),t=eo(e,t,n);else{if((a=(r=t.stateNode).hydrate)&&(Ma=Vi(t.stateNode.containerInfo.firstChild),Ra=t,a=Fa=!0),a){if(null!=(e=r.mutableSourceEagerHydrationData))for(r=0;r<e.length;r+=2)(a=e[r])._workInProgressVersionPrimary=e[r+1],Va.push(a);for(n=wa(t,null,i,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else Ds(e,t,i,n),Ua();t=t.child}return t;case 5:return Aa(t),null===e&&Ga(t),i=t.type,r=t.pendingProps,a=null!==e?e.memoizedProps:null,o=r.children,Gi(i,r)?o=null:null!==a&&Gi(i,a)&&(t.flags|=16),Hs(e,t),Ds(e,t,o,n),t.child;case 6:return null===e&&Ga(t),null;case 13:return qs(e,t,n);case 4:return Ia(t,t.stateNode.containerInfo),i=t.pendingProps,null===e?t.child=Ca(t,null,i,n):Ds(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,Ls(e,t,i,r=t.elementType===i?r:Kr(i,r),n);case 7:return Ds(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ds(e,t,t.pendingProps.children,n),t.child;case 10:e:{i=t.type._context,r=t.pendingProps,o=t.memoizedProps,a=r.value;var l=t.type._context;if(lr(qr,l._currentValue),l._currentValue=a,null!==o)if(l=o.value,0==(a=oi(l,a)?0:0|("function"==typeof i._calculateChangedBits?i._calculateChangedBits(l,a):1073741823))){if(o.children===r.children&&!dr.current){t=eo(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var c=l.dependencies;if(null!==c){o=l.child;for(var u=c.firstContext;null!==u;){if(u.context===i&&0!=(u.observedBits&a)){1===l.tag&&((u=oa(-1,n&-n)).tag=2,la(l,u)),l.lanes|=n,null!==(u=l.alternate)&&(u.lanes|=n),ta(l.return,n),c.lanes|=n;break}u=u.next}}else o=10===l.tag&&l.type===t.type?null:l.child;if(null!==o)o.return=l;else for(o=l;null!==o;){if(o===t){o=null;break}if(null!==(l=o.sibling)){l.return=o.return,o=l;break}o=o.return}l=o}Ds(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=(a=t.pendingProps).children,na(t,n),i=i(r=ia(r,a.unstable_observedBits)),t.flags|=1,Ds(e,t,i,n),t.child;case 14:return a=Kr(r=t.type,t.pendingProps),Rs(e,t,r,a=Kr(r.type,a),i,n);case 15:return Ms(e,t,t.type,t.pendingProps,i,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:Kr(i,r),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,hr(i)?(e=!0,yr(t)):e=!1,na(t,n),ga(t,i,r),ya(t,i,r,n),Ws(null,t,i,!0,e,n);case 19:return Js(e,t,n);case 23:case 24:return Fs(e,t,n)}throw Error(s(156,t.tag))},ec.prototype.render=function(e){Xl(e,this._internalRoot,null,null)},ec.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Xl(null,e,null,(function(){t[Qi]=null}))},tt=function(e){13===e.tag&&(ul(e,4,ll()),Jl(e,4))},nt=function(e){13===e.tag&&(ul(e,67108864,ll()),Jl(e,67108864))},it=function(e){if(13===e.tag){var t=ll(),n=cl(e);ul(e,n,t),Jl(e,n)}},rt=function(e,t){return t()},Oe=function(e,t,n){switch(t){case"input":if(ne(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var r=nr(i);if(!r)throw Error(s(90));Q(i),ne(i,r)}}}break;case"textarea":ce(e,n);break;case"select":null!=(t=n.value)&&se(e,!!n.multiple,t,!1)}},Pe=gl,De=function(e,t,n,i,r){var a=_o;_o|=4;try{return zr(98,e.bind(null,t,n,i,r))}finally{0===(_o=a)&&(zo(),Vr())}},Le=function(){0==(49&_o)&&(function(){if(null!==el){var e=el;el=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,pl(e,Br())}))}Vr()}(),Nl())},Re=function(e,t){var n=_o;_o|=2;try{return e(t)}finally{0===(_o=n)&&(zo(),Vr())}};var rc={Events:[er,tr,nr,Ne,Ae,Nl,{current:!1}]},ac={findFiberByHostInstance:Ji,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},sc={bundleType:ac.bundleType,version:ac.version,rendererPackageName:ac.rendererPackageName,rendererConfig:ac.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:k.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Je(e))?null:e.stateNode},findFiberByHostInstance:ac.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var oc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!oc.isDisabled&&oc.supportsFiber)try{Er=oc.inject(sc),kr=oc}catch(ge){}}n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=rc,n.createPortal=ic,n.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(s(188));throw Error(s(268,Object.keys(e)))}return null===(e=Je(t))?null:e.stateNode},n.flushSync=function(e,t){var n=_o;if(0!=(48&n))return e(t);_o|=1;try{if(e)return zr(99,e.bind(null,t))}finally{_o=n,Vr()}},n.hydrate=function(e,t,n){if(!tc(t))throw Error(s(200));return nc(null,e,t,!0,n)},n.render=function(e,t,n){if(!tc(t))throw Error(s(200));return nc(null,e,t,!1,n)},n.unmountComponentAtNode=function(e){if(!tc(e))throw Error(s(40));return!!e._reactRootContainer&&(vl((function(){nc(null,null,e,!1,(function(){e._reactRootContainer=null,e[Qi]=null}))})),!0)},n.unstable_batchedUpdates=gl,n.unstable_createPortal=function(e,t){return ic(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},n.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!tc(n))throw Error(s(200));if(null==e||void 0===e._reactInternals)throw Error(s(38));return nc(e,t,n,!1,i)},n.version="17.0.2"},{"object-assign":70,react:107,scheduler:111}],75:[function(e,t,n){"use strict";(function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}})(),t.exports=e("./cjs/react-dom.production.min.js")},{"./cjs/react-dom.production.min.js":74}],76:[function(e,t,n){"use strict";var i="function"==typeof Symbol&&Symbol.for,r=i?Symbol.for("react.element"):60103,a=i?Symbol.for("react.portal"):60106,s=i?Symbol.for("react.fragment"):60107,o=i?Symbol.for("react.strict_mode"):60108,l=i?Symbol.for("react.profiler"):60114,c=i?Symbol.for("react.provider"):60109,u=i?Symbol.for("react.context"):60110,d=i?Symbol.for("react.async_mode"):60111,p=i?Symbol.for("react.concurrent_mode"):60111,f=i?Symbol.for("react.forward_ref"):60112,h=i?Symbol.for("react.suspense"):60113,m=i?Symbol.for("react.suspense_list"):60120,g=i?Symbol.for("react.memo"):60115,v=i?Symbol.for("react.lazy"):60116,y=i?Symbol.for("react.block"):60121,b=i?Symbol.for("react.fundamental"):60117,E=i?Symbol.for("react.responder"):60118,k=i?Symbol.for("react.scope"):60119;function T(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case d:case p:case s:case l:case o:case h:return e;default:switch(e=e&&e.$$typeof){case u:case f:case v:case g:case c:return e;default:return t}}case a:return t}}}function C(e){return T(e)===p}n.AsyncMode=d,n.ConcurrentMode=p,n.ContextConsumer=u,n.ContextProvider=c,n.Element=r,n.ForwardRef=f,n.Fragment=s,n.Lazy=v,n.Memo=g,n.Portal=a,n.Profiler=l,n.StrictMode=o,n.Suspense=h,n.isAsyncMode=function(e){return C(e)||T(e)===d},n.isConcurrentMode=C,n.isContextConsumer=function(e){return T(e)===u},n.isContextProvider=function(e){return T(e)===c},n.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},n.isForwardRef=function(e){return T(e)===f},n.isFragment=function(e){return T(e)===s},n.isLazy=function(e){return T(e)===v},n.isMemo=function(e){return T(e)===g},n.isPortal=function(e){return T(e)===a},n.isProfiler=function(e){return T(e)===l},n.isStrictMode=function(e){return T(e)===o},n.isSuspense=function(e){return T(e)===h},n.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===s||e===p||e===l||e===o||e===h||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===g||e.$$typeof===c||e.$$typeof===u||e.$$typeof===f||e.$$typeof===b||e.$$typeof===E||e.$$typeof===k||e.$$typeof===y)},n.typeOf=T},{}],77:[function(e,t,n){"use strict";t.exports=e("./cjs/react-is.production.min.js")},{"./cjs/react-is.production.min.js":76}],78:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=n.ReactReduxContext=void 0;var r=i(e("react")).default.createContext(null);n.ReactReduxContext=r;var a=r;n.default=a},{"@babel/runtime/helpers/interopRequireDefault":62,react:107}],79:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default,r=e("@babel/runtime/helpers/interopRequireWildcard").default;n.__esModule=!0,n.default=void 0;var a=r(e("react")),s=(i(e("prop-types")),e("./Context")),o=e("../utils/Subscription"),l=e("../utils/useIsomorphicLayoutEffect");var c=function(e){var t=e.store,n=e.context,i=e.children,r=(0,a.useMemo)((function(){var e=(0,o.createSubscription)(t);return{store:t,subscription:e}}),[t]),c=(0,a.useMemo)((function(){return t.getState()}),[t]);(0,l.useIsomorphicLayoutEffect)((function(){var e=r.subscription;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),c!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[r,c]);var u=n||s.ReactReduxContext;return a.default.createElement(u.Provider,{value:r},i)};n.default=c},{"../utils/Subscription":94,"../utils/useIsomorphicLayoutEffect":100,"./Context":78,"@babel/runtime/helpers/interopRequireDefault":62,"@babel/runtime/helpers/interopRequireWildcard":63,"prop-types":72,react:107}],80:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default,r=e("@babel/runtime/helpers/interopRequireWildcard").default;n.__esModule=!0,n.default=function(e,t){void 0===t&&(t={});var n=t,i=n.getDisplayName,r=void 0===i?function(e){return"ConnectAdvanced("+e+")"}:i,d=n.methodName,T=void 0===d?"connectAdvanced":d,C=n.renderCountProp,w=void 0===C?void 0:C,S=n.shouldHandleStateChanges,x=void 0===S||S,O=n.storeKey,_=void 0===O?"store":O,j=(n.withRef,n.forwardRef),I=void 0!==j&&j,N=n.context,A=void 0===N?p.ReactReduxContext:N,P=(0,s.default)(n,f),D=A;return function(t){var n=t.displayName||t.name||"Component",i=r(n),d=(0,a.default)({},P,{getDisplayName:r,methodName:T,renderCountProp:w,shouldHandleStateChanges:x,storeKey:_,displayName:i,wrappedComponentName:n,WrappedComponent:t}),p=P.pure,f=p?l.useMemo:function(e){return e()};function C(n){var i=(0,l.useMemo)((function(){var e=n.reactReduxForwardedRef,t=(0,s.default)(n,h);return[n.context,e,t]}),[n]),r=i[0],o=i[1],p=i[2],T=(0,l.useMemo)((function(){return r&&r.Consumer&&(0,c.isContextConsumer)(l.default.createElement(r.Consumer,null))?r:D}),[r,D]),C=(0,l.useContext)(T),w=Boolean(n.store)&&Boolean(n.store.getState)&&Boolean(n.store.dispatch);Boolean(C)&&Boolean(C.store);var S=w?n.store:C.store,O=(0,l.useMemo)((function(){return function(t){return e(t.dispatch,d)}(S)}),[S]),_=(0,l.useMemo)((function(){if(!x)return g;var e=(0,u.createSubscription)(S,w?null:C.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[S,w,C]),j=_[0],I=_[1],N=(0,l.useMemo)((function(){return w?C:(0,a.default)({},C,{subscription:j})}),[w,C,j]),A=(0,l.useReducer)(v,m,k),P=A[0][0],L=A[1];if(P&&P.error)throw P.error;var R=(0,l.useRef)(),M=(0,l.useRef)(p),F=(0,l.useRef)(),H=(0,l.useRef)(!1),B=f((function(){return F.current&&p===M.current?F.current:O(S.getState(),p)}),[S,P,p]);y(b,[M,R,H,p,B,F,I]),y(E,[x,S,j,O,M,R,H,F,I,L],[S,j,O]);var G=(0,l.useMemo)((function(){return l.default.createElement(t,(0,a.default)({},B,{ref:o}))}),[o,t,B]);return(0,l.useMemo)((function(){return x?l.default.createElement(T.Provider,{value:N},G):G}),[T,G,N])}var S=p?l.default.memo(C):C;if(S.WrappedComponent=t,S.displayName=C.displayName=i,I){var O=l.default.forwardRef((function(e,t){return l.default.createElement(S,(0,a.default)({},e,{reactReduxForwardedRef:t}))}));return O.displayName=i,O.WrappedComponent=t,(0,o.default)(O,t)}return(0,o.default)(S,t)}};var a=i(e("@babel/runtime/helpers/extends")),s=i(e("@babel/runtime/helpers/objectWithoutPropertiesLoose")),o=i(e("hoist-non-react-statics")),l=r(e("react")),c=e("react-is"),u=e("../utils/Subscription"),d=e("../utils/useIsomorphicLayoutEffect"),p=e("./Context"),f=["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"],h=["reactReduxForwardedRef"],m=[],g=[null,null];function v(e,t){var n=e[1];return[t.payload,n+1]}function y(e,t,n){(0,d.useIsomorphicLayoutEffect)((function(){return e.apply(void 0,t)}),n)}function b(e,t,n,i,r,a,s){e.current=i,t.current=r,n.current=!1,a.current&&(a.current=null,s())}function E(e,t,n,i,r,a,s,o,l,c){if(e){var u=!1,d=null,p=function(){if(!u){var e,n,p=t.getState();try{e=i(p,r.current)}catch(e){n=e,d=e}n||(d=null),e===a.current?s.current||l():(a.current=e,o.current=e,s.current=!0,c({type:"STORE_UPDATED",payload:{error:n}}))}};return n.onStateChange=p,n.trySubscribe(),p(),function(){if(u=!0,n.tryUnsubscribe(),n.onStateChange=null,d)throw d}}}var k=function(){return[null,0]}},{"../utils/Subscription":94,"../utils/useIsomorphicLayoutEffect":100,"./Context":78,"@babel/runtime/helpers/extends":61,"@babel/runtime/helpers/interopRequireDefault":62,"@babel/runtime/helpers/interopRequireWildcard":63,"@babel/runtime/helpers/objectWithoutPropertiesLoose":65,"hoist-non-react-statics":69,react:107,"react-is":104}],81:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.createConnect=m,n.default=void 0;var r=i(e("@babel/runtime/helpers/extends")),a=i(e("@babel/runtime/helpers/objectWithoutPropertiesLoose")),s=i(e("../components/connectAdvanced")),o=i(e("../utils/shallowEqual")),l=i(e("./mapDispatchToProps")),c=i(e("./mapStateToProps")),u=i(e("./mergeProps")),d=i(e("./selectorFactory")),p=["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"];function f(e,t,n){for(var i=t.length-1;i>=0;i--){var r=t[i](e);if(r)return r}return function(t,i){throw new Error("Invalid value of type "+typeof e+" for "+n+" argument when connecting component "+i.wrappedComponentName+".")}}function h(e,t){return e===t}function m(e){var t=void 0===e?{}:e,n=t.connectHOC,i=void 0===n?s.default:n,m=t.mapStateToPropsFactories,g=void 0===m?c.default:m,v=t.mapDispatchToPropsFactories,y=void 0===v?l.default:v,b=t.mergePropsFactories,E=void 0===b?u.default:b,k=t.selectorFactory,T=void 0===k?d.default:k;return function(e,t,n,s){void 0===s&&(s={});var l=s,c=l.pure,u=void 0===c||c,d=l.areStatesEqual,m=void 0===d?h:d,v=l.areOwnPropsEqual,b=void 0===v?o.default:v,k=l.areStatePropsEqual,C=void 0===k?o.default:k,w=l.areMergedPropsEqual,S=void 0===w?o.default:w,x=(0,a.default)(l,p),O=f(e,g,"mapStateToProps"),_=f(t,y,"mapDispatchToProps"),j=f(n,E,"mergeProps");return i(T,(0,r.default)({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:O,initMapDispatchToProps:_,initMergeProps:j,pure:u,areStatesEqual:m,areOwnPropsEqual:b,areStatePropsEqual:C,areMergedPropsEqual:S},x))}}var g=m();n.default=g},{"../components/connectAdvanced":80,"../utils/shallowEqual":99,"./mapDispatchToProps":82,"./mapStateToProps":83,"./mergeProps":84,"./selectorFactory":85,"@babel/runtime/helpers/extends":61,"@babel/runtime/helpers/interopRequireDefault":62,"@babel/runtime/helpers/objectWithoutPropertiesLoose":65}],82:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=void 0,n.whenMapDispatchToPropsIsFunction=s,n.whenMapDispatchToPropsIsMissing=o,n.whenMapDispatchToPropsIsObject=l;var r=i(e("../utils/bindActionCreators")),a=e("./wrapMapToProps");function s(e){return"function"==typeof e?(0,a.wrapMapToPropsFunc)(e,"mapDispatchToProps"):void 0}function o(e){return e?void 0:(0,a.wrapMapToPropsConstant)((function(e){return{dispatch:e}}))}function l(e){return e&&"object"==typeof e?(0,a.wrapMapToPropsConstant)((function(t){return(0,r.default)(e,t)})):void 0}var c=[s,o,l];n.default=c},{"../utils/bindActionCreators":96,"./wrapMapToProps":87,"@babel/runtime/helpers/interopRequireDefault":62}],83:[function(e,t,n){"use strict";n.__esModule=!0,n.default=void 0,n.whenMapStateToPropsIsFunction=r,n.whenMapStateToPropsIsMissing=a;var i=e("./wrapMapToProps");function r(e){return"function"==typeof e?(0,i.wrapMapToPropsFunc)(e,"mapStateToProps"):void 0}function a(e){return e?void 0:(0,i.wrapMapToPropsConstant)((function(){return{}}))}var s=[r,a];n.default=s},{"./wrapMapToProps":87}],84:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=void 0,n.defaultMergeProps=a,n.whenMergePropsIsFunction=o,n.whenMergePropsIsOmitted=l,n.wrapMergePropsFunc=s;var r=i(e("@babel/runtime/helpers/extends"));i(e("../utils/verifyPlainObject"));function a(e,t,n){return(0,r.default)({},n,e,t)}function s(e){return function(t,n){n.displayName;var i,r=n.pure,a=n.areMergedPropsEqual,s=!1;return function(t,n,o){var l=e(t,n,o);return s?r&&a(l,i)||(i=l):(s=!0,i=l),i}}}function o(e){return"function"==typeof e?s(e):void 0}function l(e){return e?void 0:function(){return a}}var c=[o,l];n.default=c},{"../utils/verifyPlainObject":101,"@babel/runtime/helpers/extends":61,"@babel/runtime/helpers/interopRequireDefault":62}],85:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=function(e,t){var n=t.initMapStateToProps,i=t.initMapDispatchToProps,l=t.initMergeProps,c=(0,r.default)(t,a),u=n(e,c),d=i(e,c),p=l(e,c);return(c.pure?o:s)(u,d,p,e,c)},n.impureFinalPropsSelectorFactory=s,n.pureFinalPropsSelectorFactory=o;var r=i(e("@babel/runtime/helpers/objectWithoutPropertiesLoose")),a=(i(e("./verifySubselectors")),["initMapStateToProps","initMapDispatchToProps","initMergeProps"]);function s(e,t,n,i){return function(r,a){return n(e(r,a),t(i,a),a)}}function o(e,t,n,i,r){var a,s,o,l,c,u=r.areStatesEqual,d=r.areOwnPropsEqual,p=r.areStatePropsEqual,f=!1;function h(r,f){var h,m,g=!d(f,s),v=!u(r,a,f,s);return a=r,s=f,g&&v?(o=e(a,s),t.dependsOnOwnProps&&(l=t(i,s)),c=n(o,l,s)):g?(e.dependsOnOwnProps&&(o=e(a,s)),t.dependsOnOwnProps&&(l=t(i,s)),c=n(o,l,s)):v?(h=e(a,s),m=!p(h,o),o=h,m&&(c=n(o,l,s)),c):c}return function(r,u){return f?h(r,u):(o=e(a=r,s=u),l=t(i,s),c=n(o,l,s),f=!0,c)}}},{"./verifySubselectors":86,"@babel/runtime/helpers/interopRequireDefault":62,"@babel/runtime/helpers/objectWithoutPropertiesLoose":65}],86:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=function(e,t,n,i){a(e,"mapStateToProps",i),a(t,"mapDispatchToProps",i),a(n,"mergeProps",i)};var r=i(e("../utils/warning"));function a(e,t,n){if(!e)throw new Error("Unexpected value for "+t+" in "+n+".");"mapStateToProps"!==t&&"mapDispatchToProps"!==t||Object.prototype.hasOwnProperty.call(e,"dependsOnOwnProps")||(0,r.default)("The selector for "+t+" of "+n+" did not specify a value for dependsOnOwnProps.")}},{"../utils/warning":102,"@babel/runtime/helpers/interopRequireDefault":62}],87:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.getDependsOnOwnProps=r,n.wrapMapToPropsConstant=function(e){return function(t,n){var i=e(t,n);function r(){return i}return r.dependsOnOwnProps=!1,r}},n.wrapMapToPropsFunc=function(e,t){return function(t,n){n.displayName;var i=function(e,t){return i.dependsOnOwnProps?i.mapToProps(e,t):i.mapToProps(e)};return i.dependsOnOwnProps=!0,i.mapToProps=function(t,n){i.mapToProps=e,i.dependsOnOwnProps=r(e);var a=i(t,n);return"function"==typeof a&&(i.mapToProps=a,i.dependsOnOwnProps=r(a),a=i(t,n)),a},i}};i(e("../utils/verifyPlainObject"));function r(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}},{"../utils/verifyPlainObject":101,"@babel/runtime/helpers/interopRequireDefault":62}],88:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0;var r=i(e("./components/Provider"));n.Provider=r.default;var a=i(e("./components/connectAdvanced"));n.connectAdvanced=a.default;var s=e("./components/Context");n.ReactReduxContext=s.ReactReduxContext;var o=i(e("./connect/connect"));n.connect=o.default;var l=e("./hooks/useDispatch");n.useDispatch=l.useDispatch,n.createDispatchHook=l.createDispatchHook;var c=e("./hooks/useSelector");n.useSelector=c.useSelector,n.createSelectorHook=c.createSelectorHook;var u=e("./hooks/useStore");n.useStore=u.useStore,n.createStoreHook=u.createStoreHook;var d=i(e("./utils/shallowEqual"));n.shallowEqual=d.default},{"./components/Context":78,"./components/Provider":79,"./components/connectAdvanced":80,"./connect/connect":81,"./hooks/useDispatch":89,"./hooks/useSelector":91,"./hooks/useStore":92,"./utils/shallowEqual":99,"@babel/runtime/helpers/interopRequireDefault":62}],89:[function(e,t,n){"use strict";n.__esModule=!0,n.createDispatchHook=a,n.useDispatch=void 0;var i=e("../components/Context"),r=e("./useStore");function a(e){void 0===e&&(e=i.ReactReduxContext);var t=e===i.ReactReduxContext?r.useStore:(0,r.createStoreHook)(e);return function(){return t().dispatch}}var s=a();n.useDispatch=s},{"../components/Context":78,"./useStore":92}],90:[function(e,t,n){"use strict";n.__esModule=!0,n.useReduxContext=function(){return(0,i.useContext)(r.ReactReduxContext)};var i=e("react"),r=e("../components/Context")},{"../components/Context":78,react:107}],91:[function(e,t,n){"use strict";n.__esModule=!0,n.createSelectorHook=c,n.useSelector=void 0;var i=e("react"),r=e("./useReduxContext"),a=e("../utils/Subscription"),s=e("../utils/useIsomorphicLayoutEffect"),o=e("../components/Context"),l=function(e,t){return e===t};function c(e){void 0===e&&(e=o.ReactReduxContext);var t=e===o.ReactReduxContext?r.useReduxContext:function(){return(0,i.useContext)(e)};return function(e,n){void 0===n&&(n=l);var r=t(),o=function(e,t,n,r){var o,l=(0,i.useReducer)((function(e){return e+1}),0)[1],c=(0,i.useMemo)((function(){return(0,a.createSubscription)(n,r)}),[n,r]),u=(0,i.useRef)(),d=(0,i.useRef)(),p=(0,i.useRef)(),f=(0,i.useRef)(),h=n.getState();try{if(e!==d.current||h!==p.current||u.current){var m=e(h);o=void 0!==f.current&&t(m,f.current)?f.current:m}else o=f.current}catch(e){throw u.current&&(e.message+="\nThe error may be correlated with this previous error:\n"+u.current.stack+"\n\n"),e}return(0,s.useIsomorphicLayoutEffect)((function(){d.current=e,p.current=h,f.current=o,u.current=void 0})),(0,s.useIsomorphicLayoutEffect)((function(){function e(){try{var e=n.getState();if(e===p.current)return;var i=d.current(e);if(t(i,f.current))return;f.current=i,p.current=e}catch(e){u.current=e}l()}return c.onStateChange=e,c.trySubscribe(),e(),function(){return c.tryUnsubscribe()}}),[n,c]),o}(e,n,r.store,r.subscription);return(0,i.useDebugValue)(o),o}}var u=c();n.useSelector=u},{"../components/Context":78,"../utils/Subscription":94,"../utils/useIsomorphicLayoutEffect":100,"./useReduxContext":90,react:107}],92:[function(e,t,n){"use strict";n.__esModule=!0,n.createStoreHook=s,n.useStore=void 0;var i=e("react"),r=e("../components/Context"),a=e("./useReduxContext");function s(e){void 0===e&&(e=r.ReactReduxContext);var t=e===r.ReactReduxContext?a.useReduxContext:function(){return(0,i.useContext)(e)};return function(){return t().store}}var o=s();n.useStore=o},{"../components/Context":78,"./useReduxContext":90,react:107}],93:[function(e,t,n){"use strict";n.__esModule=!0;var i={batch:!0},r=e("./exports");Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(i,e)||e in n&&n[e]===r[e]||(n[e]=r[e]))}));var a=e("./utils/reactBatchedUpdates");n.batch=a.unstable_batchedUpdates,(0,e("./utils/batch").setBatch)(a.unstable_batchedUpdates)},{"./exports":88,"./utils/batch":95,"./utils/reactBatchedUpdates":98}],94:[function(e,t,n){"use strict";n.__esModule=!0,n.createSubscription=function(e,t){var n,a=r;function s(){l.onStateChange&&l.onStateChange()}function o(){n||(n=t?t.addNestedSub(s):e.subscribe(s),a=function(){var e=(0,i.getBatch)(),t=null,n=null;return{clear:function(){t=null,n=null},notify:function(){e((function(){for(var e=t;e;)e.callback(),e=e.next}))},get:function(){for(var e=[],n=t;n;)e.push(n),n=n.next;return e},subscribe:function(e){var i=!0,r=n={callback:e,next:null,prev:n};return r.prev?r.prev.next=r:t=r,function(){i&&null!==t&&(i=!1,r.next?r.next.prev=r.prev:n=r.prev,r.prev?r.prev.next=r.next:t=r.next)}}}}())}var l={addNestedSub:function(e){return o(),a.subscribe(e)},notifyNestedSubs:function(){a.notify()},handleChangeWrapper:s,isSubscribed:function(){return Boolean(n)},trySubscribe:o,tryUnsubscribe:function(){n&&(n(),n=void 0,a.clear(),a=r)},getListeners:function(){return a}};return l};var i=e("./batch");var r={notify:function(){},get:function(){return[]}}},{"./batch":95}],95:[function(e,t,n){"use strict";n.__esModule=!0,n.setBatch=n.getBatch=void 0;var i=function(e){e()};n.setBatch=function(e){return i=e};n.getBatch=function(){return i}},{}],96:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e,t){var n={},i=function(i){var r=e[i];"function"==typeof r&&(n[i]=function(){return t(r.apply(void 0,arguments))})};for(var r in e)i(r);return n}},{}],97:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e){if("object"!=typeof e||null===e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;for(var n=t;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return t===n}},{}],98:[function(e,t,n){"use strict";n.__esModule=!0,n.unstable_batchedUpdates=void 0;var i=e("react-dom");n.unstable_batchedUpdates=i.unstable_batchedUpdates},{"react-dom":75}],99:[function(e,t,n){"use strict";function i(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}n.__esModule=!0,n.default=function(e,t){if(i(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var a=0;a<n.length;a++)if(!Object.prototype.hasOwnProperty.call(t,n[a])||!i(e[n[a]],t[n[a]]))return!1;return!0}},{}],100:[function(e,t,n){"use strict";n.__esModule=!0,n.useIsomorphicLayoutEffect=void 0;var i=e("react"),r="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?i.useLayoutEffect:i.useEffect;n.useIsomorphicLayoutEffect=r},{react:107}],101:[function(e,t,n){"use strict";var i=e("@babel/runtime/helpers/interopRequireDefault").default;n.__esModule=!0,n.default=function(e,t,n){(0,r.default)(e)||(0,a.default)(n+"() in "+t+" must return a plain object. Instead received "+e+".")};var r=i(e("./isPlainObject")),a=i(e("./warning"))},{"./isPlainObject":97,"./warning":102,"@babel/runtime/helpers/interopRequireDefault":62}],102:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e);try{throw new Error(e)}catch(e){}}},{}],103:[function(e,t,n){"use strict";var i=60103,r=60106,a=60107,s=60108,o=60114,l=60109,c=60110,u=60112,d=60113,p=60120,f=60115,h=60116,m=60121,g=60122,v=60117,y=60129,b=60131;if("function"==typeof Symbol&&Symbol.for){var E=Symbol.for;i=E("react.element"),r=E("react.portal"),a=E("react.fragment"),s=E("react.strict_mode"),o=E("react.profiler"),l=E("react.provider"),c=E("react.context"),u=E("react.forward_ref"),d=E("react.suspense"),p=E("react.suspense_list"),f=E("react.memo"),h=E("react.lazy"),m=E("react.block"),g=E("react.server.block"),v=E("react.fundamental"),y=E("react.debug_trace_mode"),b=E("react.legacy_hidden")}function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case a:case o:case s:case d:case p:return e;default:switch(e=e&&e.$$typeof){case c:case u:case h:case f:case l:return e;default:return t}}case r:return t}}}var T=l,C=i,w=u,S=a,x=h,O=f,_=r,j=o,I=s,N=d;n.ContextConsumer=c,n.ContextProvider=T,n.Element=C,n.ForwardRef=w,n.Fragment=S,n.Lazy=x,n.Memo=O,n.Portal=_,n.Profiler=j,n.StrictMode=I,n.Suspense=N,n.isAsyncMode=function(){return!1},n.isConcurrentMode=function(){return!1},n.isContextConsumer=function(e){return k(e)===c},n.isContextProvider=function(e){return k(e)===l},n.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===i},n.isForwardRef=function(e){return k(e)===u},n.isFragment=function(e){return k(e)===a},n.isLazy=function(e){return k(e)===h},n.isMemo=function(e){return k(e)===f},n.isPortal=function(e){return k(e)===r},n.isProfiler=function(e){return k(e)===o},n.isStrictMode=function(e){return k(e)===s},n.isSuspense=function(e){return k(e)===d},n.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===o||e===y||e===s||e===d||e===p||e===b||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===f||e.$$typeof===l||e.$$typeof===c||e.$$typeof===u||e.$$typeof===v||e.$$typeof===m||e[0]===g)},n.typeOf=k},{}],104:[function(e,t,n){"use strict";t.exports=e("./cjs/react-is.production.min.js")},{"./cjs/react-is.production.min.js":103}],105:[function(e,t,n){"use strict";e("object-assign");var i=e("react"),r=60103;if(n.Fragment=60107,"function"==typeof Symbol&&Symbol.for){var a=Symbol.for;r=a("react.element"),n.Fragment=a("react.fragment")}var s=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o=Object.prototype.hasOwnProperty,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var i,a={},c=null,u=null;for(i in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)o.call(t,i)&&!l.hasOwnProperty(i)&&(a[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===a[i]&&(a[i]=t[i]);return{$$typeof:r,type:e,key:c,ref:u,props:a,_owner:s.current}}n.jsx=c,n.jsxs=c},{"object-assign":70,react:107}],106:[function(e,t,n){"use strict";var i=e("object-assign"),r=60103,a=60106;n.Fragment=60107,n.StrictMode=60108,n.Profiler=60114;var s=60109,o=60110,l=60112;n.Suspense=60113;var c=60115,u=60116;if("function"==typeof Symbol&&Symbol.for){var d=Symbol.for;r=d("react.element"),a=d("react.portal"),n.Fragment=d("react.fragment"),n.StrictMode=d("react.strict_mode"),n.Profiler=d("react.profiler"),s=d("react.provider"),o=d("react.context"),l=d("react.forward_ref"),n.Suspense=d("react.suspense"),c=d("react.memo"),u=d("react.lazy")}var p="function"==typeof Symbol&&Symbol.iterator;function f(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m={};function g(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}function v(){}function y(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(f(85));this.updater.enqueueSetState(this,e,t,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=g.prototype;var b=y.prototype=new v;b.constructor=y,i(b,g.prototype),b.isPureReactComponent=!0;var E={current:null},k=Object.prototype.hasOwnProperty,T={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,n){var i,a={},s=null,o=null;if(null!=t)for(i in void 0!==t.ref&&(o=t.ref),void 0!==t.key&&(s=""+t.key),t)k.call(t,i)&&!T.hasOwnProperty(i)&&(a[i]=t[i]);var l=arguments.length-2;if(1===l)a.children=n;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(i in l=e.defaultProps)void 0===a[i]&&(a[i]=l[i]);return{$$typeof:r,type:e,key:s,ref:o,props:a,_owner:E.current}}function w(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var S=/\/+/g;function x(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function O(e,t,n,i,s){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var l=!1;if(null===e)l=!0;else switch(o){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case r:case a:l=!0}}if(l)return s=s(l=e),e=""===i?"."+x(l,0):i,Array.isArray(s)?(n="",null!=e&&(n=e.replace(S,"$&/")+"/"),O(s,t,n,"",(function(e){return e}))):null!=s&&(w(s)&&(s=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(s,n+(!s.key||l&&l.key===s.key?"":(""+s.key).replace(S,"$&/")+"/")+e)),t.push(s)),1;if(l=0,i=""===i?".":i+":",Array.isArray(e))for(var c=0;c<e.length;c++){var u=i+x(o=e[c],c);l+=O(o,t,n,u,s)}else if("function"==typeof(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e)))for(e=u.call(e),c=0;!(o=e.next()).done;)l+=O(o=o.value,t,n,u=i+x(o,c++),s);else if("object"===o)throw t=""+e,Error(f(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return l}function _(e,t,n){if(null==e)return e;var i=[],r=0;return O(e,i,"","",(function(e){return t.call(n,e,r++)})),i}function j(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var I={current:null};function N(){var e=I.current;if(null===e)throw Error(f(321));return e}var A={ReactCurrentDispatcher:I,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:E,IsSomeRendererActing:{current:!1},assign:i};n.Children={map:_,forEach:function(e,t,n){_(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return _(e,(function(){t++})),t},toArray:function(e){return _(e,(function(e){return e}))||[]},only:function(e){if(!w(e))throw Error(f(143));return e}},n.Component=g,n.PureComponent=y,n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=A,n.cloneElement=function(e,t,n){if(null==e)throw Error(f(267,e));var a=i({},e.props),s=e.key,o=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(o=t.ref,l=E.current),void 0!==t.key&&(s=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(u in t)k.call(t,u)&&!T.hasOwnProperty(u)&&(a[u]=void 0===t[u]&&void 0!==c?c[u]:t[u])}var u=arguments.length-2;if(1===u)a.children=n;else if(1<u){c=Array(u);for(var d=0;d<u;d++)c[d]=arguments[d+2];a.children=c}return{$$typeof:r,type:e.type,key:s,ref:o,props:a,_owner:l}},n.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:o,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},n.createElement=C,n.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},n.createRef=function(){return{current:null}},n.forwardRef=function(e){return{$$typeof:l,render:e}},n.isValidElement=w,n.lazy=function(e){return{$$typeof:u,_payload:{_status:-1,_result:e},_init:j}},n.memo=function(e,t){return{$$typeof:c,type:e,compare:void 0===t?null:t}},n.useCallback=function(e,t){return N().useCallback(e,t)},n.useContext=function(e,t){return N().useContext(e,t)},n.useDebugValue=function(){},n.useEffect=function(e,t){return N().useEffect(e,t)},n.useImperativeHandle=function(e,t,n){return N().useImperativeHandle(e,t,n)},n.useLayoutEffect=function(e,t){return N().useLayoutEffect(e,t)},n.useMemo=function(e,t){return N().useMemo(e,t)},n.useReducer=function(e,t,n){return N().useReducer(e,t,n)},n.useRef=function(e){return N().useRef(e)},n.useState=function(e){return N().useState(e)},n.version="17.0.2"},{"object-assign":70}],107:[function(e,t,n){"use strict";t.exports=e("./cjs/react.production.min.js")},{"./cjs/react.production.min.js":106}],108:[function(e,t,n){"use strict";t.exports=e("./cjs/react-jsx-runtime.production.min.js")},{"./cjs/react-jsx-runtime.production.min.js":105}],109:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i=e("@babel/runtime/helpers/objectSpread2");var r,a=(r=i)&&"object"==typeof r&&"default"in r?r:{default:r};function s(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}var o="function"==typeof Symbol&&Symbol.observable||"@@observable",l=function(){return Math.random().toString(36).substring(7).split("").join(".")},c={INIT:"@@redux/INIT"+l(),REPLACE:"@@redux/REPLACE"+l(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+l()}};function u(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function d(e,t,n){var i;if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error(s(0));if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw new Error(s(1));return n(d)(e,t)}if("function"!=typeof e)throw new Error(s(2));var r=e,a=t,l=[],p=l,f=!1;function h(){p===l&&(p=l.slice())}function m(){if(f)throw new Error(s(3));return a}function g(e){if("function"!=typeof e)throw new Error(s(4));if(f)throw new Error(s(5));var t=!0;return h(),p.push(e),function(){if(t){if(f)throw new Error(s(6));t=!1,h();var n=p.indexOf(e);p.splice(n,1),l=null}}}function v(e){if(!u(e))throw new Error(s(7));if(void 0===e.type)throw new Error(s(8));if(f)throw new Error(s(9));try{f=!0,a=r(a,e)}finally{f=!1}for(var t=l=p,n=0;n<t.length;n++)(0,t[n])();return e}return v({type:c.INIT}),(i={dispatch:v,subscribe:g,getState:m,replaceReducer:function(e){if("function"!=typeof e)throw new Error(s(10));r=e,v({type:c.REPLACE})}})[o]=function(){var e,t=g;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new Error(s(11));function n(){e.next&&e.next(m())}return n(),{unsubscribe:t(n)}}})[o]=function(){return this},e},i}var p=d;function f(e,t){return function(){return t(e.apply(this,arguments))}}function h(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}n.__DO_NOT_USE__ActionTypes=c,n.applyMiddleware=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),i=function(){throw new Error(s(15))},r={getState:n.getState,dispatch:function(){return i.apply(void 0,arguments)}},o=t.map((function(e){return e(r)}));return i=h.apply(void 0,o)(n.dispatch),a.default(a.default({},n),{},{dispatch:i})}}},n.bindActionCreators=function(e,t){if("function"==typeof e)return f(e,t);if("object"!=typeof e||null===e)throw new Error(s(16));var n={};for(var i in e){var r=e[i];"function"==typeof r&&(n[i]=f(r,t))}return n},n.combineReducers=function(e){for(var t=Object.keys(e),n={},i=0;i<t.length;i++){var r=t[i];"function"==typeof e[r]&&(n[r]=e[r])}var a,o=Object.keys(n);try{!function(e){Object.keys(e).forEach((function(t){var n=e[t];if(void 0===n(void 0,{type:c.INIT}))throw new Error(s(12));if(void 0===n(void 0,{type:c.PROBE_UNKNOWN_ACTION()}))throw new Error(s(13))}))}(n)}catch(e){a=e}return function(e,t){if(void 0===e&&(e={}),a)throw a;for(var i=!1,r={},l=0;l<o.length;l++){var c=o[l],u=n[c],d=e[c],p=u(d,t);if(void 0===p)throw t&&t.type,new Error(s(14));r[c]=p,i=i||p!==d}return(i=i||o.length!==Object.keys(e).length)?r:e}},n.compose=h,n.createStore=d,n.legacy_createStore=p},{"@babel/runtime/helpers/objectSpread2":64}],110:[function(e,t,n){"use strict";var i,r,a,s;if("object"==typeof performance&&"function"==typeof performance.now){var o=performance;n.unstable_now=function(){return o.now()}}else{var l=Date,c=l.now();n.unstable_now=function(){return l.now()-c}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var u=null,d=null,p=function(){if(null!==u)try{var e=n.unstable_now();u(!0,e),u=null}catch(e){throw setTimeout(p,0),e}};i=function(e){null!==u?setTimeout(i,0,e):(u=e,setTimeout(p,0))},r=function(e,t){d=setTimeout(e,t)},a=function(){clearTimeout(d)},n.unstable_shouldYield=function(){return!1},s=n.unstable_forceFrameRate=function(){}}else{var f=window.setTimeout,h=window.clearTimeout;if("undefined"!=typeof console){var m=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var g=!1,v=null,y=-1,b=5,E=0;n.unstable_shouldYield=function(){return n.unstable_now()>=E},s=function(){},n.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):b=0<e?Math.floor(1e3/e):5};var k=new MessageChannel,T=k.port2;k.port1.onmessage=function(){if(null!==v){var e=n.unstable_now();E=e+b;try{v(!0,e)?T.postMessage(null):(g=!1,v=null)}catch(e){throw T.postMessage(null),e}}else g=!1},i=function(e){v=e,g||(g=!0,T.postMessage(null))},r=function(e,t){y=f((function(){e(n.unstable_now())}),t)},a=function(){h(y),y=-1}}function C(e,t){var n=e.length;e.push(t);e:for(;;){var i=n-1>>>1,r=e[i];if(!(void 0!==r&&0<x(r,t)))break e;e[i]=t,e[n]=r,n=i}}function w(e){return void 0===(e=e[0])?null:e}function S(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var i=0,r=e.length;i<r;){var a=2*(i+1)-1,s=e[a],o=a+1,l=e[o];if(void 0!==s&&0>x(s,n))void 0!==l&&0>x(l,s)?(e[i]=l,e[o]=n,i=o):(e[i]=s,e[a]=n,i=a);else{if(!(void 0!==l&&0>x(l,n)))break e;e[i]=l,e[o]=n,i=o}}}return t}return null}function x(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var O=[],_=[],j=1,I=null,N=3,A=!1,P=!1,D=!1;function L(e){for(var t=w(_);null!==t;){if(null===t.callback)S(_);else{if(!(t.startTime<=e))break;S(_),t.sortIndex=t.expirationTime,C(O,t)}t=w(_)}}function R(e){if(D=!1,L(e),!P)if(null!==w(O))P=!0,i(M);else{var t=w(_);null!==t&&r(R,t.startTime-e)}}function M(e,t){P=!1,D&&(D=!1,a()),A=!0;var i=N;try{for(L(t),I=w(O);null!==I&&(!(I.expirationTime>t)||e&&!n.unstable_shouldYield());){var s=I.callback;if("function"==typeof s){I.callback=null,N=I.priorityLevel;var o=s(I.expirationTime<=t);t=n.unstable_now(),"function"==typeof o?I.callback=o:I===w(O)&&S(O),L(t)}else S(O);I=w(O)}if(null!==I)var l=!0;else{var c=w(_);null!==c&&r(R,c.startTime-t),l=!1}return l}finally{I=null,N=i,A=!1}}var F=s;n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(e){e.callback=null},n.unstable_continueExecution=function(){P||A||(P=!0,i(M))},n.unstable_getCurrentPriorityLevel=function(){return N},n.unstable_getFirstCallbackNode=function(){return w(O)},n.unstable_next=function(e){switch(N){case 1:case 2:case 3:var t=3;break;default:t=N}var n=N;N=t;try{return e()}finally{N=n}},n.unstable_pauseExecution=function(){},n.unstable_requestPaint=F,n.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=N;N=e;try{return t()}finally{N=n}},n.unstable_scheduleCallback=function(e,t,s){var o=n.unstable_now();switch(s="object"==typeof s&&null!==s&&"number"==typeof(s=s.delay)&&0<s?o+s:o,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:j++,callback:t,priorityLevel:e,startTime:s,expirationTime:l=s+l,sortIndex:-1},s>o?(e.sortIndex=s,C(_,e),null===w(O)&&e===w(_)&&(D?a():D=!0,r(R,s-o))):(e.sortIndex=l,C(O,e),P||A||(P=!0,i(M))),e},n.unstable_wrapCallback=function(e){var t=N;return function(){var n=N;N=t;try{return e.apply(this,arguments)}finally{N=n}}}},{}],111:[function(e,t,n){"use strict";t.exports=e("./cjs/scheduler.production.min.js")},{"./cjs/scheduler.production.min.js":110}]},{},[10]);