sykpcomposer 1.20.120 → 1.20.121

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.
package/dist/index.umd.js CHANGED
@@ -63,48 +63,45 @@ Check the top-level render call using <`+Oe+">.")}return Be}}function Gt(we,Be){
63
63
  `)}}).get()}});var ks=/%20/g,Ro=/#.*$/,Ts=/([?&])_=[^&]*/,Wl=/^(.*?):[ \t]*([^\r\n]*)$/mg,bu=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,tf=/^(?:GET|HEAD)$/,la=/^\/\//,ca={},ua={},As="*/".concat("*"),Ui=b.createElement("a");Ui.href=jo.href;function pi(q){return function(Q,te){typeof Q!="string"&&(te=Q,Q="*");var le,ye=0,be=Q.toLowerCase().match(Z)||[];if(m(te))for(;le=be[ye++];)le[0]==="+"?(le=le.slice(1)||"*",(q[le]=q[le]||[]).unshift(te)):(q[le]=q[le]||[]).push(te)}}function Hi(q,Q,te,le){var ye={},be=q===ua;function Ne(tt){var Ye;return ye[tt]=!0,y.each(q[tt]||[],function(dt,It){var Bt=It(Q,te,le);if(typeof Bt=="string"&&!be&&!ye[Bt])return Q.dataTypes.unshift(Bt),Ne(Bt),!1;if(be)return!(Ye=Bt)}),Ye}return Ne(Q.dataTypes[0])||!ye["*"]&&Ne("*")}function Ti(q,Q){var te,le,ye=y.ajaxSettings.flatOptions||{};for(te in Q)Q[te]!==void 0&&((ye[te]?q:le||(le={}))[te]=Q[te]);return le&&y.extend(!0,q,le),q}function qi(q,Q,te){for(var le,ye,be,Ne,tt=q.contents,Ye=q.dataTypes;Ye[0]==="*";)Ye.shift(),le===void 0&&(le=q.mimeType||Q.getResponseHeader("Content-Type"));if(le){for(ye in tt)if(tt[ye]&&tt[ye].test(le)){Ye.unshift(ye);break}}if(Ye[0]in te)be=Ye[0];else{for(ye in te){if(!Ye[0]||q.converters[ye+" "+Ye[0]]){be=ye;break}Ne||(Ne=ye)}be=be||Ne}if(be)return be!==Ye[0]&&Ye.unshift(be),te[be]}function Ai(q,Q,te,le){var ye,be,Ne,tt,Ye,dt={},It=q.dataTypes.slice();if(It[1])for(Ne in q.converters)dt[Ne.toLowerCase()]=q.converters[Ne];for(be=It.shift();be;)if(q.responseFields[be]&&(te[q.responseFields[be]]=Q),!Ye&&le&&q.dataFilter&&(Q=q.dataFilter(Q,q.dataType)),Ye=be,be=It.shift(),be){if(be==="*")be=Ye;else if(Ye!=="*"&&Ye!==be){if(Ne=dt[Ye+" "+be]||dt["* "+be],!Ne){for(ye in dt)if(tt=ye.split(" "),tt[1]===be&&(Ne=dt[Ye+" "+tt[0]]||dt["* "+tt[0]],Ne)){Ne===!0?Ne=dt[ye]:dt[ye]!==!0&&(be=tt[0],It.unshift(tt[1]));break}}if(Ne!==!0)if(Ne&&q.throws)Q=Ne(Q);else try{Q=Ne(Q)}catch(Bt){return{state:"parsererror",error:Ne?Bt:"No conversion from "+Ye+" to "+be}}}}return{state:"success",data:Q}}y.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:jo.href,type:"GET",isLocal:bu.test(jo.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":As,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":y.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(q,Q){return Q?Ti(Ti(q,y.ajaxSettings),Q):Ti(y.ajaxSettings,q)},ajaxPrefilter:pi(ca),ajaxTransport:pi(ua),ajax:function(q,Q){typeof q=="object"&&(Q=q,q=void 0),Q=Q||{};var te,le,ye,be,Ne,tt,Ye,dt,It,Bt,xt=y.ajaxSetup({},Q),tn=xt.context||xt,In=xt.context&&(tn.nodeType||tn.jquery)?y(tn):y.event,tr=y.Deferred(),Ln=y.Callbacks("once memory"),eo=xt.statusCode||{},Ar={},ko={},br="canceled",Ke={readyState:0,getResponseHeader:function(_t){var Yt;if(Ye){if(!be)for(be={};Yt=Wl.exec(ye);)be[Yt[1].toLowerCase()+" "]=(be[Yt[1].toLowerCase()+" "]||[]).concat(Yt[2]);Yt=be[_t.toLowerCase()+" "]}return Yt==null?null:Yt.join(", ")},getAllResponseHeaders:function(){return Ye?ye:null},setRequestHeader:function(_t,Yt){return Ye==null&&(_t=ko[_t.toLowerCase()]=ko[_t.toLowerCase()]||_t,Ar[_t]=Yt),this},overrideMimeType:function(_t){return Ye==null&&(xt.mimeType=_t),this},statusCode:function(_t){var Yt;if(_t)if(Ye)Ke.always(_t[Ke.status]);else for(Yt in _t)eo[Yt]=[eo[Yt],_t[Yt]];return this},abort:function(_t){var Yt=_t||br;return te&&te.abort(Yt),wt(0,Yt),this}};if(tr.promise(Ke),xt.url=((q||xt.url||jo.href)+"").replace(la,jo.protocol+"//"),xt.type=Q.method||Q.type||xt.method||xt.type,xt.dataTypes=(xt.dataType||"*").toLowerCase().match(Z)||[""],xt.crossDomain==null){tt=b.createElement("a");try{tt.href=xt.url,tt.href=tt.href,xt.crossDomain=Ui.protocol+"//"+Ui.host!=tt.protocol+"//"+tt.host}catch{xt.crossDomain=!0}}if(xt.data&&xt.processData&&typeof xt.data!="string"&&(xt.data=y.param(xt.data,xt.traditional)),Hi(ca,xt,Q,Ke),Ye)return Ke;dt=y.event&&xt.global,dt&&y.active++===0&&y.event.trigger("ajaxStart"),xt.type=xt.type.toUpperCase(),xt.hasContent=!tf.test(xt.type),le=xt.url.replace(Ro,""),xt.hasContent?xt.data&&xt.processData&&(xt.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&(xt.data=xt.data.replace(ks,"+")):(Bt=xt.url.slice(le.length),xt.data&&(xt.processData||typeof xt.data=="string")&&(le+=(zi.test(le)?"&":"?")+xt.data,delete xt.data),xt.cache===!1&&(le=le.replace(Ts,"$1"),Bt=(zi.test(le)?"&":"?")+"_="+cr.guid+++Bt),xt.url=le+Bt),xt.ifModified&&(y.lastModified[le]&&Ke.setRequestHeader("If-Modified-Since",y.lastModified[le]),y.etag[le]&&Ke.setRequestHeader("If-None-Match",y.etag[le])),(xt.data&&xt.hasContent&&xt.contentType!==!1||Q.contentType)&&Ke.setRequestHeader("Content-Type",xt.contentType),Ke.setRequestHeader("Accept",xt.dataTypes[0]&&xt.accepts[xt.dataTypes[0]]?xt.accepts[xt.dataTypes[0]]+(xt.dataTypes[0]!=="*"?", "+As+"; q=0.01":""):xt.accepts["*"]);for(It in xt.headers)Ke.setRequestHeader(It,xt.headers[It]);if(xt.beforeSend&&(xt.beforeSend.call(tn,Ke,xt)===!1||Ye))return Ke.abort();if(br="abort",Ln.add(xt.complete),Ke.done(xt.success),Ke.fail(xt.error),te=Hi(ua,xt,Q,Ke),!te)wt(-1,"No Transport");else{if(Ke.readyState=1,dt&&In.trigger("ajaxSend",[Ke,xt]),Ye)return Ke;xt.async&&xt.timeout>0&&(Ne=t.setTimeout(function(){Ke.abort("timeout")},xt.timeout));try{Ye=!1,te.send(Ar,wt)}catch(_t){if(Ye)throw _t;wt(-1,_t)}}function wt(_t,Yt,jn,On){var vn,pn,ar,Sr,Fo,oo=Yt;Ye||(Ye=!0,Ne&&t.clearTimeout(Ne),te=void 0,ye=On||"",Ke.readyState=_t>0?4:0,vn=_t>=200&&_t<300||_t===304,jn&&(Sr=qi(xt,Ke,jn)),!vn&&y.inArray("script",xt.dataTypes)>-1&&y.inArray("json",xt.dataTypes)<0&&(xt.converters["text script"]=function(){}),Sr=Ai(xt,Sr,Ke,vn),vn?(xt.ifModified&&(Fo=Ke.getResponseHeader("Last-Modified"),Fo&&(y.lastModified[le]=Fo),Fo=Ke.getResponseHeader("etag"),Fo&&(y.etag[le]=Fo)),_t===204||xt.type==="HEAD"?oo="nocontent":_t===304?oo="notmodified":(oo=Sr.state,pn=Sr.data,ar=Sr.error,vn=!ar)):(ar=oo,(_t||!oo)&&(oo="error",_t<0&&(_t=0))),Ke.status=_t,Ke.statusText=(Yt||oo)+"",vn?tr.resolveWith(tn,[pn,oo,Ke]):tr.rejectWith(tn,[Ke,oo,ar]),Ke.statusCode(eo),eo=void 0,dt&&In.trigger(vn?"ajaxSuccess":"ajaxError",[Ke,xt,vn?pn:ar]),Ln.fireWith(tn,[Ke,oo]),dt&&(In.trigger("ajaxComplete",[Ke,xt]),--y.active||y.event.trigger("ajaxStop")))}return Ke},getJSON:function(q,Q,te){return y.get(q,Q,te,"json")},getScript:function(q,Q){return y.get(q,void 0,Q,"script")}}),y.each(["get","post"],function(q,Q){y[Q]=function(te,le,ye,be){return m(le)&&(be=be||ye,ye=le,le=void 0),y.ajax(y.extend({url:te,type:Q,dataType:be,data:le,success:ye},y.isPlainObject(te)&&te))}}),y.ajaxPrefilter(function(q){var Q;for(Q in q.headers)Q.toLowerCase()==="content-type"&&(q.contentType=q.headers[Q]||"")}),y._evalUrl=function(q,Q,te){return y.ajax({url:q,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(le){y.globalEval(le,Q,te)}})},y.fn.extend({wrapAll:function(q){var Q;return this[0]&&(m(q)&&(q=q.call(this[0])),Q=y(q,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&Q.insertBefore(this[0]),Q.map(function(){for(var te=this;te.firstElementChild;)te=te.firstElementChild;return te}).append(this)),this},wrapInner:function(q){return m(q)?this.each(function(Q){y(this).wrapInner(q.call(this,Q))}):this.each(function(){var Q=y(this),te=Q.contents();te.length?te.wrapAll(q):Q.append(q)})},wrap:function(q){var Q=m(q);return this.each(function(te){y(this).wrapAll(Q?q.call(this,te):q)})},unwrap:function(q){return this.parent(q).not("body").each(function(){y(this).replaceWith(this.childNodes)}),this}}),y.expr.pseudos.hidden=function(q){return!y.expr.pseudos.visible(q)},y.expr.pseudos.visible=function(q){return!!(q.offsetWidth||q.offsetHeight||q.getClientRects().length)},y.ajaxSettings.xhr=function(){try{return new t.XMLHttpRequest}catch{}};var Wi={0:200,1223:204},fo=y.ajaxSettings.xhr();h.cors=!!fo&&"withCredentials"in fo,h.ajax=fo=!!fo,y.ajaxTransport(function(q){var Q,te;if(h.cors||fo&&!q.crossDomain)return{send:function(le,ye){var be,Ne=q.xhr();if(Ne.open(q.type,q.url,q.async,q.username,q.password),q.xhrFields)for(be in q.xhrFields)Ne[be]=q.xhrFields[be];q.mimeType&&Ne.overrideMimeType&&Ne.overrideMimeType(q.mimeType),!q.crossDomain&&!le["X-Requested-With"]&&(le["X-Requested-With"]="XMLHttpRequest");for(be in le)Ne.setRequestHeader(be,le[be]);Q=function(tt){return function(){Q&&(Q=te=Ne.onload=Ne.onerror=Ne.onabort=Ne.ontimeout=Ne.onreadystatechange=null,tt==="abort"?Ne.abort():tt==="error"?typeof Ne.status!="number"?ye(0,"error"):ye(Ne.status,Ne.statusText):ye(Wi[Ne.status]||Ne.status,Ne.statusText,(Ne.responseType||"text")!=="text"||typeof Ne.responseText!="string"?{binary:Ne.response}:{text:Ne.responseText},Ne.getAllResponseHeaders()))}},Ne.onload=Q(),te=Ne.onerror=Ne.ontimeout=Q("error"),Ne.onabort!==void 0?Ne.onabort=te:Ne.onreadystatechange=function(){Ne.readyState===4&&t.setTimeout(function(){Q&&te()})},Q=Q("abort");try{Ne.send(q.hasContent&&q.data||null)}catch(tt){if(Q)throw tt}},abort:function(){Q&&Q()}}}),y.ajaxPrefilter(function(q){q.crossDomain&&(q.contents.script=!1)}),y.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(q){return y.globalEval(q),q}}}),y.ajaxPrefilter("script",function(q){q.cache===void 0&&(q.cache=!1),q.crossDomain&&(q.type="GET")}),y.ajaxTransport("script",function(q){if(q.crossDomain||q.scriptAttrs){var Q,te;return{send:function(le,ye){Q=y("<script>").attr(q.scriptAttrs||{}).prop({charset:q.scriptCharset,src:q.url}).on("load error",te=function(be){Q.remove(),te=null,be&&ye(be.type==="error"?404:200,be.type)}),b.head.appendChild(Q[0])},abort:function(){te&&te()}}}});var Xr=[],Do=/(=)\?(?=&|$)|\?\?/;y.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var q=Xr.pop()||y.expando+"_"+cr.guid++;return this[q]=!0,q}}),y.ajaxPrefilter("json jsonp",function(q,Q,te){var le,ye,be,Ne=q.jsonp!==!1&&(Do.test(q.url)?"url":typeof q.data=="string"&&(q.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&Do.test(q.data)&&"data");if(Ne||q.dataTypes[0]==="jsonp")return le=q.jsonpCallback=m(q.jsonpCallback)?q.jsonpCallback():q.jsonpCallback,Ne?q[Ne]=q[Ne].replace(Do,"$1"+le):q.jsonp!==!1&&(q.url+=(zi.test(q.url)?"&":"?")+q.jsonp+"="+le),q.converters["script json"]=function(){return be||y.error(le+" was not called"),be[0]},q.dataTypes[0]="json",ye=t[le],t[le]=function(){be=arguments},te.always(function(){ye===void 0?y(t).removeProp(le):t[le]=ye,q[le]&&(q.jsonpCallback=Q.jsonpCallback,Xr.push(le)),be&&m(ye)&&ye(be[0]),be=ye=void 0}),"script"}),h.createHTMLDocument=function(){var q=b.implementation.createHTMLDocument("").body;return q.innerHTML="<form></form><form></form>",q.childNodes.length===2}(),y.parseHTML=function(q,Q,te){if(typeof q!="string")return[];typeof Q=="boolean"&&(te=Q,Q=!1);var le,ye,be;return Q||(h.createHTMLDocument?(Q=b.implementation.createHTMLDocument(""),le=Q.createElement("base"),le.href=b.location.href,Q.head.appendChild(le)):Q=b),ye=z.exec(q),be=!te&&[],ye?[Q.createElement(ye[1])]:(ye=ct([q],Q,be),be&&be.length&&y(be).remove(),y.merge([],ye.childNodes))},y.fn.load=function(q,Q,te){var le,ye,be,Ne=this,tt=q.indexOf(" ");return tt>-1&&(le=ri(q.slice(tt)),q=q.slice(0,tt)),m(Q)?(te=Q,Q=void 0):Q&&typeof Q=="object"&&(ye="POST"),Ne.length>0&&y.ajax({url:q,type:ye||"GET",dataType:"html",data:Q}).done(function(Ye){be=arguments,Ne.html(le?y("<div>").append(y.parseHTML(Ye)).find(le):Ye)}).always(te&&function(Ye,dt){Ne.each(function(){te.apply(this,be||[Ye.responseText,dt,Ye])})}),this},y.expr.pseudos.animated=function(q){return y.grep(y.timers,function(Q){return q===Q.elem}).length},y.offset={setOffset:function(q,Q,te){var le,ye,be,Ne,tt,Ye,dt,It=y.css(q,"position"),Bt=y(q),xt={};It==="static"&&(q.style.position="relative"),tt=Bt.offset(),be=y.css(q,"top"),Ye=y.css(q,"left"),dt=(It==="absolute"||It==="fixed")&&(be+Ye).indexOf("auto")>-1,dt?(le=Bt.position(),Ne=le.top,ye=le.left):(Ne=parseFloat(be)||0,ye=parseFloat(Ye)||0),m(Q)&&(Q=Q.call(q,te,y.extend({},tt))),Q.top!=null&&(xt.top=Q.top-tt.top+Ne),Q.left!=null&&(xt.left=Q.left-tt.left+ye),"using"in Q?Q.using.call(q,xt):Bt.css(xt)}},y.fn.extend({offset:function(q){if(arguments.length)return q===void 0?this:this.each(function(ye){y.offset.setOffset(this,q,ye)});var Q,te,le=this[0];if(le)return le.getClientRects().length?(Q=le.getBoundingClientRect(),te=le.ownerDocument.defaultView,{top:Q.top+te.pageYOffset,left:Q.left+te.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var q,Q,te,le=this[0],ye={top:0,left:0};if(y.css(le,"position")==="fixed")Q=le.getBoundingClientRect();else{for(Q=this.offset(),te=le.ownerDocument,q=le.offsetParent||te.documentElement;q&&(q===te.body||q===te.documentElement)&&y.css(q,"position")==="static";)q=q.parentNode;q&&q!==le&&q.nodeType===1&&(ye=y(q).offset(),ye.top+=y.css(q,"borderTopWidth",!0),ye.left+=y.css(q,"borderLeftWidth",!0))}return{top:Q.top-ye.top-y.css(le,"marginTop",!0),left:Q.left-ye.left-y.css(le,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var q=this.offsetParent;q&&y.css(q,"position")==="static";)q=q.offsetParent;return q||Xe})}}),y.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(q,Q){var te=Q==="pageYOffset";y.fn[q]=function(le){return Ee(this,function(ye,be,Ne){var tt;if(g(ye)?tt=ye:ye.nodeType===9&&(tt=ye.defaultView),Ne===void 0)return tt?tt[Q]:ye[be];tt?tt.scrollTo(te?tt.pageXOffset:Ne,te?Ne:tt.pageYOffset):ye[be]=Ne},q,le,arguments.length)}}),y.each(["top","left"],function(q,Q){y.cssHooks[Q]=nt(h.pixelPosition,function(te,le){if(le)return le=qe(te,Q),Mt.test(le)?y(te).position()[Q]+"px":le})}),y.each({Height:"height",Width:"width"},function(q,Q){y.each({padding:"inner"+q,content:Q,"":"outer"+q},function(te,le){y.fn[le]=function(ye,be){var Ne=arguments.length&&(te||typeof ye!="boolean"),tt=te||(ye===!0||be===!0?"margin":"border");return Ee(this,function(Ye,dt,It){var Bt;return g(Ye)?le.indexOf("outer")===0?Ye["inner"+q]:Ye.document.documentElement["client"+q]:Ye.nodeType===9?(Bt=Ye.documentElement,Math.max(Ye.body["scroll"+q],Bt["scroll"+q],Ye.body["offset"+q],Bt["offset"+q],Bt["client"+q])):It===void 0?y.css(Ye,dt,tt):y.style(Ye,dt,It,tt)},Q,Ne?ye:void 0,Ne)}})}),y.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(q,Q){y.fn[Q]=function(te){return this.on(Q,te)}}),y.fn.extend({bind:function(q,Q,te){return this.on(q,null,Q,te)},unbind:function(q,Q){return this.off(q,null,Q)},delegate:function(q,Q,te,le){return this.on(Q,q,te,le)},undelegate:function(q,Q,te){return arguments.length===1?this.off(q,"**"):this.off(Q,q||"**",te)},hover:function(q,Q){return this.on("mouseenter",q).on("mouseleave",Q||q)}}),y.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(q,Q){y.fn[Q]=function(te,le){return arguments.length>0?this.on(Q,null,te,le):this.trigger(Q)}});var hi=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;y.proxy=function(q,Q){var te,le,ye;if(typeof Q=="string"&&(te=q[Q],Q=q,q=te),!!m(q))return le=r.call(arguments,2),ye=function(){return q.apply(Q||this,le.concat(r.call(arguments)))},ye.guid=q.guid=q.guid||y.guid++,ye},y.holdReady=function(q){q?y.readyWait++:y.ready(!0)},y.isArray=Array.isArray,y.parseJSON=JSON.parse,y.nodeName=C,y.isFunction=m,y.isWindow=g,y.camelCase=ue,y.type=E,y.now=Date.now,y.isNumeric=function(q){var Q=y.type(q);return(Q==="number"||Q==="string")&&!isNaN(q-parseFloat(q))},y.trim=function(q){return q==null?"":(q+"").replace(hi,"$1")};var Lo=t.jQuery,ds=t.$;return y.noConflict=function(q){return t.$===y&&(t.$=ds),q&&t.jQuery===y&&(t.jQuery=Lo),y},typeof n>"u"&&(t.jQuery=t.$=y),y})})(E1);var jT=E1.exports;const Al=Uu(jT);function kT({nodeKey:l}){const[t]=yn(),[n,e,s]=Cc(l),r=he.useCallback(o=>{if(o.preventDefault(),n&&fr(jt())){const a=Dn(l);if(ey(a)){const c=a.getPageNo();a.remove(),console.log("Deleted Page Break:",c);const u=Mn().getChildren();for(const d of u)if(ey(d)){const f=d.getPageNo();f>c&&d.setPageNo(f-1)}return!0}}return!1},[n,l]);return he.useEffect(()=>wr(t.registerCommand(ba,o=>{const a=t.getElementByKey(l);return o.target===a?(o.shiftKey||s(),e(!n),!0):!1},Jn),t.registerCommand(Qi,r,Jn),t.registerCommand(Zi,r,Jn)),[s,t,n,l,r,e]),he.useEffect(()=>{const o=t.getElementByKey(l);o!==null&&(o.className=n?"selected":"")},[t,n,l]),null}class Ra extends qs{constructor(n=1,e){super(e);Hn(this,"__pageNumber");this.__pageNumber=n}static getType(){return"page-break"}getPageNo(){return this.__pageNumber}setPageNo(n){const e=this.getWritable();e.__pageNumber=n}static clone(n){return new Ra(n.__pageNumber,n.__key)}static importJSON(n){return new Ra(n.pageNumber)}static importDOM(){return{figure:n=>n.getAttribute("type")!==this.getType()?null:{conversion:TT,priority:xi}}}exportJSON(){return{type:this.getType(),version:1,pageNumber:this.__pageNumber}}createDOM(){const n=document.createElement("figure"),e=document.createElement("span");return n.style.pageBreakAfter="always",n.setAttribute("type","page-break"),e.style.position="absolute",e.style.left="97%",e.style.bottom="0",n.append(e),n.setAttribute("data-page-number",this.__pageNumber.toString()),n}getTextContent(){return`
64
64
  `}isInline(){return!1}updateDOM(){return!1}decorate(){return ae.jsx(kT,{nodeKey:this.__key})}static fromCodoxNode(n){const e=n.pageNumber,s={type:n.codox_metadata.type,text:n.text,format:n.format,mode:n.mode,detail:n.detail,version:n.version,pageNumber:e,style:"",id:n.codox_metadata.id};return console.log("[DEMO DEBUG][PageBreakNode][fromCodoxNode]: ",{codoxNode:n,originalJsonNode:s}),new Ra(s.pageNumber)}toCodoxNode(){const n=this.exportJSON(),e={type:"page-break",text:"",pageNumber:n.pageNumber,style:"",version:n.version,codox_metadata:{type:n.type,id:n.pageNumber}};return console.log("[DEMO DEBUG][PageBreakNode][toCodoxNode]: ",{convertedNode:e,originalJsonNode:n}),e}}function TT(l){const t=l.getAttribute("data-page-number"),n=t?parseInt(t,10):1;return{node:C1(n)}}function C1(l){if(l===void 0){const t=Al("p").length-1;l=Math.ceil(t/20)||1}return new Ra(l)}function ey(l){return l instanceof Ra}const AT=ir.lazy(()=>Promise.resolve().then(()=>oD));function OT(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)}function NT(l=""){return{text:l,uid:OT(),votes:[]}}function j1(l,t,n){return{text:t,uid:l.uid,votes:n||Array.from(l.votes)}}function PT(l){const t=l.getAttribute("data-lexical-poll-question"),n=l.getAttribute("data-lexical-poll-options");return t!==null&&n!==null?{node:k1(t,JSON.parse(n))}:null}let ty=class ek extends qs{constructor(n,e,s){super(s);Hn(this,"__question");Hn(this,"__options");this.__question=n,this.__options=e}static getType(){return"poll"}static clone(n){return new ek(n.__question,n.__options,n.__key)}static importJSON(n){const e=k1(n.question,n.options);return n.options.forEach(e.addOption),e}exportJSON(){return{options:this.__options,question:this.__question,type:"poll",version:1}}addOption(n){const e=this.getWritable(),s=Array.from(e.__options);s.push(n),e.__options=s}deleteOption(n){const e=this.getWritable(),s=Array.from(e.__options),r=s.indexOf(n);s.splice(r,1),e.__options=s}setOptionText(n,e){const s=this.getWritable(),r=j1(n,e),o=Array.from(s.__options),a=o.indexOf(n);o[a]=r,s.__options=o}toggleVote(n,e){const s=this.getWritable(),r=n.votes,o=Array.from(r),a=r.indexOf(e);a===-1?o.push(e):o.splice(a,1);const c=j1(n,n.text,o),i=Array.from(s.__options),u=i.indexOf(n);i[u]=c,s.__options=i}static importDOM(){return{span:n=>n.hasAttribute("data-lexical-poll-question")?{conversion:PT,priority:2}:null}}exportDOM(){const n=document.createElement("span");return n.setAttribute("data-lexical-poll-question",this.__question),n.setAttribute("data-lexical-poll-options",JSON.stringify(this.__options)),{element:n}}createDOM(){const n=document.createElement("span");return n.style.display="inline-block",n}updateDOM(){return!1}decorate(){return ae.jsx(he.Suspense,{fallback:null,children:ae.jsx(AT,{question:this.__question,options:this.__options,nodeKey:this.__key})})}};function k1(l,t){return new ty(l,t)}function T1(l){return l instanceof ty}const IT="https://platform.twitter.com/widgets.js";function MT(l){const t=l.getAttribute("data-lexical-tweet-id");return t?{node:O1(t)}:null}let A1=!0;function RT({className:l,format:t,loadingComponent:n,nodeKey:e,onError:s,onLoad:r,tweetID:o}){const a=he.useRef(null),c=he.useRef(""),[i,u]=he.useState(!1),d=he.useCallback(async()=>{try{await window.twttr.widgets.createTweet(o,a.current),u(!1),A1=!1,r&&r()}catch(f){s&&s(String(f))}},[s,r,o]);return he.useEffect(()=>{var f;if(o!==c.current){if(u(!0),A1){const p=document.createElement("script");p.src=IT,p.async=!0,(f=document.body)==null||f.appendChild(p),p.onload=d,s&&(p.onerror=s)}else d();c&&(c.current=o)}},[d,s,o]),ae.jsxs(_1,{className:l,format:t,nodeKey:e,children:[i?n:null,ae.jsx("div",{style:{display:"inline-block",width:"550px"},ref:a})]})}class Ip extends Ym{constructor(n,e,s){super(e,s);Hn(this,"__id");this.__id=n}static getType(){return"tweet"}static clone(n){return new Ip(n.__id,n.__format,n.__key)}static importJSON(n){const e=O1(n.id);return e.setFormat(n.format),e}exportJSON(){return{...super.exportJSON(),id:this.getId(),type:"tweet",version:1}}static importDOM(){return{div:n=>n.hasAttribute("data-lexical-tweet-id")?{conversion:MT,priority:2}:null}}exportDOM(){const n=document.createElement("div");n.setAttribute("data-lexical-tweet-id",this.__id);const e=document.createTextNode(this.getTextContent());return n.append(e),{element:n}}getId(){return this.__id}getTextContent(n,e){return`https://x.com/i/web/status/${this.__id}`}decorate(n,e){const s=e.theme.embedBlock||{},r={base:s.base||"",focus:s.focus||""};return ae.jsx(RT,{className:r,format:this.__format,loadingComponent:"Loading...",nodeKey:this.getKey(),tweetID:this.__id})}}function O1(l){return new Ip(l)}class Sd extends qs{constructor(n,e,s){console.log("referencedText",e);super(s);Hn(this,"__referencedElementId");Hn(this,"__text");this.__referencedElementId=n,this.__text=e}static getType(){return"reference"}static clone(n){return new Sd(n.__referencedElementId,n.__text,n.__key)}createDOM(n){const e=document.createElement("span");e.style.cursor="pointer",e.style.background="#f8f6e2",e.style.fontSize="17px",e.setAttribute("data-node-type","reference"),e.setAttribute("data-ref-id",this.__referencedElementId),e.setAttribute("data-lexical-node-key",this.__key),e.setAttribute("id",this.__referencedElementId),e.setAttribute("data-cross-ref","true"),e.textContent=this.__text,e.addEventListener("click",r=>{r.preventDefault(),r.stopPropagation();const o=e.closest('[class^="editor-autosave-"]');if(!o)return;const a=Array.from(o.classList).find(i=>i.startsWith("editor-autosave-"));if(!a)return;a.replace("editor-autosave-","");const c=o.querySelector(`[data-ref-id="ref-${this.__referencedElementId}"]`);c?(c.scrollIntoView({behavior:"smooth",block:"center"}),c.classList.add("reference-highlight"),setTimeout(()=>{c.classList.remove("reference-highlight")},1e3),setTimeout(()=>{if(c instanceof HTMLInputElement||c instanceof HTMLTextAreaElement)c.focus(),c.setSelectionRange(c.value.length,c.value.length);else if(c.isContentEditable){c.focus();const i=document.createRange(),u=window.getSelection();i.selectNodeContents(c),i.collapse(!1),u==null||u.removeAllRanges(),u==null||u.addRange(i)}else c.setAttribute("tabindex","-1"),c.focus()},500)):console.warn(`Referenced element with data-ref-id="ref-${this.__referencedElementId}" not found.`)});const s=document.querySelector(`[data-ref-id="ref-${this.__referencedElementId}"]`);return s&&new MutationObserver(()=>{const o=s.textContent;document.querySelectorAll(`[data-cross-ref][id="${this.__referencedElementId}"]`).forEach(c=>{c.textContent!==o&&(c.textContent=o||"")})}).observe(s,{childList:!0,characterData:!0,subtree:!0}),e}updateDOM(n,e,s){const r=document.querySelector(`[data-ref-id="ref-${this.__referencedElementId}"]`);if(console.log("first",this.__text,r),r){const o=r.textContent;console.log("newText",o),e.textContent!==this.__text&&(e.textContent=this.__text||"")}return!1}decorate(n,e){return ae.jsx(ae.Fragment,{})}static importJSON(n){return N1(n.id,n.text)}exportJSON(){return{type:"reference",id:this.__referencedElementId,text:this.__text,version:1}}static importDOM(){return{span:n=>n.hasAttribute("data-cross-ref")?{conversion:e=>{const s=e.getAttribute("id")||"",r=e.textContent||"";return{node:new Sd(s,r)}},priority:2}:null}}toCodoxNode(){const n=this.exportJSON(),e={type:"text",text:n.text,format:n.format,mode:n.mode,detail:n.detail,version:n.version,style:"cursor: pointer; background: #f8f6e2; font-size: 17px;",codox_metadata:{type:n.type,referencedElementId:n.id}};return console.log("[DEMO DEBUG][ReferenceNode][toCodoxNode]:",{convertedNode:e,originalJsonNode:n}),e}static fromCodoxNode(n){return{type:n.codox_metadata.type,version:n.version,text:n.text,id:n.codox_metadata.referencedElementId}}}function N1(l,t){return new Sd(l,t)}class Ol extends Zr{static getType(){return"dividerText"}static clone(t){return new Ol(t.__text,t.__key)}constructor(t="_______________________________",n){super(t,n)}createDOM(t){const n=super.createDOM(t);return n.dataset.divider="true",n.contentEditable="false",n}updateDOM(t,n,e){return n.dataset.divider="true",super.updateDOM(t,n,e)}exportJSON(){return{...super.exportJSON(),type:"dividerText",id:this.getKey(),version:1,detail:0,format:0,mode:"normal",text:"_______________________________",style:""}}static importJSON(t){const n=t.id??t.key,e=t.text??"_______________________________";return new Ol(e,n)}exportDOM(){const t=document.createElement("span");return t.textContent=this.__text,t.dataset.divider="true",{element:t}}static importDOM(){return{span:t=>t.dataset.divider==="true"||t.textContent==="_______________________________"?{conversion:()=>({node:new Ol}),priority:2}:null}}toCodoxNode(){const t=this.exportJSON();return{type:"text",text:t.text,format:t.format,detail:t.detail,version:t.version,codox_metadata:{type:t.type,id:t.id,_namespace:"dividerText"}}}static fromCodoxNode(t){return{type:"dividerText",text:t.text,format:t.format,detail:t.detail,version:t.version,id:t.codox_metadata.id,mode:t.mode??"normal",style:t.style??""}}}function P1(){return new Ol}function ny(l){return l instanceof Ol}const I1=po();function Mp(l){const t={m:1e3,cm:900,d:500,cd:400,c:100,xc:90,l:50,xl:40,x:10,ix:9,v:5,iv:4,i:1};let n="";for(let e in t)for(;l>=t[e];)n+=e,l-=t[e];return n}function M1(){const[l]=yn(),t=(s,r)=>{r(s),Tt(s)&&s.getChildren().forEach(o=>t(o,r))},n=()=>{l.update(()=>{const s=Mn(),r=[];t(s,a=>{ry(a)&&r.push(a)});let o=!1;for(let a=0;a<r.length;a++)if(r[a].getNumber()!==a+1){o=!0;break}o&&r.forEach((a,c)=>{const i=c+1;a.setNumber(i);const u=a.getContentKey(),d=Dn(u);if(_r(d)){const f=d.getFirstChild();if(Jt(f)){const p=f.getTextContent(),h=p.replace(/^\[[^\]]*\]/,`[${Mp(i)}]`);h!==p&&f.setTextContent(h)}}})})},e=()=>{l.update(()=>{var b;const s=Mn(),r=jt(),o=LT(0);r&&r.insertNodes([o]);const a=En(),c=rr("[?] ");a.append(c),s.append(a),o.setContentKey(a.getKey());const i=[];t(s,v=>{ry(v)&&i.push(v)});const d=i.map(v=>v.getContentKey()).map(v=>Dn(v)).filter(v=>v!==null);d==null||d.forEach(v=>{v&&s.append(v)});let f=!1;if(s.getChildren().forEach(v=>{if(_r(v)){const _=v.getFirstChild();if((_&&ny(_)||_&&Jt(_)&&_.getTextContent().includes("_______________________________"))&&(f=!0,!ny(_)&&_.getTextContent().includes("_______________________________"))){const E=P1();_.replace(E)}}}),!f&&(d==null?void 0:d.length)>0){const v=En();v.append(P1()),(b=d[0])==null||b.insertBefore(v)}const p=[];if(s.getChildren().forEach(v=>{if(_r(v)){const _=v.getFirstChild();(_&&ny(_)||_&&Jt(_)&&_.getTextContent().includes("_______________________________"))&&p.push(v)}}),p.length>1)for(let v=1;v<p.length;v++)p[v].remove();const h=[];t(s,v=>{ry(v)&&h.push(v)}),h.forEach((v,_)=>{const E=_+1;v.setNumber(E);const S=v.getContentKey(),w=Dn(S);if(_r(w)){const y=w.getFirstChild();if(Jt(y)){const x=y.getTextContent(),C=x.replace(/^\[[^\]]*\]/,`[${Mp(E)}]`);C!==x&&y.setTextContent(C)}}});const m=c.getTextContentSize(),g=vc();g.anchor.set(c.getKey(),m,"text"),g.focus.set(c.getKey(),m,"text"),jr(g),setTimeout(()=>{const v=l.getElementByKey(a.getKey());v&&v.scrollIntoView({behavior:"smooth",block:"end"})},100)})};return he.useEffect(()=>{const s=l.registerCommand(I1,()=>(e(),!0),0);return l.update(()=>{setTimeout(n,100)}),s},[l]),null}class Nl extends Zr{constructor(n,e,s,r){super(s||`[${n??"?"}]`,r);Hn(this,"__number");Hn(this,"__contentKey");this.__number=n??0,this.__contentKey=e??""}static getType(){return"endnote"}static clone(n){return new Nl(n.__number,n.__contentKey,n.__text,n.__key)}static importJSON(n){const e=n.number??0,s=n.contentKey??"",r=n.text??`[${Mp(e)}]`,o=n.id??n.key;return new Nl(e,s,r,o)}exportJSON(){return{...super.exportJSON(),number:this.__number,contentKey:this.__contentKey,type:"endnote",version:1,id:this.getKey()}}setNumber(n){const e=this.getWritable();e.__number=n,this.setTextContent(`[${Mp(n)}]`)}setContentKey(n){const e=this.getWritable();e.__contentKey=n}getContentKey(){return this.__contentKey}createDOM(n){const e=super.createDOM(n);return e.style.cssText="cursor: pointer; vertical-align: super; font-size: 0.8em;",e.dataset.endnote="true",e}exportDOM(){const n=document.createElement("span");return n.dataset.lexicalEndnote="true",n.dataset.contentKey=this.__contentKey,n.textContent=this.__text,{element:n}}static importDOM(){return{span:n=>n.dataset.lexicalEndnote==="true"?{conversion:DT,priority:1}:null}}getNumber(){return this.__number}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}toCodoxNode(){const n=this.exportJSON();return{type:"text",text:n.text,format:n.format,mode:n.mode,detail:n.detail,version:n.version,codox_metadata:{type:n.type,id:n.id,contentKey:n.contentKey,number:n.number,_namespace:"endnote"}}}static fromCodoxNode(n){return{type:"endnote",text:n.text,format:n.format,mode:n.mode,detail:n.detail,version:n.version,number:n.codox_metadata.number,contentKey:n.codox_metadata.contentKey,id:n.codox_metadata.id,style:n.style??""}}}function DT(l){var r;const t=(r=l.textContent)==null?void 0:r.match(/\[(\d+)\]/),n=t?parseInt(t[1],10):1,e=l.dataset.contentKey||"";return{node:new Nl(n,e)}}function LT(l,t){return new Nl(l,t||"")}function ry(l){return l instanceof Nl}class qo extends Zr{constructor(n,e,s,r){super(n,r);Hn(this,"__color");Hn(this,"__id");this.__color=e,this.__id=s}static getType(){return"colored"}getId(){return this.__id}static clone(n){return new qo(n.__text,n.__color,n.__id,n.__key)}createDOM(n){const e=super.createDOM(n);return e.style.color=this.__color,e.setAttribute("id",this.__id),e.setAttribute("data-ref-id",`ref-${this.__id}`),e}updateDOM(n,e,s){const r=super.updateDOM(n,e,s);return n.__color!==this.__color&&(e.style.color=this.__color),n.__id!==this.__id&&(e.setAttribute("id",this.__id),e.setAttribute("data-ref-id",`ref-${this.__id}`)),r}exportJSON(){return{...super.exportJSON(),type:"colored",color:this.__color,id:this.__id}}static importJSON(n){return new qo(n.text,n.color,n.id)}toCodoxNode(){const n=this.exportJSON(),e={type:"text",text:n.text,format:n.format,mode:n.mode,detail:n.detail,version:n.version,style:`color:${n.color};`,codox_metadata:{type:n.type,id:n.id}};return console.log("[DEMO DEBUG][ColoredNode][toCodoxNode]:",{convertedNode:e,originalJsonNode:n}),e}static fromCodoxNode(n){let e="";n.style.split(";").forEach(r=>{r.startsWith("color:")&&(e=r.split(":")[1])});const s={type:n.codox_metadata.type,text:n.text,format:n.format,mode:n.mode,detail:n.detail,version:n.version,style:"",id:n.codox_metadata.id,color:e};return console.log("[DEMO DEBUG][ColoredNode][fromCodoxNode]:",{codoxNode:n,originalJsonNode:s}),s}}const R1=[];class Ks extends Br{constructor(n=R1,e){super(e);Hn(this,"__ids");this.__ids=n}static getType(){return"mark"}static clone(n){return new Ks(n.__ids,n.__key)}static importDOM(){return{mark:n=>({conversion:e=>{var r;const s=((r=e.getAttribute("data-ids"))==null?void 0:r.split(","))||[];return{node:new Ks(s)}},priority:1})}}static importJSON(n){return new Ks(n.ids)}exportJSON(){return{...super.exportJSON(),ids:Array.from(this.__ids),type:this.__type}}createDOM(n){const e=document.createElement("mark");return zr(e,n.theme.mark),this.__ids.length>0&&e.setAttribute("data-ids",this.__ids.join(",")),e}updateDOM(n,e,s){const r=n.__ids,o=this.__ids;return r.join(",")!==o.join(",")&&e.setAttribute("data-ids",o.join(",")),!1}exportDOM(){const n=document.createElement("mark");return this.__ids.length>0&&n.setAttribute("data-ids",this.__ids.join(",")),{element:n}}hasID(n){return this.__ids.includes(n)}getIDs(){return Array.from(this.__ids)}setIDs(n){return this.__ids=n,this}addID(n){return this.__ids.includes(n)||(this.__ids=[...this.__ids,n]),this}deleteID(n){const e=this.__ids.indexOf(n);e>-1&&this.__ids.splice(e,1)}insertNewAfter(n,e=!0){const s=oy(this.__ids);return this.insertAfter(s,e),s}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}}function oy(l=R1){return Pr(new Ks(l))}function Pl(l){return l instanceof Ks}function D1(l){const t=l.getChildren();let n=null;for(let e=0;e<t.length;e++){const s=t[e];n===null?l.insertBefore(s):n.insertAfter(s),n=s}l.remove()}function FT(l,t,n,e){const s=vc(),[r,o]=l.isBackward()?[l.focus,l.anchor]:[l.anchor,l.focus];s.anchor.set(r.key,r.offset,r.type),s.focus.set(o.key,o.offset,o.type);let a,c;const i=s.extract();for(const u of i){if(Tt(c)&&c.isParentOf(u))continue;let d=null;if(Jt(u))d=u;else{if(Pl(u))continue;(Tt(u)||hr(u))&&u.isInline()&&(d=u)}if(d!==null){if(d&&d.is(a))continue;const f=d.getParent();(f==null||!f.is(a))&&(c=void 0),a=f,c===void 0&&(c=(e||oy)([n]),d.insertBefore(c)),c.append(d)}else a=void 0,c=void 0}Tt(c)&&(t?c.selectStart():c.selectEnd())}function BT(l,t){let n=l;for(;n!==null;){if(Pl(n))return n.getIDs();if(Jt(n)&&t===n.getTextContentSize()){const e=n.getNextSibling();if(Pl(e))return e.getIDs()}n=n.getParent()}return null}const L1=[Ks,xp,gd,hd,wp,Om,Ss,is,jl,bp,Im,pd,Sc,$_,ty,Op,Qm,xd,wd,Ac,Um,Ip,Ap,bd,_d,Tp,Ra,Np,Pp,Sd,Nl,qo,Na,Ol],AD="";function iy(...l){return l.filter(Boolean).join(" ")}function Fi({"data-test-id":l,children:t,className:n,onClick:e,disabled:s,small:r,title:o}){return ae.jsx("button",{disabled:s,className:iy("Button__root",s&&"Button__disabled",r&&"Button__small",n),onClick:e,title:o,"aria-label":o,...l&&{"data-test-id":l},children:t})}const OD="";function Rp({"data-test-id":l,children:t}){return ae.jsx("div",{className:"DialogActions","data-test-id":l,children:t})}const ND="";function Oc({label:l,value:t,onChange:n,placeholder:e="","data-test-id":s,type:r="text"}){return ae.jsxs("div",{className:"Input__wrapper",children:[ae.jsx("label",{className:"Input__label",children:l}),ae.jsx("input",{type:r,className:"Input__input",placeholder:e,value:t,onChange:o=>{n(o.target.value)},"data-test-id":s,max:r==="number"?20:void 0})]})}const zT=he.createContext({cellEditorConfig:null,cellEditorPlugins:null,set:()=>{}});function F1({children:l}){const[t,n]=he.useState({cellEditorConfig:null,cellEditorPlugins:null});return ae.jsx(zT.Provider,{value:he.useMemo(()=>({cellEditorConfig:t.cellEditorConfig,cellEditorPlugins:t.cellEditorPlugins,set:(e,s)=>{n({cellEditorConfig:e,cellEditorPlugins:s})}}),[t.cellEditorConfig,t.cellEditorPlugins]),children:l})}const Dp=(l,t)=>{let n=5381;const e=String(t);for(let s=0;s<e.length;s++)n=(n<<5)+n+e.charCodeAt(s);return`table-${t}-${Math.abs(n%1e6)}`};function UT({activeEditor:l,onClose:t,enableCaptions:n=!0}){const[e,s]=he.useState("5"),[r,o]=he.useState("5"),[a,c]=he.useState(""),[i,u]=he.useState(!0);he.useState(!0);let d=Number(localStorage.getItem("tableCount"))||1;he.useEffect(()=>{const h=Number(e),m=Number(r);h&&h>0&&h<=500&&m&&m>0&&m<=20?u(!1):u(!0)},[e,r]);const f=()=>{l.update(()=>{const m=Mn().getChildren().filter(dr);if(m.length===0){console.warn("No tables found in the document!");return}const g=m.map(b=>{let v=a;const _=b.getPreviousSibling();if(_&&_r(_)){const E=_.getChildren().filter(S=>S.getType()==="text");E.length>1&&(v=E[1].getTextContent())}return{caption:v,content:b.getChildren().map(E=>E.getChildren().map(S=>S.getTextContent()))}});localStorage.setItem("savedTableData",JSON.stringify(g))})},p=()=>{if(!e||!r)return;const h=d;l.update(()=>{if(n){const m=En();m.setFormat("left");const v=Mn().getChildren().filter(dr).length,_=Dp(a||`Table ${h}`,v),E=new qo(`Table ${h}:`,"black",_);E.setStyle("font-weight: bold; margin-right: 8px;");const S=a.trim()===""?".":a,w=rr(S);w.setStyle(a?"color: black; font-style: italic; font-weight: bold;":"color: gray; font-style: italic; font-weight: normal;"),m.getChildren().forEach(T=>T.remove());const y=rs();m.append(E),m.append(w),m.append(y),Xo([m]);const x={rows:!0,columns:!1},C=Hm(Number(e),Number(r),x);if(!C){console.error("Failed to create TableNode");return}C.__captionId=_,Xo([C])}else{const m={rows:!0,columns:!1},g=Hm(Number(e),Number(r),m);if(!g){console.error("Failed to create TableNode");return}Xo([g,rs()])}}),l.update(()=>{if(n){const g=Mn().getChildren().filter(dr);let b=1;g.forEach(v=>{var C;const _=v.getPreviousSibling(),w=Mn().getChildren().filter(dr).length,y=v.__captionId||Dp(`Table ${b}`,w),x=v.getNextSibling();if(x&&_r(x)&&x.getChildren().forEach(T=>{T.getTextContent().startsWith("Table")&&T.remove()}),_&&_r(_)){let T=null;if(_.getChildren().forEach(R=>{R.getTextContent().startsWith("Table")&&(T=R)}),T){const R=((C=T.getId)==null?void 0:C.call(T))||y;T.remove();const F=new qo(`Table ${b}:`,"black",R),I=_.getFirstChild();I!==null?I.insertBefore(F):_.append(F)}else if(n){const R=new qo(`Table ${b}:`,"black",y),F=_.getFirstChild();F!==null?F.insertBefore(R):_.append(R)}}else{const T=`Table ${b}:`,R=En();R.setFormat("left");const F=new qo(T,"black",y);F.setStyle("font-weight: bold; margin-right: 5px;");const I=a.trim()===""?"Caption text here":a,B=rr(I);B.setStyle("color: black; font-style: italic; font-weight: normal;"),R.append(F),R.append(rr(" ")),R.append(B),v.insertBefore(R)}b++})}}),d++,localStorage.setItem("tableCount",d.toString()),setTimeout(()=>{f()},50),t==null||t()};return ae.jsxs(ae.Fragment,{children:[ae.jsx(Oc,{placeholder:"# of rows (1-500)",label:"Rows",onChange:s,value:e,type:"number"}),ae.jsx(Oc,{placeholder:"# of columns (1-20)",label:"Columns",onChange:o,value:r,type:"number"}),n&&ae.jsx(Oc,{placeholder:"Enter table caption",label:"Caption",value:a,onChange:c}),ae.jsx(Rp,{children:ae.jsx(Fi,{disabled:i,onClick:p,children:"Confirm"})})]})}const PD="",sy={blockCursor:"PlaygroundEditorTheme__blockCursor",characterLimit:"PlaygroundEditorTheme__characterLimit",code:"PlaygroundEditorTheme__code",codeHighlight:{atrule:"PlaygroundEditorTheme__tokenAttr",attr:"PlaygroundEditorTheme__tokenAttr",boolean:"PlaygroundEditorTheme__tokenProperty",builtin:"PlaygroundEditorTheme__tokenSelector",cdata:"PlaygroundEditorTheme__tokenComment",char:"PlaygroundEditorTheme__tokenSelector",class:"PlaygroundEditorTheme__tokenFunction","class-name":"PlaygroundEditorTheme__tokenFunction",comment:"PlaygroundEditorTheme__tokenComment",constant:"PlaygroundEditorTheme__tokenProperty",deleted:"PlaygroundEditorTheme__tokenProperty",doctype:"PlaygroundEditorTheme__tokenComment",entity:"PlaygroundEditorTheme__tokenOperator",function:"PlaygroundEditorTheme__tokenFunction",important:"PlaygroundEditorTheme__tokenVariable",inserted:"PlaygroundEditorTheme__tokenSelector",keyword:"PlaygroundEditorTheme__tokenAttr",namespace:"PlaygroundEditorTheme__tokenVariable",number:"PlaygroundEditorTheme__tokenProperty",operator:"PlaygroundEditorTheme__tokenOperator",prolog:"PlaygroundEditorTheme__tokenComment",property:"PlaygroundEditorTheme__tokenProperty",punctuation:"PlaygroundEditorTheme__tokenPunctuation",regex:"PlaygroundEditorTheme__tokenVariable",selector:"PlaygroundEditorTheme__tokenSelector",string:"PlaygroundEditorTheme__tokenSelector",symbol:"PlaygroundEditorTheme__tokenProperty",tag:"PlaygroundEditorTheme__tokenProperty",url:"PlaygroundEditorTheme__tokenOperator",variable:"PlaygroundEditorTheme__tokenVariable"},embedBlock:{base:"PlaygroundEditorTheme__embedBlock",focus:"PlaygroundEditorTheme__embedBlockFocus"},hashtag:"PlaygroundEditorTheme__hashtag",heading:{h1:"PlaygroundEditorTheme__h1",h2:"PlaygroundEditorTheme__h2",h3:"PlaygroundEditorTheme__h3",h4:"PlaygroundEditorTheme__h4",h5:"PlaygroundEditorTheme__h5",h6:"PlaygroundEditorTheme__h6"},image:"editor-image",indent:"PlaygroundEditorTheme__indent",inlineImage:"inline-editor-image",layoutContainer:"PlaygroundEditorTheme__layoutContainer",layoutItem:"PlaygroundEditorTheme__layoutItem",link:"PlaygroundEditorTheme__link",list:{checklist:"PlaygroundEditorTheme__checklist",listitem:"PlaygroundEditorTheme__listItem",listitemChecked:"PlaygroundEditorTheme__listItemChecked",listitemUnchecked:"PlaygroundEditorTheme__listItemUnchecked",nested:{listitem:"PlaygroundEditorTheme__nestedListItem"},olDepth:["PlaygroundEditorTheme__ol1","PlaygroundEditorTheme__ol2","PlaygroundEditorTheme__ol3","PlaygroundEditorTheme__ol4","PlaygroundEditorTheme__ol5"],ul:"PlaygroundEditorTheme__ul"},ltr:"PlaygroundEditorTheme__ltr",mark:"PlaygroundEditorTheme__mark",markOverlap:"PlaygroundEditorTheme__markOverlap",paragraph:"PlaygroundEditorTheme__paragraph",quote:"PlaygroundEditorTheme__quote",rtl:"PlaygroundEditorTheme__rtl",table:"PlaygroundEditorTheme__table",tableAddColumns:"PlaygroundEditorTheme__tableAddColumns",tableAddRows:"PlaygroundEditorTheme__tableAddRows",tableCell:"PlaygroundEditorTheme__tableCell",tableCellActionButton:"PlaygroundEditorTheme__tableCellActionButton",tableCellActionButtonContainer:"PlaygroundEditorTheme__tableCellActionButtonContainer",tableCellEditing:"PlaygroundEditorTheme__tableCellEditing",tableCellHeader:"PlaygroundEditorTheme__tableCellHeader",tableCellPrimarySelected:"PlaygroundEditorTheme__tableCellPrimarySelected",tableCellResizer:"PlaygroundEditorTheme__tableCellResizer",tableCellSelected:"PlaygroundEditorTheme__tableCellSelected",tableCellSortedIndicator:"PlaygroundEditorTheme__tableCellSortedIndicator",tableResizeRuler:"PlaygroundEditorTheme__tableCellResizeRuler",tableSelected:"PlaygroundEditorTheme__tableSelected",tableSelection:"PlaygroundEditorTheme__tableSelection",text:{bold:"PlaygroundEditorTheme__textBold",code:"PlaygroundEditorTheme__textCode",italic:"PlaygroundEditorTheme__textItalic",strikethrough:"PlaygroundEditorTheme__textStrikethrough",subscript:"PlaygroundEditorTheme__textSubscript",superscript:"PlaygroundEditorTheme__textSuperscript",underline:"PlaygroundEditorTheme__textUnderline",underlineStrikethrough:"PlaygroundEditorTheme__textUnderlineStrikethrough"}};function Lp({defaultSelection:l}){const[t]=yn();return he.useEffect(()=>{t.focus(()=>{const n=document.activeElement,e=t.getRootElement();e===null||n!==null&&e.contains(n)||e.focus({preventScroll:!0})},{defaultSelection:l})},[l,t]),null}function ay(){return Mn().getTextContent()}function ly(l,t=!0){if(l)return!1;let n=ay();return t&&(n=n.trim()),n===""}function HT(l){if(!ly(l,!1))return!1;const t=Mn().getChildren(),n=t.length;if(n>1)return!1;for(let e=0;e<n;e++){const s=t[e];if(hr(s))return!1;if(Tt(s)){if(!_r(s)||s.__indent!==0)return!1;const r=s.getChildren(),o=r.length;for(let a=0;a<o;a++){const c=r[e];if(!Jt(c))return!1}}}return!0}function B1(l){return()=>HT(l)}function qT(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var WT=qT(function(l){const t=new URLSearchParams;t.append("code",l);for(let n=1;n<arguments.length;n++)t.append("v",arguments[n]);throw Error(`Minified Lexical error #${l}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)});function JT(l,t,n,e){const s=o=>o instanceof n,r=o=>{const a=rr(o.getTextContent());a.setFormat(o.getFormat()),o.replace(a)};return[l.registerNodeTransform(Zr,o=>{if(!o.isSimpleText())return;let a,c=o.getPreviousSibling(),i=o.getTextContent(),u=o;if(Jt(c)){const f=c.getTextContent(),p=t(f+i);if(s(c)){if(p===null||(h=>h.getLatest().__mode)(c)!==0)return void r(c);{const h=p.end-f.length;if(h>0){const m=f+i.slice(0,h);if(c.select(),c.setTextContent(m),h===i.length)o.remove();else{const g=i.slice(h);o.setTextContent(g)}return}}}else if(p===null||p.start<f.length)return}let d=0;for(;;){a=t(i);let f,p=a===null?"":i.slice(a.end);if(i=p,p===""){const m=u.getNextSibling();if(Jt(m)){p=u.getTextContent()+m.getTextContent();const g=t(p);if(g===null)return void(s(m)?r(m):m.markDirty());if(g.start!==0)return}}if(a===null)return;if(a.start===0&&Jt(c)&&c.isTextEntity()){d+=a.end;continue}a.start===0?[f,u]=u.splitText(a.end):[,f,u]=u.splitText(a.start+d,a.end+d),f===void 0&&WT(165,"nodeToReplace");const h=e(f);if(h.setFormat(f.getFormat()),f.replace(h),u==null)return;d=0,c=h}}),l.registerNodeTransform(n,o=>{const a=o.getTextContent(),c=t(a);if(c===null||c.start!==0)return void r(o);if(a.length>c.end)return void o.splitText(c.end);const i=o.getPreviousSibling();Jt(i)&&i.isTextEntity()&&(r(i),r(o));const u=o.getNextSibling();Jt(u)&&u.isTextEntity()&&(r(u),s(o)&&r(o))})]}function z1(l,t,n){const[e]=yn();he.useEffect(()=>wr(...JT(e,l,t,n)),[n,e,l,t])}const VT=new RegExp(function(){const{alpha:l,alphanumeric:t,hashChars:n}=function(){const s=String.fromCharCode,r="A-Za-zªµºÀ-ÖØ-öø-Ɂɐ-ˁˆ-ˑˠ-ˤˮͺΆΈ-ΊΌΎ-ΡΣ-ώϐ-ϵϷ-ҁҊ-ӎӐ-ӹԀ-ԏԱ-Ֆՙա-ևא-תװ-ײء-غـ-يٮ-ٯٱ-ۓەۥ-ۦۮ-ۯۺ-ۼۿܐܒ-ܯݍ-ݭހ-ޥޱऄ-हऽॐक़-ॡॽঅ-ঌএ-ঐও-নপ-রলশ-হঽৎড়-ঢ়য়-ৡৰ-ৱਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલ-ળવ-હઽૐૠ-ૡଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଵ-ହଽଡ଼-ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-ஹఅ-ఌఎ-ఐఒ-నప-ళవ-హౠ-ౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠ-ೡഅ-ഌഎ-ഐഒ-നപ-ഹൠ-ൡඅ-ඖක-නඳ-රලව-ෆก-ะา-ำเ-ๆກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-ະາ-ຳຽເ-ໄໆໜ-ໝༀཀ-ཇཉ-ཪྈ-ྋက-အဣ-ဧဩ-ဪၐ-ၕႠ-Ⴥა-ჺჼᄀ-ᅙᅟ-ᆢᆨ-ᇹሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦩᧁ-ᧇᨀ-ᨖᴀ-ᶿḀ-ẛẠ-ỹἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₔℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℱℳ-ℹℼ-ℿⅅ-ⅉⰀ-Ⱞⰰ-ⱞⲀ-ⳤⴀ-ⴥⴰ-ⵥⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〆〱-〵〻-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄬㄱ-ㆎㆠ-ㆷㇰ-ㇿ㐀-䶵一-龻ꀀ-ꒌꠀ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢ가-힣豈-鶴侮-頻並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ̀-ͯ҃-֑҆-ֹֻ-ֽֿׁ-ׂׄ-ׇׅؐ-ًؕ-ٰٞۖ-ۜ۟-ۤۧ-۪ۨ-ܑۭܰ-݊ަ-ްँ-ः़ा-्॑-॔ॢ-ॣঁ-ঃ়া-ৄে-ৈো-্ৗৢ-ৣਁ-ਃ਼ਾ-ੂੇ-ੈੋ-੍ੰ-ੱઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣଁ-ଃ଼ା-ୃେ-ୈୋ-୍ୖ-ୗஂா-ூெ-ைொ-்ௗఁ-ఃా-ౄె-ైొ-్ౕ-ౖಂ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕ-ೖം-ഃാ-ൃെ-ൈൊ-്ൗං-ඃ්ා-ුූෘ-ෟෲ-ෳัิ-ฺ็-๎ັິ-ູົ-ຼ່-ໍ༘-༹༙༵༷༾-༿ཱ-྄྆-྇ྐ-ྗྙ-ྼ࿆ာ-ဲံ-္ၖ-ၙ፟ᜒ-᜔ᜲ-᜴ᝒ-ᝓᝲ-ᝳា-៓៝᠋-᠍ᢩᤠ-ᤫᤰ-᤻ᦰ-ᧀᧈ-ᧉᨗ-ᨛ᷀-᷃⃐-⃥⃜⃡-⃫〪-゙〯-゚ꠂ꠆ꠋꠣ-ꠧﬞ︀-️︠-︣À-ÖØ-öø-ÿĀ-ɏɓ-ɔɖ-ɗəɛɣɨɯɲʉʋʻ̀-ͯḀ-ỿЀ-ӿԀ-ԧⷠ-ⷿꙀ-֑ꚟ-ֿׁ-ׂׄ-ׇׅא-תװ-״﬒-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﭏؐ-ؚؠ-ٟٮ-ۓە-ۜ۞-۪ۨ-ۯۺ-ۼۿݐ-ݿࢠࢢ-ࢬࣤ-ࣾﭐ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼ‌-‌ก-ฺเ-๎ᄀ-ᇿ㄰-ㆅꥠ-꥿가-힯ힰ-퟿ᄀ-ᅵァ-ヺー-ヾヲ-゚0-9A-Za-zぁ-ゖ゙-ゞ㐀-䶿一-鿿"+s(173824)+"-"+s(177983)+s(177984)+"-"+s(178207)+s(194560)+"-"+s(195103)+"〃々〻";return{alpha:r,alphanumeric:r+"0-9٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩၀-၉០-៩᠐-᠙᥆-᥏᧐-᧙0-9_",hashChars:"#\\uFF03"}}(),e="["+t+"]";return"("+("^|$|[^&/"+t+"]")+")("+("["+n+"]")+")("+e+"*"+("["+l+"]")+e+"*)"}(),"i");function U1(){const[l]=yn();he.useEffect(()=>{if(!l.hasNodes([bp]))throw new Error("HashtagPlugin: HashtagNode not registered on editor")},[l]);const t=he.useCallback(e=>R_(e.getTextContent()),[]),n=he.useCallback(e=>{const s=VT.exec(e);if(s===null)return null;const r=s[3].length+1,o=s.index+s[1].length;return{end:o+r,start:o}},[]);return z1(n,bp,t),null}function H1(){const[l]=yn();return he.useEffect(()=>{if(!l.hasNodes([gd,hd]))throw new Error("ListPlugin: ListNode and/or ListItemNode not registered on editor")},[l]),function(t){he.useEffect(()=>wr(t.registerCommand(K_,()=>(B_(t,"number"),!0),Jn),t.registerCommand(V_,()=>(B_(t,"bullet"),!0),Jn),t.registerCommand(G_,()=>(D2(t),!0),Jn),t.registerCommand(gl,()=>!!B2(),Jn)),[t])}(l),null}const KT=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;function GT(l){return{initialValueFn:()=>l.isEditable(),subscribe:t=>l.registerEditableListener(t)}}function cy(){return function(l){const[t]=yn(),n=he.useMemo(()=>l(t),[t,l]),e=he.useRef(n.initialValueFn()),[s,r]=he.useState(e.current);return KT(()=>{const{initialValueFn:o,subscribe:a}=n,c=o();return e.current!==c&&(e.current=c,r(c)),a(i=>{e.current=i,r(i)})},[n,l]),s}(GT)}function q1(l){const t=window.location.origin,n=e=>{if(e.origin!==t)return;const s=l.getRootElement();if(document.activeElement!==s)return;const r=e.data;if(typeof r=="string"){let o;try{o=JSON.parse(r)}catch{return}if(o&&o.protocol==="nuanria_messaging"&&o.type==="request"){const a=o.payload;if(a&&a.functionId==="makeChanges"){const c=a.args;if(c){const[i,u,d,f,p,h]=c;l.update(()=>{const m=jt();if(St(m)){const g=m.anchor;let b=g.getNode(),v=0,_=0;if(Jt(b)&&i>=0&&u>=0&&(v=i,_=i+u,m.setTextNodeRange(b,v,b,_)),v===_&&d===""||(m.insertRawText(d),b=g.getNode()),Jt(b)){v=f,_=f+p;const E=b.getTextContentSize();v=v>E?E:v,_=_>E?E:_,m.setTextNodeRange(b,v,b,_)}e.stopImmediatePropagation()}})}}}}};return window.addEventListener("message",n,!0),()=>{window.removeEventListener("message",n,!0)}}function Ed(l,t){const n=t.body?t.body.childNodes:[];let e=[];const s=[];for(let r=0;r<n.length;r++){const o=n[r];if(!V1.has(o.nodeName)){const a=K1(o,l,s,!1);a!==null&&(e=e.concat(a))}}return function(r){for(const o of r)o.getNextSibling()instanceof xm&&o.insertAfter(rs());for(const o of r){const a=o.getChildren();for(const c of a)o.insertBefore(c);o.remove()}}(s),e}function W1(l,t){if(typeof document>"u"||typeof window>"u"&&global.window===void 0)throw new Error("To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.");const n=document.createElement("div"),e=Mn().getChildren();for(let s=0;s<e.length;s++)J1(l,e[s],n,t);return n.innerHTML}function J1(l,t,n,e=null){let s=e===null||t.isSelected(e);const r=Tt(t)&&t.excludeFromCopy("html");let o=t;if(e!==null){let p=u_(t);p=Jt(p)&&e!==null?d_(e,p):p,o=p}const a=Tt(o)?o.getChildren():[],c=l._nodes.get(o.getType());let i;i=c&&c.exportDOM!==void 0?c.exportDOM(l,o):o.exportDOM(l);const{element:u,after:d}=i;if(!u)return!1;const f=document.createDocumentFragment();for(let p=0;p<a.length;p++){const h=a[p],m=J1(l,h,f,e);!s&&Tt(t)&&m&&t.extractWithChild(h,e,"html")&&(s=!0)}if(s&&!r){if(Di(u)&&u.append(f),n.append(u),d){const p=d.call(o,u);p&&u.replaceWith(p)}}else n.append(f);return s}const V1=new Set(["STYLE","SCRIPT"]);function K1(l,t,n,e,s=new Map,r){let o=[];if(V1.has(l.nodeName))return o;let a=null;const c=function(h,m){const{nodeName:g}=h,b=m._htmlConversions.get(g.toLowerCase());let v=null;if(b!==void 0)for(const _ of b){const E=_(h);E!==null&&(v===null||(v.priority||0)<(E.priority||0))&&(v=E)}return v!==null?v.conversion:null}(l,t),i=c?c(l):null;let u=null;if(i!==null){u=i.after;const h=i.node;if(a=Array.isArray(h)?h[h.length-1]:h,a!==null){for(const[,m]of s)if(a=m(a,r),!a)break;a&&o.push(...Array.isArray(h)?h:[a])}i.forChild!=null&&s.set(l.nodeName,i.forChild)}const d=l.childNodes;let f=[];const p=(a==null||!ro(a))&&(a!=null&&ym(a)||e);for(let h=0;h<d.length;h++)f.push(...K1(d[h],t,n,p,new Map(s),a));return u!=null&&(f=u(f)),qk(l)&&(f=$T(l,f,p?()=>{const h=new xm;return n.push(h),h}:En)),a==null?o=o.concat(f):Tt(a)&&a.append(...f),o}function $T(l,t,n){const e=l.style.textAlign,s=[];let r=[];for(let o=0;o<t.length;o++){const a=t[o];if(ym(a))e&&!a.getFormat()&&a.setFormat(e),s.push(a);else if(r.push(a),o===t.length-1||o<t.length-1&&ym(t[o+1])){const c=n();c.setFormat(e),c.append(...r),s.push(c),r=[]}}return s}function YT(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var Fp=YT(function(l){const t=new URLSearchParams;t.append("code",l);for(let n=1;n<arguments.length;n++)t.append("v",arguments[n]);throw Error(`Minified Lexical error #${l}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)});const ZT=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0,G1=l=>ZT?(l||window).getSelection():null;function $1(l){const t=jt();return t==null&&Fp(166),St(t)&&t.isCollapsed()||t.getNodes().length===0?"":W1(l,t)}function QT(l){const t=jt();return t==null&&Fp(166),St(t)&&t.isCollapsed()||t.getNodes().length===0?null:JSON.stringify(XT(l,t))}function Y1(l,t){const n=l.getData("text/plain")||l.getData("text/uri-list");n!=null&&t.insertRawText(n)}function Z1(l,t,n){const e=l.getData("application/x-lexical-editor");if(e)try{const o=JSON.parse(e);if(o.namespace===n._config.namespace&&Array.isArray(o.nodes))return Q1(n,eA(o.nodes),t)}catch{}const s=l.getData("text/html");if(s)try{const o=new DOMParser().parseFromString(s,"text/html");return Q1(n,Ed(n,o),t)}catch{}const r=l.getData("text/plain")||l.getData("text/uri-list");if(r!=null)if(St(t)){const o=r.split(/(\r?\n|\t)/);o[o.length-1]===""&&o.pop();for(let a=0;a<o.length;a++){const c=jt();if(St(c)){const i=o[a];i===`
65
65
  `||i===`\r
66
- `?c.insertParagraph():i===" "?c.insertNodes([yc()]):c.insertText(i)}}}else t.insertRawText(r)}function Q1(l,t,n){l.dispatchCommand(Nv,{nodes:t,selection:n})||n.insertNodes(t)}function X1(l,t,n,e=[]){let s=t===null||n.isSelected(t);const r=Tt(n)&&n.excludeFromCopy("html");let o=n;if(t!==null){let i=u_(n);i=Jt(i)&&t!==null?d_(t,i):i,o=i}const a=Tt(o)?o.getChildren():[],c=function(i){const u=i.exportJSON(),d=i.constructor;if(u.type!==d.getType()&&Fp(58,d.name),Tt(i)){const f=u.children;Array.isArray(f)||Fp(59,d.name)}return u}(o);if(Jt(o)){const i=o.__text;i.length>0?c.text=i:s=!1}for(let i=0;i<a.length;i++){const u=a[i],d=X1(l,t,u,c.children);!s&&Tt(n)&&d&&n.extractWithChild(u,t,"clone")&&(s=!0)}if(s&&!r)e.push(c);else if(Array.isArray(c.children))for(let i=0;i<c.children.length;i++){const u=c.children[i];e.push(u)}return s}function XT(l,t){const n=[],e=Mn().getChildren();for(let s=0;s<e.length;s++)X1(l,t,e[s],n);return{namespace:l._config.namespace,nodes:n}}function eA(l){const t=[];for(let n=0;n<l.length;n++){const e=l[n],s=s2(e);Jt(s)&&d2(s),t.push(s)}return t}let Nc=null;async function ew(l,t){if(Nc!==null)return!1;if(t!==null)return new Promise((a,c)=>{l.update(()=>{a(tw(l,t))})});const n=l.getRootElement(),e=l._window==null?window.document:l._window.document,s=G1(l._window);if(n===null||s===null)return!1;const r=e.createElement("span");r.style.cssText="position: fixed; top: -1000px;",r.append(e.createTextNode("#")),n.append(r);const o=new Range;return o.setStart(r,0),o.setEnd(r,1),s.removeAllRanges(),s.addRange(o),new Promise((a,c)=>{const i=l.registerCommand(Vu,u=>(Ws(u,ClipboardEvent)&&(i(),Nc!==null&&(window.clearTimeout(Nc),Nc=null),a(tw(l,u))),!0),wo);Nc=window.setTimeout(()=>{i(),Nc=null,a(!1)},50),e.execCommand("copy"),r.remove()})}function tw(l,t){const n=G1(l._window);if(!n)return!1;const e=n.anchorNode,s=n.focusNode;if(e!==null&&s!==null&&!$u(l,e,s))return!1;t.preventDefault();const r=t.clipboardData,o=jt();if(r===null||o===null)return!1;const a=$1(l),c=QT(l);let i="";return o!==null&&(i=o.getTextContent()),a!==null&&r.setData("text/html",a),c!==null&&r.setData("application/x-lexical-editor",c),r.setData("text/plain",i),!0}function nw(l,t){if(document.caretRangeFromPoint!==void 0){const n=document.caretRangeFromPoint(l,t);return n===null?null:{node:n.startContainer,offset:n.startOffset}}if(document.caretPositionFromPoint!=="undefined"){const n=document.caretPositionFromPoint(l,t);return n===null?null:{node:n.offsetNode,offset:n.offset}}return null}const Pc=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0,tA=Pc&&"documentMode"in document?document.documentMode:null,nA=!(!Pc||!("InputEvent"in window)||tA)&&"getTargetRanges"in new window.InputEvent("input"),rA=Pc&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),oA=Pc&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,iA=Pc&&/^(?=.*Chrome).*/i.test(navigator.userAgent),sA=Pc&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!iA,uy=po();class Bp extends Br{static getType(){return"quote"}static clone(t){return new Bp(t.__key)}constructor(t){super(t)}createDOM(t){const n=document.createElement("blockquote");return zr(n,t.theme.quote),n}updateDOM(t,n){return!1}static importDOM(){return{blockquote:t=>({conversion:lA,priority:0})}}exportDOM(t){const{element:n}=super.exportDOM(t);if(n&&Di(n)){this.isEmpty()&&n.append(document.createElement("br"));const e=this.getFormatType();n.style.textAlign=e;const s=this.getDirection();s&&(n.dir=s)}return{element:n}}static importJSON(t){const n=rw();return n.setFormat(t.format),n.setIndent(t.indent),n.setDirection(t.direction),n}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(t,n){const e=En(),s=this.getDirection();return e.setDirection(s),this.insertAfter(e,n),e}collapseAtStart(){const t=En();return this.getChildren().forEach(n=>t.append(n)),this.replace(t),!0}}function rw(){return Pr(new Bp)}function aA(l){return l instanceof Bp}class zp extends Br{static getType(){return"heading"}static clone(t){return new zp(t.__tag,t.__key)}constructor(t,n){super(n),this.__tag=t}getTag(){return this.__tag}createDOM(t){const n=this.__tag,e=document.createElement(n),s=t.theme.heading;if(s!==void 0){const r=s[n];zr(e,r)}return e}updateDOM(t,n){return!1}static importDOM(){return{h1:t=>({conversion:Ic,priority:0}),h2:t=>({conversion:Ic,priority:0}),h3:t=>({conversion:Ic,priority:0}),h4:t=>({conversion:Ic,priority:0}),h5:t=>({conversion:Ic,priority:0}),h6:t=>({conversion:Ic,priority:0}),p:t=>{const n=t.firstChild;return n!==null&&ow(n)?{conversion:()=>({node:null}),priority:3}:null},span:t=>ow(t)?{conversion:n=>({node:Cd("h1")}),priority:3}:null}}exportDOM(t){const{element:n}=super.exportDOM(t);if(n&&Di(n)){this.isEmpty()&&n.append(document.createElement("br"));const e=this.getFormatType();n.style.textAlign=e;const s=this.getDirection();s&&(n.dir=s)}return{element:n}}static importJSON(t){const n=Cd(t.tag);return n.setFormat(t.format),n.setIndent(t.indent),n.setDirection(t.direction),n}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(t,n=!0){const e=t?t.anchor.offset:0,s=e!==this.getTextContentSize()&&t?Cd(this.getTag()):En(),r=this.getDirection();if(s.setDirection(r),this.insertAfter(s,n),e===0&&!this.isEmpty()&&t){const o=En();o.select(),this.replace(o,!0)}return s}collapseAtStart(){const t=this.isEmpty()?En():Cd(this.getTag());return this.getChildren().forEach(n=>t.append(n)),this.replace(t),!0}extractWithChild(){return!0}}function ow(l){return l.nodeName.toLowerCase()==="span"&&l.style.fontSize==="26pt"}function Ic(l){const t=l.nodeName.toLowerCase();let n=null;return t!=="h1"&&t!=="h2"&&t!=="h3"&&t!=="h4"&&t!=="h5"&&t!=="h6"||(n=Cd(t),l.style!==null&&n.setFormat(l.style.textAlign)),{node:n}}function lA(l){const t=rw();return l.style!==null&&t.setFormat(l.style.textAlign),{node:t}}function Cd(l){return Pr(new zp(l))}function jd(l){return l instanceof zp}function Up(l){let t=null;if(Ws(l,DragEvent)?t=l.dataTransfer:Ws(l,ClipboardEvent)&&(t=l.clipboardData),t===null)return[!1,[],!1];const n=t.types,e=n.includes("Files"),s=n.includes("text/html")||n.includes("text/plain");return[e,Array.from(t.files),s]}function iw(l){const t=jt();if(!St(t))return!1;const n=new Set,e=t.getNodes();for(let s=0;s<e.length;s++){const r=e[s],o=r.getKey();if(n.has(o))continue;const a=er(r,i=>Tt(i)&&!i.isInline());if(a===null)continue;const c=a.getKey();a.canIndent()&&!n.has(c)&&(n.add(c),l(a))}return n.size>0}function Hp(l){const t=ho(l);return hr(t)}function cA(l){return wr(l.registerCommand(ba,t=>{const n=jt();return!!fr(n)&&(n.clear(),!0)},0),l.registerCommand(Yi,t=>{const n=jt();return!!St(n)&&(n.deleteCharacter(t),!0)},Tn),l.registerCommand(ml,t=>{const n=jt();return!!St(n)&&(n.deleteWord(t),!0)},Tn),l.registerCommand(xa,t=>{const n=jt();return!!St(n)&&(n.deleteLine(t),!0)},Tn),l.registerCommand(wa,t=>{const n=jt();if(typeof t=="string")n!==null&&n.insertText(t);else{if(n===null)return!1;const e=t.dataTransfer;if(e!=null)Z1(e,n,l);else if(St(n)){const s=t.data;return s&&n.insertText(s),!0}}return!0},Tn),l.registerCommand(Af,()=>{const t=jt();return!!St(t)&&(t.removeText(),!0)},Tn),l.registerCommand(Yr,t=>{const n=jt();return!!St(n)&&(n.formatText(t),!0)},Tn),l.registerCommand(yl,t=>{const n=jt();if(!St(n)&&!fr(n))return!1;const e=n.getNodes();for(const s of e){const r=er(s,o=>Tt(o)&&!o.isInline());r!==null&&r.setFormat(t)}return!0},Tn),l.registerCommand(_a,t=>{const n=jt();return!!St(n)&&(n.insertLineBreak(t),!0)},Tn),l.registerCommand(gl,()=>{const t=jt();return!!St(t)&&(t.insertParagraph(),!0)},Tn),l.registerCommand(ck,()=>(Xo([yc()]),!0),Tn),l.registerCommand(Eg,()=>iw(t=>{const n=t.getIndent();t.setIndent(n+1)}),Tn),l.registerCommand(Cg,()=>iw(t=>{const n=t.getIndent();n>0&&t.setIndent(n-1)}),Tn),l.registerCommand(qu,t=>{const n=jt();if(fr(n)&&!Hp(t.target)){const e=n.getNodes();if(e.length>0)return e[0].selectPrevious(),!0}else if(St(n)){const e=ed(n.focus,!0);if(!t.shiftKey&&hr(e)&&!e.isIsolated()&&!e.isInline())return e.selectPrevious(),t.preventDefault(),!0}return!1},Tn),l.registerCommand(Wu,t=>{const n=jt();if(fr(n)){const e=n.getNodes();if(e.length>0)return e[0].selectNext(0,0),!0}else if(St(n)){if(function(s){const r=s.focus;return r.key==="root"&&r.offset===Mn().getChildrenSize()}(n))return t.preventDefault(),!0;const e=ed(n.focus,!1);if(!t.shiftKey&&hr(e)&&!e.isIsolated()&&!e.isInline())return e.selectNext(),t.preventDefault(),!0}return!1},Tn),l.registerCommand(Nf,t=>{const n=jt();if(fr(n)){const e=n.getNodes();if(e.length>0)return t.preventDefault(),e[0].selectPrevious(),!0}if(!St(n))return!1;if(hp(n,!0)){const e=t.shiftKey;return t.preventDefault(),gp(n,e,!0),!0}return!1},Tn),l.registerCommand(Of,t=>{const n=jt();if(fr(n)&&!Hp(t.target)){const s=n.getNodes();if(s.length>0)return t.preventDefault(),s[0].selectNext(0,0),!0}if(!St(n))return!1;const e=t.shiftKey;return!!hp(n,!1)&&(t.preventDefault(),gp(n,e,!1),!0)},Tn),l.registerCommand(Zi,t=>{if(Hp(t.target))return!1;const n=jt();if(!St(n))return!1;t.preventDefault();const{anchor:e}=n,s=e.getNode();return n.isCollapsed()&&e.offset===0&&!Uo(s)&&jm(s).getIndent()>0?l.dispatchCommand(Cg,void 0):l.dispatchCommand(Yi,!0)},Tn),l.registerCommand(Qi,t=>{if(Hp(t.target))return!1;const n=jt();return!!St(n)&&(t.preventDefault(),l.dispatchCommand(Yi,!1))},Tn),l.registerCommand(Ls,t=>{const n=jt();if(!St(n))return!1;if(t!==null){if((oA||rA||sA)&&nA)return!1;if(t.preventDefault(),t.shiftKey)return l.dispatchCommand(_a,!1)}return l.dispatchCommand(gl,void 0)},Tn),l.registerCommand(Fs,()=>{const t=jt();return!!St(t)&&(l.blur(),!0)},Tn),l.registerCommand(Pf,t=>{const[,n]=Up(t);if(n.length>0){const s=nw(t.clientX,t.clientY);if(s!==null){const{offset:r,node:o}=s,a=ho(o);if(a!==null){const c=vc();if(Jt(a))c.anchor.set(a.getKey(),r,"text"),c.focus.set(a.getKey(),r,"text");else{const u=a.getParentOrThrow().getKey(),d=a.getIndexWithinParent()+1;c.anchor.set(u,d,"element"),c.focus.set(u,d,"element")}const i=zg(c);jr(i)}l.dispatchCommand(uy,n)}return t.preventDefault(),!0}const e=jt();return!!St(e)},Tn),l.registerCommand(ac,t=>{const[n]=Up(t),e=jt();return!(n&&!St(e))},Tn),l.registerCommand(jg,t=>{const[n]=Up(t),e=jt();if(n&&!St(e))return!1;const s=nw(t.clientX,t.clientY);if(s!==null){const r=ho(s.node);hr(r)&&t.preventDefault()}return!0},Tn),l.registerCommand(If,()=>(sb(),!0),Tn),l.registerCommand(Vu,t=>(ew(l,Ws(t,ClipboardEvent)?t:null),!0),Tn),l.registerCommand(Ku,t=>(async function(n,e){await ew(e,Ws(n,ClipboardEvent)?n:null),e.update(()=>{const s=jt();St(s)?s.removeText():fr(s)&&s.getNodes().forEach(r=>r.remove())})}(t,l),!0),Tn),l.registerCommand(vs,t=>{const[,n,e]=Up(t);return n.length>0&&!e?(l.dispatchCommand(uy,n),!0):Ug(t.target)?!1:jt()!==null&&(function(s,r){s.preventDefault(),r.update(()=>{const o=jt(),a=Ws(s,InputEvent)||Ws(s,KeyboardEvent)?null:s.clipboardData;a!=null&&o!==null&&Z1(a,o,r)},{tag:"paste"})}(t,l),!0)},Tn))}const dy=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;function sw(l){return l.getEditorState().read(B1(l.isComposing()))}function qp({contentEditable:l,placeholder:t,ErrorBoundary:n}){const[e]=yn(),s=function(r,o){const[a,c]=he.useState(()=>r.getDecorators());return dy(()=>r.registerDecoratorListener(i=>{ao.flushSync(()=>{c(i)})}),[r]),he.useEffect(()=>{c(r.getDecorators())},[r]),he.useMemo(()=>{const i=[],u=Object.keys(a);for(let d=0;d<u.length;d++){const f=u[d],p=ae.jsx(o,{onError:m=>r._onError(m),children:ae.jsx(he.Suspense,{fallback:null,children:a[f]})}),h=r.getElementByKey(f);h!==null&&i.push(ao.createPortal(p,h,f))}return i},[o,a,r])}(e,n);return function(r){dy(()=>wr(cA(r),q1(r)),[r])}(e),ae.jsxs(ae.Fragment,{children:[l,ae.jsx(uA,{content:t}),s]})}function uA({content:l}){const[t]=yn(),n=function(s){const[r,o]=he.useState(()=>sw(s));return dy(()=>{function a(){const c=sw(s);o(c)}return a(),wr(s.registerUpdateListener(()=>{a()}),s.registerEditableListener(()=>{a()}))},[s]),r}(t),e=cy();return n?typeof l=="function"?l(e):l:null}function dA(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var Wp=dA(function(l){const t=new URLSearchParams;t.append("code",l);for(let n=1;n<arguments.length;n++)t.append("v",arguments[n]);throw Error(`Minified Lexical error #${l}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)});function aw({hasCellMerge:l=!0,hasCellBackgroundColor:t=!0,hasTabHandler:n=!0}){const[e]=yn();return he.useEffect(()=>(e.hasNodes([Ss,is,jl])||Wp(10),wr(e.registerCommand(G2,({columns:s,rows:r,includeHeaders:o})=>{const a=Hm(Number(r),Number(s),o);Sl(a);const c=a.getFirstDescendant();return Jt(c)&&c.select(),!0},Tn),e.registerNodeTransform(Ss,s=>{const[r]=s1(s,null,null),o=r.reduce((a,c)=>Math.max(a,c.length),0);for(let a=0;a<r.length;++a){const c=r[a].length;if(c===o)continue;const i=r[a][c-1].cell;for(let u=c;u<o;++u){const d=Si(0);d.append(En()),i!==null?i.insertAfter(d):__(i,d)}}}))),[e]),he.useEffect(()=>{const s=new Map,r=a=>{const c=a.getKey(),i=e.getElementByKey(c);if(i&&!s.has(c)){const u=sT(a,i,e,n);s.set(c,u)}};e.getEditorState().read(()=>{const a=ab(Ss);for(const c of a)dr(c)&&r(c)});const o=e.registerMutationListener(Ss,a=>{for(const[c,i]of a)if(i==="created")e.getEditorState().read(()=>{const u=Dn(c);dr(u)&&r(u)});else if(i==="destroyed"){const u=s.get(c);u!==void 0&&(u.removeListeners(),s.delete(c))}});return()=>{o();for(const[,a]of s)a.removeListeners()}},[e,n]),he.useEffect(()=>{if(!l)return e.registerNodeTransform(is,s=>{if(s.getColSpan()>1||s.getRowSpan()>1){const[,,r]=Po(s),[o]=ss(r,s,s),a=o.length,c=o[0].length;let i=r.getFirstChild();Dr(i)||Wp(175);const u=[];for(let d=0;d<a;d++){d!==0&&(i=i.getNextSibling(),Dr(i)||Wp(175));let f=null;for(let p=0;p<c;p++){const h=o[d][p],m=h.cell;if(h.startRow===d&&h.startColumn===p)f=m,u.push(m);else if(m.getColSpan()>1||m.getRowSpan()>1){bn(m)||Wp(176);const g=Si(m.__headerState);f!==null?f.insertAfter(g):__(i,g)}}}for(const d of u)d.setColSpan(1),d.setRowSpan(1)}})},[e,l]),he.useEffect(()=>{if(!t)return e.registerNodeTransform(is,s=>{s.getBackgroundColor()!==null&&s.setBackgroundColor(null)})},[e,t,l]),null}function fA(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var pA=fA(function(l){const t=new URLSearchParams;t.append("code",l);for(let n=1;n<arguments.length;n++)t.append("v",arguments[n]);throw Error(`Minified Lexical error #${l}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)});function lw(l,t=n=>n){return n=>{const e=l.exec(n);return e===null?null:{index:e.index,length:e[0].length,text:e[0],url:t(e[0])}}}function cw(l,t){for(let n=0;n<t.length;n++){const e=t[n](l);if(e)return e}return null}const hA=/[.,;\s]/;function Jp(l){return hA.test(l)}function uw(l){return Jp(l[l.length-1])}function fy(l){return Jp(l[0])}function dw(l){let t=l.getPreviousSibling();return Tt(t)&&(t=t.getLastDescendant()),t===null||_s(t)||Jt(t)&&uw(t.getTextContent())}function fw(l){let t=l.getNextSibling();return Tt(t)&&(t=t.getFirstDescendant()),t===null||_s(t)||Jt(t)&&fy(t.getTextContent())}function gA(l,t,n,e){return(l>0?Jp(n[l-1]):dw(e[0]))?t<n.length?Jp(n[t]):fw(e[e.length-1]):!1}function mA(l,t,n){const e=[],s=[],r=[];let o=0,a=0;const c=[...l];for(;c.length>0;){const i=c[0],u=i.getTextContent().length,d=a;a+u<=t?(e.push(i),o+=u):d>=n?r.push(i):s.push(i),a+=u,c.shift()}return[o,e,s,r]}function yA(l,t,n,e){const s=Dm(e.url,e.attributes);if(l.length===1){let r,o=l[0];t===0?[r,o]=o.splitText(n):[,r,o]=o.splitText(t,n);const a=rr(e.text);return a.setFormat(r.getFormat()),a.setDetail(r.getDetail()),a.setStyle(r.getStyle()),s.append(a),r.replace(s),o}if(l.length>1){const r=l[0];let o,a=r.getTextContent().length;t===0?o=r:[,o]=r.splitText(t);const c=[];let i;for(let p=1;p<l.length;p++){const h=l[p],m=h.getTextContent().length,g=a;if(g<n)if(a+m<=n)c.push(h);else{const[b,v]=h.splitText(n-g);c.push(b),i=v}a+=m}const u=jt(),d=u?u.getNodes().find(Jt):void 0,f=rr(o.getTextContent());return f.setFormat(o.getFormat()),f.setDetail(o.getDetail()),f.setStyle(o.getStyle()),s.append(f,...c),d&&d===o&&(St(u)?f.select(u.anchor.offset,u.focus.offset):fr(u)&&f.select(0,f.getTextContent().length)),o.replace(s),i}}function py(l,t,n){const e=l.getChildren(),s=e.length;for(let c=0;c<s;c++){const i=e[c];if(!Jt(i)||!i.isSimpleText())return Vp(l),void n(null,l.getURL())}const r=l.getTextContent(),o=cw(r,t);if(o===null||o.text!==r||!dw(l)||!fw(l))return Vp(l),void n(null,l.getURL());const a=l.getURL();if(a!==o.url&&(l.setURL(o.url),n(o.url,a)),o.attributes){const c=l.getRel();c!==o.attributes.rel&&(l.setRel(o.attributes.rel||null),n(o.attributes.rel||null,c));const i=l.getTarget();i!==o.attributes.target&&(l.setTarget(o.attributes.target||null),n(o.attributes.target||null,i))}}function Vp(l){const t=l.getChildren();for(let n=t.length-1;n>=0;n--)l.insertAfter(t[n]);return l.remove(),t.map(n=>n.getLatest())}function vA(l,t,n){he.useEffect(()=>{l.hasNodes([pd])||pA(77);const e=(s,r)=>{n&&n(s,r)};return wr(l.registerNodeTransform(Zr,s=>{const r=s.getParentOrThrow(),o=s.getPreviousSibling();if(Ec(r)&&!r.getIsUnlinked())py(r,t,e);else if(!ti(r)){if(s.isSimpleText()&&(fy(s.getTextContent())||!Ec(o))){const a=function(c){const i=[c];let u=c.getNextSibling();for(;u!==null&&Jt(u)&&u.isSimpleText()&&(i.push(u),!/[\s]/.test(u.getTextContent()));)u=u.getNextSibling();return i}(s);(function(c,i,u){let d=[...c];const f=d.map(g=>g.getTextContent()).join("");let p,h=f,m=0;for(;(p=cw(h,i))&&p!==null;){const g=p.index,b=g+p.length;if(gA(m+g,m+b,f,d)){const[v,,_,E]=mA(d,m+g,m+b),S=yA(_,m+g-v,m+b-v,p);d=S?[S,...E]:E,u(p.url,null),m=0}else m+=b;h=h.substring(b)}})(a,t,e)}(function(a,c,i){const u=a.getPreviousSibling(),d=a.getNextSibling(),f=a.getTextContent();!Ec(u)||u.getIsUnlinked()||fy(f)&&!/^\.[a-zA-Z0-9]{1,}/.test(f)||(u.append(a),py(u,c,i),i(null,u.getURL())),!Ec(d)||d.getIsUnlinked()||uw(f)||(Vp(d),py(d,c,i),i(null,d.getURL()))})(s,t,e)}}),l.registerCommand(Pa,s=>{const r=jt();return s!==null||!St(r)||r.extract().forEach(o=>{const a=o.getParent();if(Ec(a))return a.setIsUnlinked(!a.getIsUnlinked()),a.markDirty(),!0}),!1},Jn))},[l,t,n])}function bA({matchers:l,onChange:t}){const[n]=yn();return vA(n,l,t),null}const _A=/((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/,wA=/(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/,xA=[lw(_A,l=>l.startsWith("http")?l:`https://${l}`),lw(wA,l=>`mailto:${l}`)];function pw(){return ae.jsx(bA,{matchers:xA})}function SA({accept:l,label:t,onChange:n,"data-test-id":e}){return ae.jsxs("div",{className:"Input__wrapper",children:[ae.jsx("label",{className:"Input__label",children:t}),ae.jsx("input",{type:"file",accept:l,className:"Input__input",onChange:s=>n(s.target.files),"data-test-id":e})]})}const Mc=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",EA=l=>Mc?(l||window).getSelection():null,Kp=po();function CA({onClick:l}){const[t,n]=he.useState(""),[e,s]=he.useState(""),r=t==="",o=a=>{const c=new FileReader;c.onload=function(){return typeof c.result=="string"&&n(c.result),""},a!==null&&c.readAsDataURL(a[0])};return ae.jsxs(ae.Fragment,{children:[ae.jsx(SA,{label:"Image Upload",onChange:o,accept:"image/*","data-test-id":"image-modal-file-upload"}),ae.jsx(Oc,{label:"Alt Text",placeholder:"Descriptive alternative text",onChange:s,value:e,"data-test-id":"image-modal-alt-text-input"}),ae.jsx(Rp,{children:ae.jsx(Fi,{"data-test-id":"image-modal-file-upload-btn",disabled:r,onClick:()=>l({altText:e,src:t}),children:"Confirm"})})]})}function jA({activeEditor:l,onClose:t,enableCaptions:n}){const[e,s]=he.useState("file"),r=he.useRef(!1);he.useEffect(()=>{r.current=!1;const a=c=>{r.current=c.altKey};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[l]);const o=a=>{l.dispatchCommand(Kp,a),console.log("line 202 imageplugin insert image"),t()};return ae.jsx(ae.Fragment,{children:e==="file"&&ae.jsx(CA,{onClick:o})})}function hw(l,t,n,e,s){l.preventDefault();const r=l.clipboardData;if(!r)return!1;const o=r.items;if(!o||o.length===0)return!1;let a=!1,c=!1;const i=o.length>1?o[1]:o[0];let u=1;if(u===1){if(u=2,i.type==="text/html"&&!a){const d=r.getData("text/html"),p=new DOMParser().parseFromString(d,"text/html").querySelector("img");p&&p.src&&(fetch(p.src).then(h=>h.blob()).then(h=>{const m=new File([h],"pasted-image.png",{type:"image/png"});gw(m,t,e)}).catch(h=>console.error("Error fetching pasted image:",h)),a=!0)}else if(i.type.startsWith("image/")&&!a){const d=i.getAsFile();d&&(gw(d,t,e,s),a=!0)}}return!(!a&&!c)}function gw(l,t,n,e){const s=new FileReader;s.onload=()=>{const r=s.result,a={altText:l.name,src:r};t.update(()=>{const u=Mn().getChildren().filter(b=>_r(b)&&b.getChildren().some(v=>v.getTextContent().startsWith("Figure"))).length+1,d=`Figure ${u}:`,f=Rc("Figure",u,e),p=new qo(d,"black",f);p.__captionId=f;const h=Tc({...a,figureLabel:d});h.__captionId=f;const m=En();m.setFormat("left");const g=rs();if(m.append(h,g),n){const v=rr("");v.setStyle("color: black; font-style: italic; font-weight: bold;"),m.append(p,v)}if(Xo([m]),ro(h.getParentOrThrow())&&km(h,En).selectEnd(),n){const b=Mn().getChildren();let v=1;b.forEach(_=>{if(_r(_)){const E=_.getChildren().find(S=>S.getTextContent().startsWith("Figure"));if(E){const S=E.getTextContent(),w=S.indexOf(":"),y=w!==-1?S.slice(w):"",x=`Figure ${v++}${y}`;(Jt(E)||E instanceof qo)&&E.setTextContent(x)}}})}})},s.readAsDataURL(l)}function mw({enableCaptions:l=!0,wpAndTaskId:t}){const[n]=yn(),[e,s]=he.useState("");return he.useEffect(()=>{if(!n.hasNodes([Op]))throw new Error("ImagesPlugin: ImageNode not registered on editor");let r=0;return wr(n.registerCommand(Kp,o=>{r+=1;const a=Rc("Figure",r,t);if(l){const c=`Figure ${r}:`,i=Rc("Figure",r,t),u=new qo(c,"black",i);u.__captionId=i,u.__captionId=a;const d=Tc({...o});d.__captionId=a;const f=En();f.setFormat("left");const p=e.trim()===""?"":e,h=rr(p);h.setStyle(p?"color: black; font-style: italic; font-weight: bold;":"color: gray; font-style: italic; font-weight: normal;"),f.append(d,u,h),Xo([f]),ro(d.getParentOrThrow())&&km(d,En).selectEnd()}else{const c=Tc(o),i=En();i.setFormat("left"),i.append(c),Xo([i]),ro(c.getParentOrThrow())&&km(c,En).selectEnd()}return n.update(()=>{const i=Mn().getChildren().filter(_r);let u=1;i.forEach(d=>{const f=d.getChildren().find(v=>v.getTextContent().startsWith("Figure"));if(!f)return;const p=f.__captionId,h=d.getChildren().find(Vs),m=h?h.__captionId:void 0,g=p??m??Rc(f.getTextContent(),u,t),b=new qo(`Figure ${u}:`,"black",g);b.__captionId=g,u++})}),!0},Tn),n.registerCommand(ac,o=>TA(o),xi),n.registerCommand(jg,o=>AA(o),Jn),n.registerCommand(Pf,o=>OA(o,n),xi),n.registerCommand(vs,o=>{var c;const a=(c=o.clipboardData)==null?void 0:c.items;return(a==null?void 0:a.length)<=2&&(a!=null&&a.length)?hw(o,n,e,l,t):!1},xi))},[l,n]),null}function Rc(l,t,n){let e=5381;const s=String(t);for(let r=0;r<s.length;r++)e=(e<<5)+e+s.charCodeAt(r);return`${n}-Image-${t}-${Math.abs(e%1e6)}`}const kA="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",yw=document.createElement("img");yw.src=kA;function TA(l){const t=hy();if(!t)return!1;const n=l.dataTransfer;return n?(n.setData("text/plain","_"),n.setDragImage(yw,0,0),n.setData("application/x-lexical-drag",JSON.stringify({data:{altText:t.__altText,caption:t.__caption,height:t.__height,key:t.getKey(),maxWidth:t.__maxWidth,showCaption:t.__showCaption,src:t.__src,width:t.__width},type:"image"})),!0):!1}function AA(l){return hy()?(vw(l)||l.preventDefault(),!0):!1}function OA(l,t){const n=hy();if(!n)return!1;const e=NA(l);if(!e)return!1;if(l.preventDefault(),vw(l)){const s=PA(l);n.remove();const r=vc();s!=null&&r.applyDOMRange(s),jr(r),t.dispatchCommand(Kp,e)}return!0}function hy(){const l=jt();if(!fr(l))return null;const n=l.getNodes()[0];return Vs(n)?n:null}function NA(l){var s;const t=(s=l.dataTransfer)==null?void 0:s.getData("application/x-lexical-drag");if(!t)return null;const{type:n,data:e}=JSON.parse(t);return n!=="image"?null:e}function vw(l){const t=l.target;return!!(t&&t instanceof HTMLElement&&!t.closest("code, span.editor-image")&&t.parentElement&&t.parentElement.closest("div.ContentEditable__root"))}function PA(l){let t;const n=l.target,e=n==null?null:n.nodeType===9?n.defaultView:n.ownerDocument.defaultView,s=EA(e);if(document.caretRangeFromPoint)t=document.caretRangeFromPoint(l.clientX,l.clientY);else if(l.rangeParent&&s!==null)s.collapse(l.rangeParent,l.rangeOffset||0),t=s.getRangeAt(0);else throw Error("Cannot get the selection when dragging");return t}const bw=["image/","image/heic","image/heif","image/gif","image/webp"];function _w(){const[l]=yn();return he.useEffect(()=>l.registerCommand(uy,t=>((async()=>{const n=await b2(t,[bw].flatMap(e=>e));for(const{file:e,result:s}of n)y_(e,bw)&&l.dispatchCommand(Kp,{altText:e.name,src:s})})(),!0),Jn),[l]),null}const IA=/(^|$|[^A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ])(congrats|congratulations|gratuluju|gratuluji|gratulujeme|blahopřeju|blahopřeji|blahopřejeme|Til lykke|Tillykke|Glückwunsch|Gratuliere|felicitaciones|enhorabuena|paljon onnea|onnittelut|Félicitations|gratula|gratulálok|gratulálunk|congratulazioni|complimenti|おめでとう|おめでとうございます|축하해|축하해요|gratulerer|Gefeliciteerd|gratulacje|Parabéns|parabéns|felicitações|felicitări|мои поздравления|поздравляем|поздравляю|gratulujem|blahoželám|ยินดีด้วย|ขอแสดงความยินดี|tebrikler|tebrik ederim|恭喜|祝贺你|恭喜你|恭喜|恭喜|baie geluk|veels geluk|অভিনন্দন|Čestitam|Čestitke|Čestitamo|Συγχαρητήρια|Μπράβο|અભિનંદન|badhai|बधाई|अभिनंदन|Честитам|Свака част|hongera|வாழ்த்துகள்|வாழ்த்துக்கள்|అభినందనలు|അഭിനന്ദനങ്ങൾ|Chúc mừng|מזל טוב|mazel tov|mazal tov)(^|$|[^A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ])/i;function ww(){const[l]=yn();he.useEffect(()=>{if(!l.hasNodes([Ac]))throw new Error("KeywordsPlugin: KeywordNode not registered on editor")},[l]);const t=he.useCallback(e=>x1(e.getTextContent()),[]),n=he.useCallback(e=>{const s=IA.exec(e);if(s===null)return null;const r=s[2].length,o=s.index+s[1].length;return{end:o+r,start:o}},[]);return z1(n,Ac,t),null}function MA({validateUrl:l}){const[t]=yn();return he.useEffect(()=>{if(!t.hasNodes([Sc]))throw new Error("LinkPlugin: LinkNode not registered on editor");return wr(t.registerCommand(Pa,n=>{if(n===null)return Lm(n),!0;if(typeof n=="string")return!(l!==void 0&&!l(n))&&(Lm(n),!0);{const{url:e,target:s,rel:r,title:o}=n;return Lm(e,{rel:r,target:s,title:o}),!0}},Jn),l!==void 0?t.registerCommand(vs,n=>{const e=jt();if(!St(e)||e.isCollapsed()||!Ws(n,ClipboardEvent))return!1;const s=n;if(s.clipboardData===null)return!1;const r=s.clipboardData.getData("text");return!!l(r)&&!e.getNodes().some(o=>Tt(o))&&(t.dispatchCommand(Pa,r),n.preventDefault(),!0)},Jn):()=>{})},[t,l]),null}const RA=new Set(["http:","https:","mailto:","sms:","tel:"]);function xw(l){try{const t=new URL(l);if(!RA.has(t.protocol))return"about:blank"}catch{return l}return l}const DA=new RegExp(/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)/);function LA(l){return l==="https://"||DA.test(l)}function gy(){return ae.jsx(MA,{validateUrl:LA})}function FA(l){const t=l.getNodes();return t.length===0?new Set([l.anchor.getNode().getParentOrThrow(),l.focus.getNode().getParentOrThrow()]):new Set(t.map(n=>Tt(n)?n:n.getParentOrThrow()))}function BA(l){const t=jt();if(!St(t))return!1;const n=FA(t);let e=0;for(const s of n)if(sr(s))e=Math.max(Fm(s)+1,e);else if(Kr(s)){const r=s.getParent();if(!sr(r))throw new Error("ListMaxIndentLevelPlugin: A ListItemNode must have a ListNode for a parent.");e=Math.max(Fm(r)+1,e)}return e<=l}function Sw({maxDepth:l}){const[t]=yn();return he.useEffect(()=>t.registerCommand(Eg,()=>!BA(l??7),wo),[t,l]),null}const zA=1,UA=100;let Ew=0,Cw=!1;function HA(){window.addEventListener("keydown",l=>{l.key==="Tab"&&(Ew=l.timeStamp)},!0)}function jw(){const[l]=yn();return he.useEffect(()=>(Cw||(HA(),Cw=!0),l.registerCommand(kg,t=>{const n=jt();return St(n)&&Ew+UA>t.timeStamp&&jr(n.clone()),!1},zA)),[l]),null}const ID="";function qA({onClose:l,children:t,title:n,closeOnClickOutside:e}){const s=he.useRef(null);return he.useEffect(()=>{s.current!==null&&s.current.focus()},[]),he.useEffect(()=>{let r=null;const o=i=>{i.key==="Escape"&&l()},a=i=>{const u=i.target;s.current!==null&&!s.current.contains(u)&&e&&l()},c=s.current;return c!==null&&(r=c.parentElement,r!==null&&r.addEventListener("click",a)),window.addEventListener("keydown",o),()=>{window.removeEventListener("keydown",o),r!==null&&(r==null||r.removeEventListener("click",a))}},[e,l]),ae.jsx("div",{className:"Modal__overlay",role:"dialog",children:ae.jsxs("div",{className:"Modal__modal",tabIndex:-1,ref:s,children:[ae.jsx("h2",{className:"Modal__title",children:n}),ae.jsx("button",{className:"Modal__closeButton","aria-label":"Close modal",type:"button",onClick:l,children:"X"}),ae.jsx("div",{className:"Modal__content",children:t})]})})}function WA({onClose:l,children:t,title:n,closeOnClickOutside:e=!1}){return ao.createPortal(ae.jsx(qA,{onClose:l,title:n,closeOnClickOutside:e,children:t}),document.body)}function Da(){const[l,t]=he.useState(null),n=he.useCallback(()=>{t(null)},[]),e=he.useMemo(()=>{if(l===null)return null;const{title:r,content:o,closeOnClickOutside:a}=l;return ae.jsx(WA,{onClose:n,title:r,closeOnClickOutside:a,children:o})},[l,n]),s=he.useCallback((r,o,a=!1)=>{t({closeOnClickOutside:a,content:o(n),title:r})},[n]);return[e,s]}const MD="";let my=!1;const JA=["#d0021b","#f5a623","#f8e71c","#8b572a","#7ed321","#417505","#bd10e0","#9013fe","#4a90e2","#50e3c2","#b8e986","#000000","#4a4a4a","#9b9b9b","#ffffff"],kd=214,kw=150;function VA({color:l,onChange:t}){const[n,e]=he.useState(Dc("hex",l)),[s,r]=he.useState(l),o=he.useRef(null),a=he.useMemo(()=>({x:n.hsv.s/100*kd,y:(100-n.hsv.v)/100*kw}),[n.hsv.s,n.hsv.v]),c=he.useMemo(()=>({x:n.hsv.h/360*kd}),[n.hsv]),i=f=>{if(r(f),/^#[0-9A-Fa-f]{6}$/i.test(f)){const p=Dc("hex",f);e(p)}},u=({x:f,y:p})=>{const h={...n.hsv,s:f/kd*100,v:100-p/kw*100},m=Dc("hsv",h);e(m),r(m.hex)},d=({x:f})=>{const p={...n.hsv,h:f/kd*360},h=Dc("hsv",p);e(h),r(h.hex)};return he.useEffect(()=>{o.current!==null&&t&&(t(n.hex,my),r(n.hex))},[n,t]),he.useEffect(()=>{if(l===void 0)return;const f=Dc("hex",l);e(f),r(f.hex)},[l]),ae.jsxs("div",{className:"color-picker-wrapper",style:{width:kd},ref:o,children:[ae.jsx(Oc,{label:"Hex",onChange:i,value:s}),ae.jsx("div",{className:"color-picker-basic-color",children:JA.map(f=>ae.jsx("button",{className:f===n.hex?" active":"",style:{backgroundColor:f},onClick:()=>{r(f),e(Dc("hex",f))}},f))}),ae.jsx(Tw,{className:"color-picker-saturation",style:{backgroundColor:`hsl(${n.hsv.h}, 100%, 50%)`},onChange:u,children:ae.jsx("div",{className:"color-picker-saturation_cursor",style:{backgroundColor:n.hex,left:a.x,top:a.y}})}),ae.jsx(Tw,{className:"color-picker-hue",onChange:d,children:ae.jsx("div",{className:"color-picker-hue_cursor",style:{backgroundColor:`hsl(${n.hsv.h}, 100%, 50%)`,left:c.x}})}),ae.jsx("div",{className:"color-picker-color",style:{backgroundColor:n.hex}})]})}function Tw({className:l,style:t,onChange:n,children:e}){const s=he.useRef(null),r=he.useRef(!1),o=c=>{if(s.current){const{current:i}=s,{width:u,height:d,left:f,top:p}=i.getBoundingClientRect(),h=Aw(c.clientX-f,u,0),m=Aw(c.clientY-p,d,0);n({x:h,y:m})}},a=c=>{if(c.button!==0)return;o(c);const i=d=>{r.current=!0,my=!0,o(d)},u=d=>{r.current&&(my=!1),document.removeEventListener("mousemove",i,!1),document.removeEventListener("mouseup",u,!1),o(d),r.current=!1};document.addEventListener("mousemove",i,!1),document.addEventListener("mouseup",u,!1)};return ae.jsx("div",{ref:s,className:l,style:t,onMouseDown:a,children:e})}function Aw(l,t,n){return l>t?t:l<n?n:l}function Ow(l){if(l.startsWith("#")){if(l.length===4||l.length===5)return l=l.split("").map((t,n)=>n?t+t:"#").join(""),l;if(l.length===7||l.length===9)return l}else{const t=document.createElement("canvas").getContext("2d");if(!t)throw new Error("2d context not supported or canvas already initialized");return t.fillStyle=l,t.fillStyle}return"#000000"}function Nw(l){const t=(l.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(n,e,s,r)=>"#"+e+e+s+s+r+r).substring(1).match(/.{2}/g)||[]).map(n=>parseInt(n,16));return{b:t[2],g:t[1],r:t[0]}}function yy({r:l,g:t,b:n}){l/=255,t/=255,n/=255;const e=Math.max(l,t,n),s=e-Math.min(l,t,n),r=s?(e===l?(t-n)/s+(t<n?6:0):e===t?2+(n-l)/s:4+(l-t)/s)*60:0,o=e?s/e*100:0,a=e*100;return{h:r,s:o,v:a}}function KA({h:l,s:t,v:n}){t/=100,n/=100;const e=~~(l/60),s=l/60-e,r=n*(1-t),o=n*(1-t*s),a=n*(1-t*(1-s)),c=e%6,i=Math.round([n,o,r,r,a,n][c]*255),u=Math.round([a,n,n,o,r,r][c]*255);return{b:Math.round([r,r,a,n,n,o][c]*255),g:u,r:i}}function Pw({b:l,g:t,r:n}){return"#"+[n,t,l].map(e=>e.toString(16).padStart(2,"0")).join("")}function Dc(l,t){let n=Ow("#121212"),e=Nw(n),s=yy(e);return l==="hex"?(n=Ow(t),e=Nw(n),s=yy(e)):l==="rgb"?(e=t,n=Pw(e),s=yy(e)):l==="hsv"&&(s=t,e=KA(s),n=Pw(e)),{hex:n,hsv:s,rgb:e}}function GA(l,t,...n){if(!l)throw new Error("Internal Lexical error: invariant() is meant to be replaced at compile time. There is no runtime version. Error: "+t)}function vy(l){const t=l.getShape();return{columns:t.toX-t.fromX+1,rows:t.toY-t.fromY+1}}function $A(l){const t=l.getNodes(),n=[];let e=null,s=null,r=0;for(let o=0;o<t.length;o++){const a=t[o];if(bn(a)){const c=a.getParentOrThrow();if(GA(Dr(c),"Expected CellNode to have a RowNode parent"),e!==c){if(s!==null&&r!==s)return!1;e!==null&&(s=r),e=c,r=0}const i=a.__colSpan;for(let u=0;u<i;u++)n[r+u]===void 0&&(n[r+u]=0),n[r+u]+=a.__rowSpan;r+=i}}return(s===null||r===s)&&n.every(o=>o===n[0])}function YA(){const l=jt();if(St(l)&&!l.isCollapsed()||ur(l)&&!l.anchor.is(l.focus)||!St(l)&&!ur(l))return!1;const[t]=Po(l.anchor);return t.__colSpan>1||t.__rowSpan>1}function Iw(l){if(l.getChildrenSize()!==1)return!1;const t=l.getFirstChildOrThrow();return!(!_r(t)||!t.isEmpty())}function ZA(l){const t=l.getLastDescendant();Jt(t)?t.select():Tt(t)?t.selectEnd():t!==null&&t.selectNext()}function Mw(l){return l.getEditorState().read(()=>{const t=jt();if(St(t)||ur(t)){const[n]=Po(t.anchor);if(bn(n))return n.getBackgroundColor()}return null})}function QA({onClose:l,tableCellNode:t,setIsMenuOpen:n,contextRef:e,cellMerge:s,showColorPickerModal:r}){const[o]=yn(),a=he.useRef(null),[c,i]=he.useState(t),[u,d]=he.useState({columns:1,rows:1}),[f,p]=he.useState(!1),[h,m]=he.useState(!1),[g,b]=he.useState(()=>Mw(o)||"");he.useEffect(()=>o.registerMutationListener(is,B=>{B.get(c.getKey())==="updated"&&(o.getEditorState().read(()=>{i(c.getLatest())}),b(Mw(o)||""))}),[o,c]),he.useEffect(()=>{o.getEditorState().read(()=>{const B=jt();if(ur(B)){const A=vy(B);d(vy(B)),p($A(B)&&(A.columns>1||A.rows>1))}m(YA())})},[o]),he.useEffect(()=>{const B=e.current,A=a.current,j=o.getRootElement();if(B!=null&&A!=null&&j!=null){const O=j.getBoundingClientRect(),L=B.getBoundingClientRect();A.style.opacity="1";const N=A.getBoundingClientRect(),U=5;let D=L.right+U;if(D+N.width>window.innerWidth||D+N.width>O.right){const K=L.left-N.width-U;D=(K<0?U:K)+window.pageXOffset}A.style.left=`${D+window.pageXOffset}px`;let z=L.top;if(z+N.height>window.innerHeight){const K=L.bottom-N.height;z=(K<0?U:K)+window.pageYOffset}A.style.top=`${z+ +window.pageYOffset}px`}},[e,a,o]),he.useEffect(()=>{function B(A){a.current!=null&&e.current!=null&&!a.current.contains(A.target)&&!e.current.contains(A.target)&&n(!1)}return window.addEventListener("click",B),()=>window.removeEventListener("click",B)},[n,e]);const v=he.useCallback(()=>{o.update(()=>{if(c.isAttached()){const A=Ia(c),j=o.getElementByKey(A.getKey());if(!j)throw new Error("Expected to find tableElement in DOM");const O=aT(j);O!==null&&O.clearHighlight(),A.markDirty(),i(c.getLatest())}Mn().selectStart()})},[o,c]),_=()=>{o.update(()=>{const B=jt();if(ur(B)){const{columns:A,rows:j}=vy(B),O=B.getNodes();let L=null;for(let N=0;N<O.length;N++){const U=O[N];if(bn(U))if(L===null){U.setColSpan(A).setRowSpan(j),L=U;const D=Iw(U);let z;D&&_r(z=U.getFirstChild())&&z.remove()}else bn(L)&&(Iw(U)||L.append(...U.getChildren()),U.remove())}L!==null&&(L.getChildrenSize()===0&&L.append(En()),ZA(L)),l()}})},E=()=>{o.update(()=>{rT()})},S=he.useCallback(B=>{o.update(()=>{X2(B),l()})},[o,l]),w=he.useCallback(B=>{o.update(()=>{for(let A=0;A<u.columns;A++)eT(B);l()})},[o,l,u.columns]),y=he.useCallback(()=>{o.update(()=>{tT(),l()})},[o,l]),x=he.useCallback(()=>{o.update(()=>{Ia(c).remove(),v(),l()})},[o,c,v,l]),C=he.useCallback(()=>{o.update(()=>{nT(),l()})},[o,l]),T=he.useCallback(()=>{o.update(()=>{const B=Ia(c),A=i1(c),j=B.getChildren();if(A>=j.length||A<0)throw new Error("Expected table cell to be inside of table row.");const O=j[A];if(!Dr(O))throw new Error("Expected table row");O.getChildren().forEach(L=>{if(!bn(L))throw new Error("Expected table cell");L.toggleHeaderStyle(Ur.ROW)}),v(),l()})},[o,c,v,l]),R=he.useCallback(()=>{o.update(()=>{const B=Ia(c),A=qm(c),j=B.getChildren(),O=Math.max(...j.map(L=>L.getChildren().length));if(A>=O||A<0)throw new Error("Expected table cell to be inside of table row.");for(let L=0;L<j.length;L++){const N=j[L];if(!Dr(N))throw new Error("Expected table row");const U=N.getChildren();if(A>=U.length)continue;const D=U[A];if(!bn(D))throw new Error("Expected table cell");D.toggleHeaderStyle(Ur.COLUMN)}v(),l()})},[o,c,v,l]),F=he.useCallback(B=>{o.update(()=>{const A=jt();if(St(A)||ur(A)){const[j]=Po(A.anchor);if(bn(j)&&j.setBackgroundColor(B),ur(A)){const O=A.getNodes();for(let L=0;L<O.length;L++){const N=O[L];bn(N)&&N.setBackgroundColor(B)}}}})},[o]);let I=null;return s&&(f?I=ae.jsx("button",{type:"button",className:"item",onClick:()=>_(),"data-test-id":"table-merge-cells",children:"Merge cells"}):h&&(I=ae.jsx("button",{type:"button",className:"item",onClick:()=>E(),"data-test-id":"table-unmerge-cells",children:"Unmerge cells"}))),ao.createPortal(ae.jsxs("div",{className:"dropdown",ref:a,onClick:B=>{B.stopPropagation()},children:[I,ae.jsx("button",{type:"button",className:"item",onClick:()=>r("Cell background color",()=>ae.jsx(VA,{color:g,onChange:F})),"data-test-id":"table-background-color",children:ae.jsx("span",{className:"text",children:"Background color"})}),ae.jsx("hr",{}),ae.jsx("button",{type:"button",className:"item",onClick:()=>S(!1),"data-test-id":"table-insert-row-above",children:ae.jsxs("span",{className:"text",children:["Insert"," ",u.rows===1?"row":`${u.rows} rows`," ","above"]})}),ae.jsx("button",{type:"button",className:"item",onClick:()=>S(!0),"data-test-id":"table-insert-row-below",children:ae.jsxs("span",{className:"text",children:["Insert"," ",u.rows===1?"row":`${u.rows} rows`," ","below"]})}),ae.jsx("hr",{}),ae.jsx("button",{type:"button",className:"item",onClick:()=>w(!1),"data-test-id":"table-insert-column-before",children:ae.jsxs("span",{className:"text",children:["Insert"," ",u.columns===1?"column":`${u.columns} columns`," ","left"]})}),ae.jsx("button",{type:"button",className:"item",onClick:()=>w(!0),"data-test-id":"table-insert-column-after",children:ae.jsxs("span",{className:"text",children:["Insert"," ",u.columns===1?"column":`${u.columns} columns`," ","right"]})}),ae.jsx("hr",{}),ae.jsx("button",{type:"button",className:"item",onClick:()=>C(),"data-test-id":"table-delete-columns",children:ae.jsx("span",{className:"text",children:"Delete column"})}),ae.jsx("button",{type:"button",className:"item",onClick:()=>y(),"data-test-id":"table-delete-rows",children:ae.jsx("span",{className:"text",children:"Delete row"})}),ae.jsx("button",{type:"button",className:"item",onClick:()=>x(),"data-test-id":"table-delete",children:ae.jsx("span",{className:"text",children:"Delete table"})}),ae.jsx("hr",{}),ae.jsx("button",{type:"button",className:"item",onClick:()=>T(),children:ae.jsxs("span",{className:"text",children:[(c.__headerState&Ur.ROW)===Ur.ROW?"Remove":"Add"," ","row header"]})}),ae.jsx("button",{type:"button",className:"item",onClick:()=>R(),"data-test-id":"table-column-header",children:ae.jsxs("span",{className:"text",children:[(c.__headerState&Ur.COLUMN)===Ur.COLUMN?"Remove":"Add"," ","column header"]})})]}),document.body)}function XA({anchorElem:l,cellMerge:t}){const[n]=yn(),e=he.useRef(null),s=he.useRef(null),[r,o]=he.useState(!1),[a,c]=he.useState(null),[i,u]=Da(),d=he.useCallback(()=>{const p=e.current,h=jt(),m=window.getSelection(),g=document.activeElement;if(h==null||p==null){c(null);return}const b=n.getRootElement();if(St(h)&&b!==null&&m!==null&&b.contains(m.anchorNode)){const v=Q2(h.anchor.getNode());if(v==null){c(null);return}if(n.getElementByKey(v.getKey())==null){c(null);return}c(v)}else g||c(null)},[n]);he.useEffect(()=>n.registerUpdateListener(()=>{n.getEditorState().read(()=>{d()})})),he.useEffect(()=>{const p=e.current;if(p!=null&&a!=null){const h=n.getElementByKey(a.getKey());if(h!=null){const m=h.getBoundingClientRect(),g=p.getBoundingClientRect(),b=l.getBoundingClientRect(),v=m.top-b.top+4,_=m.right-g.width-10-b.left;p.style.opacity="1",p.style.transform=`translate(${_}px, ${v}px)`}else p.style.opacity="0",p.style.transform="translate(-10000px, -10000px)"}},[e,a,n,l]);const f=he.useRef(a);return he.useEffect(()=>{f.current!==a&&o(!1),f.current=a},[f,a]),ae.jsx("div",{className:"table-cell-action-button-container",ref:e,children:a!=null&&ae.jsxs(ae.Fragment,{children:[ae.jsx("button",{type:"button",className:"table-cell-action-button chevron-down",onClick:p=>{p.stopPropagation(),o(!r)},ref:s,children:ae.jsx("i",{className:"chevron-down"})}),i,r&&ae.jsx(QA,{contextRef:s,setIsMenuOpen:o,onClose:()=>o(!1),tableCellNode:a,cellMerge:t,showColorPickerModal:u})]})})}function Rw({anchorElem:l=document.body,cellMerge:t=!1}){const n=cy();return ao.createPortal(n?ae.jsx(XA,{anchorElem:l,cellMerge:t}):null,l)}const RD="",eO=33,tO=50;function nO({editor:l}){const t=he.useRef(null),n=he.useRef(null),e=he.useRef(null),s=he.useRef(null),[r,o]=he.useState(null),[a,c]=he.useState(null),[i,u]=he.useState(!1),[d,f]=he.useState(null);he.useEffect(()=>l.registerCommand(ai,S=>{const w=jt(),y=ur(w);return i!==y&&u(y),!1},xi));const p=he.useCallback(()=>{c(null),t.current=null,f(null),s.current=null,e.current=null},[]);he.useEffect(()=>{const S=w=>{setTimeout(()=>{const y=w.target;if(d){o({x:w.clientX,y:w.clientY});return}if(!(n.current&&n.current.contains(y))&&t.current!==y){t.current=y;const x=Vm(y);x&&a!==x?l.update(()=>{const C=ho(x.elem);if(!C)return;const T=Ia(C),R=l.getElementByKey(T.getKey());if(!R){console.error("TableCellResizer: Table element not found.");return}t.current=y,e.current=R.getBoundingClientRect(),c(x)}):x==null&&p()}},0)};return document.addEventListener("mousemove",S),()=>{document.removeEventListener("mousemove",S)}},[a,d,l,p]);const h=S=>S==="bottom",m=he.useCallback(S=>{if(!a){console.error("TableCellResizer: Expected active cell.");return}l.update(()=>{const w=ho(a.elem);if(!bn(w)){console.error("TableCellResizer: Table cell node not found.");return}const y=Ia(w),x=i1(w),C=y.getChildren();if(x>=C.length||x<0){console.error("Expected table cell to be inside of table row.");return}const T=C[x];if(!Dr(T)){console.error("Expected table row");return}T.setHeight(S)})},[a,l]),g=he.useCallback(S=>{if(!a){console.error("TableCellResizer: Expected active cell.");return}l.update(()=>{const w=ho(a.elem);if(!bn(w)){console.error("TableCellResizer: Table cell node not found.");return}const y=Ia(w),x=qm(w),C=y.getChildren();for(let T=0;T<C.length;T++){const R=C[T];if(!Dr(R)){console.error("Expected table row");return}const F=R.getChildren(),A=F.map(O=>O.getColSpan()).reduce((O,L)=>{const N=O[O.length-1]??0;return O.push(N+L),O},[]).findIndex(O=>O>x);if(A>=F.length||A<0){console.error("Expected table cell to be inside of table row.");return}const j=F[A];if(!bn(j)){console.error("Expected table cell");return}j.setWidth(S)}})},[a,l]),b=he.useCallback(S=>{const w=y=>{if(y.preventDefault(),y.stopPropagation(),!a){console.error("TableCellResizer: Expected active cell.");return}if(s.current){const{x,y:C}=s.current;if(a===null)return;if(h(S)){const T=a.elem.getBoundingClientRect().height,R=Math.abs(y.clientY-C),F=S==="bottom"&&C>y.clientY;m(Math.max(F?T-R:R+T,eO))}else{const T=getComputedStyle(a.elem);let R=a.elem.clientWidth;R-=parseFloat(T.paddingLeft)+parseFloat(T.paddingRight);const F=Math.abs(y.clientX-x),I=S==="right"&&x>y.clientX;g(Math.max(I?R-F:F+R,tO))}p(),document.removeEventListener("mouseup",w)}};return w},[a,p,g,m]),v=he.useCallback(S=>w=>{if(w.preventDefault(),w.stopPropagation(),!a){console.error("TableCellResizer: Expected active cell.");return}s.current={x:w.clientX,y:w.clientY},o(s.current),f(S),document.addEventListener("mouseup",b(S))},[a,b]),E=he.useCallback(()=>{if(a){const{height:S,width:w,top:y,left:x}=a.elem.getBoundingClientRect(),C={bottom:{backgroundColor:"none",cursor:"row-resize",height:"10px",left:`${window.pageXOffset+x}px`,top:`${window.pageYOffset+y+S}px`,width:`${w}px`},right:{backgroundColor:"none",cursor:"col-resize",height:`${S}px`,left:`${window.pageXOffset+x+w}px`,top:`${window.pageYOffset+y}px`,width:"10px"}},T=e.current;return d&&r&&T&&(h(d)?(C[d].left=`${window.pageXOffset+T.left}px`,C[d].top=`${window.pageYOffset+r.y}px`,C[d].height="3px",C[d].width=`${T.width}px`):(C[d].top=`${window.pageYOffset+T.top}px`,C[d].left=`${window.pageXOffset+r.x}px`,C[d].width="3px",C[d].height=`${T.height}px`),C[d].backgroundColor="#adf"),C}return{bottom:null,left:null,right:null,top:null}},[a,d,r])();return ae.jsx("div",{ref:n,children:a!=null&&!i&&ae.jsxs(ae.Fragment,{children:[ae.jsx("div",{className:"TableCellResizer__resizer TableCellResizer__ui",style:E.right||void 0,onMouseDown:v("right")}),ae.jsx("div",{className:"TableCellResizer__resizer TableCellResizer__ui",style:E.bottom||void 0,onMouseDown:v("bottom")})]})})}function Dw({isEditable:l=!0}){const[t]=yn();return he.useMemo(()=>l?ao.createPortal(ae.jsx(nO,{editor:t}),document.body):null,[t,l])}const Lw=ir.createContext(null),Fw=4;function Gr({children:l,className:t,onClick:n,title:e}){const s=he.useRef(null),r=ir.useContext(Lw);if(r===null)throw new Error("DropDownItem must be used within a DropDown");const{registerItem:o}=r;return he.useEffect(()=>{s&&s.current&&o(s)},[s,o]),ae.jsx("button",{className:t,onClick:n,ref:s,title:e,type:"button",children:l})}function rO({children:l,dropDownRef:t,onClose:n}){const[e,s]=he.useState(),[r,o]=he.useState(),a=he.useCallback(u=>{s(d=>d?[...d,u]:[u])},[s]),c=u=>{if(!e)return;const d=u.key;["Escape","ArrowUp","ArrowDown","Tab"].includes(d)&&u.preventDefault(),d==="Escape"||d==="Tab"?n():d==="ArrowUp"?o(f=>{if(!f)return e[0];const p=e.indexOf(f)-1;return e[p===-1?e.length-1:p]}):d==="ArrowDown"&&o(f=>f?e[e.indexOf(f)+1]:e[0])},i=he.useMemo(()=>({registerItem:a}),[a]);return he.useEffect(()=>{e&&!r&&o(e[0]),r&&r.current&&r.current.focus()},[e,r]),ae.jsx(Lw.Provider,{value:i,children:ae.jsx("div",{className:"dropdown",ref:t,onKeyDown:c,children:l})})}function Il({disabled:l=!1,buttonLabel:t,buttonAriaLabel:n,buttonClassName:e,buttonIconClassName:s,children:r,stopCloseOnClickSelf:o}){const a=he.useRef(null),c=he.useRef(null),[i,u]=he.useState(!1),d=()=>{u(!1),c&&c.current&&c.current.focus()};return he.useEffect(()=>{const f=c.current,p=a.current;if(i&&f!==null&&p!==null){const{top:h,left:m}=f.getBoundingClientRect();p.style.top=`${h+f.offsetHeight+Fw}px`,p.style.left=`${Math.min(m,window.innerWidth-p.offsetWidth-20)}px`}},[a,c,i]),he.useEffect(()=>{const f=c.current;if(f!==null&&i){const p=h=>{const m=h.target;o&&a.current&&a.current.contains(m)||f.contains(m)||u(!1)};return document.addEventListener("click",p),()=>{document.removeEventListener("click",p)}}},[a,c,i,o]),he.useEffect(()=>{const f=()=>{if(i){const p=c.current,h=a.current;if(p!==null&&h!==null){const{top:m}=p.getBoundingClientRect(),g=m+p.offsetHeight+Fw;g!==h.getBoundingClientRect().top&&(h.style.top=`${g}px`)}}};return document.addEventListener("scroll",f),()=>{document.removeEventListener("scroll",f)}},[c,a,i]),ae.jsxs(ae.Fragment,{children:[ae.jsxs("button",{type:"button",disabled:l,"aria-label":n||t,className:e,onClick:()=>u(!i),ref:c,children:[s&&ae.jsx("span",{className:s}),t&&ae.jsx("span",{className:"text dropdown-button-text",children:t}),ae.jsx("i",{className:"chevron-down"})]}),i&&ao.createPortal(ae.jsx(rO,{dropDownRef:a,onClose:d,children:r}),document.body)]})}function Bw(l){const t=l.anchor,n=l.focus,e=l.anchor.getNode(),s=l.focus.getNode();return e===s?e:l.isBackward()?f_(n)?e:s:f_(t)?e:s}function oO(l){(()=>{l.update(()=>{Mn().getChildren().forEach(()=>{Mn().getChildren().filter(o=>{ey(o)&&o.__pageNumber})});const e=C1(),s=jt();s!==null&&St(s)&&(s.anchor.getNode().getTopLevelElementOrThrow().insertAfter(e),e.selectEnd())})})()}const zw=8,Uw=72,La={h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",h4:"Heading 4",h5:"Heading 5",paragraph:"Normal"},iO=({selectionFontSize:l,disabled:t,editor:n,blockType:e,styleConfig:s,isenterPressed:r,currentElementClick:o,currentElementSelect:a,wpAndTaskId:c})=>{const[i,u]=ir.useState(l),[d,f]=ir.useState(e),[p,h]=ir.useState("");ir.useState([]),ir.useState("");const{heading:m}=s||{},g=S=>{S&&S.title&&n.update(()=>{if(n.isEditable()){const w=jt();w&&Em(w,S)}})},b=S=>{u(S.target.value)},v=()=>{const S=Number(i);if(!isNaN(S)){const w=Math.min(Math.max(S,zw),Uw);u(String(w)),g({"font-size":`${w}px`})}},_=S=>{var y,x,C;h(S),n.update(()=>{const T=jt();St(T)&&p2(T,()=>Cl(S))});let w=null;if(m)switch(S){case"h1":w=((y=m.find(T=>T.title==="Heading1"))==null?void 0:y.fontSize)??56;break;case"h2":w=((x=m.find(T=>T.title==="Heading2"))==null?void 0:x.fontSize)??14;break;case"h3":w=((C=m.find(T=>T.title==="Heading3"))==null?void 0:C.fontSize)??12;break;case"paragraph":w=15;break;default:w=15}u(w),h(S),f(S)},E=()=>{u("15")};return ir.useEffect(()=>{E()},[r]),ir.useEffect(()=>{const S=()=>{n.update(()=>{const w=jt();if(w!==null){const x=w.getNodes()[0];if(!Jt(x)){const C=x.getType();C in La&&f(C)}}})};return n.registerUpdateListener(S),()=>{n.registerUpdateListener(S)}},[n]),ir.useEffect(()=>{var S,w,y;switch(o.tagName){case"P":f("paragraph"),u("15");break;case"H1":f("h1");const x=((S=s.heading.find(R=>R.title==="Heading1"))==null?void 0:S.fontSize)??"16";u(x);break;case"H2":f("h2");const C=((w=s.heading.find(R=>R.title==="Heading2"))==null?void 0:w.fontSize)??"14";u(C);break;case"H3":f("h3");const T=((y=s.heading.find(R=>R.title==="Heading3"))==null?void 0:y.fontSize)??"12";u(T);break;default:f("paragraph"),u("15");break}},[o]),ir.useEffect(()=>{var w,y,x;if(!a){u("15"),f("paragraph");return}switch(a.trim()){case"P":u("15"),f("paragraph");break;case"h1":f("h1");const C=((w=s.heading.find(F=>F.title==="Heading1"))==null?void 0:w.fontSize)??"16";u(C);break;case"h2":f("h2");const T=((y=s.heading.find(F=>F.title==="Heading2"))==null?void 0:y.fontSize)??"14";u(T);break;case"h3":f("h3");const R=((x=s.heading.find(F=>F.title==="Heading3"))==null?void 0:x.fontSize)??"12";u(R);break;default:f("paragraph"),u("15");break}},[a]),ae.jsxs(ae.Fragment,{children:[s&&s.heading?ae.jsxs(Il,{disabled:t,buttonClassName:"toolbar-item block-controls",buttonAriaLabel:"Formatting options for text style",buttonIconClassName:"icon block-type "+d,buttonLabel:La[d],children:[ae.jsxs(Gr,{className:`item ${d==="paragraph"?"active":""}`,onClick:()=>_("paragraph"),children:[ae.jsx("i",{className:"icon paragraph"}),ae.jsx("span",{className:"text",children:La.paragraph})]}),s.heading&&s.heading.find(S=>S.title==="Heading1")&&ae.jsxs(Gr,{className:`item ${d==="h1"?"active":""}`,onClick:()=>_("h1"),children:[ae.jsx("i",{className:"icon h1"}),ae.jsx("span",{className:"text",children:La.h1})]}),s.heading&&s.heading.find(S=>S.title==="Heading2")&&ae.jsxs(Gr,{className:`item ${d==="h2"?"active":""}`,onClick:()=>_("h2"),children:[ae.jsx("i",{className:"icon h2"}),ae.jsx("span",{className:"text",children:La.h2})]}),s.heading&&s.heading.find(S=>S.title==="Heading3")&&ae.jsxs(Gr,{className:`item ${d==="h3"?"active":""}`,onClick:()=>_("h3"),children:[ae.jsx("i",{className:"icon h3"}),ae.jsx("span",{className:"text",children:La.h3})]}),s.heading&&s.heading.find(S=>S.title==="Heading5")&&ae.jsxs(Gr,{className:`item ${d==="h4"?"active":""}`,onClick:()=>_("h4"),children:[ae.jsx("i",{className:"icon h4"}),ae.jsx("span",{className:"text",children:La.h4})]}),s.heading&&s.heading.find(S=>S.title==="Heading5")&&ae.jsxs(Gr,{className:`item ${d==="h5"?"active":""}`,onClick:()=>_("h5"),children:[ae.jsx("i",{className:"icon h5"}),ae.jsx("span",{className:"text",children:La.h5})]})]}):"",ae.jsx("input",{style:{width:"25px",marginLeft:"5px",paddingLeft:"7px"},title:"Font Size",type:"text",value:11,disabled:t,readOnly:!0,className:"toolbar-item font-size-input input-font-size-value",min:zw,max:Uw,onChange:b,onBlur:v})]})},sO=Mc&&"documentMode"in document?document.documentMode:null,Fa=Mc&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);Mc&&"InputEvent"in window&&!sO&&"getTargetRanges"in new window.InputEvent("input");const Hw="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xMi41NTM1IDE2LjUwNjFDMTIuNDExNCAxNi42NjE1IDEyLjIxMDYgMTYuNzUgMTIgMTYuNzVDMTEuNzg5NCAxNi43NSAxMS41ODg2IDE2LjY2MTUgMTEuNDQ2NSAxNi41MDYxTDcuNDQ2NDggMTIuMTMxMUM3LjE2Njk4IDExLjgyNTQgNy4xODgyMiAxMS4zNTEgNy40OTM5MiAxMS4wNzE1QzcuNzk5NjMgMTAuNzkyIDguMjc0MDIgMTAuODEzMiA4LjU1MzUyIDExLjExODlMMTEuMjUgMTQuMDY4MlYzQzExLjI1IDIuNTg1NzkgMTEuNTg1OCAyLjI1IDEyIDIuMjVDMTIuNDE0MiAyLjI1IDEyLjc1IDIuNTg1NzkgMTIuNzUgM1YxNC4wNjgyTDE1LjQ0NjUgMTEuMTE4OUMxNS43MjYgMTAuODEzMiAxNi4yMDA0IDEwLjc5MiAxNi41MDYxIDExLjA3MTVDMTYuODExOCAxMS4zNTEgMTYuODMzIDExLjgyNTQgMTYuNTUzNSAxMi4xMzExTDEyLjU1MzUgMTYuNTA2MVoiIGZpbGw9IiMxQzI3NEMiLz4NCjxwYXRoIGQ9Ik0zLjc1IDE1QzMuNzUgMTQuNTg1OCAzLjQxNDIyIDE0LjI1IDMgMTQuMjVDMi41ODU3OSAxNC4yNSAyLjI1IDE0LjU4NTggMi4yNSAxNVYxNS4wNTQ5QzIuMjQ5OTggMTYuNDIyNSAyLjI0OTk2IDE3LjUyNDggMi4zNjY1MiAxOC4zOTE4QzIuNDg3NTQgMTkuMjkxOSAyLjc0NjQzIDIwLjA0OTcgMy4zNDgzNSAyMC42NTE2QzMuOTUwMjcgMjEuMjUzNiA0LjcwODE0IDIxLjUxMjUgNS42MDgyNSAyMS42MzM1QzYuNDc1MjIgMjEuNzUgNy41Nzc1NCAyMS43NSA4Ljk0NTEzIDIxLjc1SDE1LjA1NDlDMTYuNDIyNSAyMS43NSAxNy41MjQ4IDIxLjc1IDE4LjM5MTggMjEuNjMzNUMxOS4yOTE5IDIxLjUxMjUgMjAuMDQ5NyAyMS4yNTM2IDIwLjY1MTcgMjAuNjUxNkMyMS4yNTM2IDIwLjA0OTcgMjEuNTEyNSAxOS4yOTE5IDIxLjYzMzUgMTguMzkxOEMyMS43NSAxNy41MjQ4IDIxLjc1IDE2LjQyMjUgMjEuNzUgMTUuMDU0OVYxNUMyMS43NSAxNC41ODU4IDIxLjQxNDIgMTQuMjUgMjEgMTQuMjVDMjAuNTg1OCAxNC4yNSAyMC4yNSAxNC41ODU4IDIwLjI1IDE1QzIwLjI1IDE2LjQzNTQgMjAuMjQ4NCAxNy40MzY1IDIwLjE0NjkgMTguMTkxOUMyMC4wNDgyIDE4LjkyNTcgMTkuODY3OCAxOS4zMTQyIDE5LjU5MSAxOS41OTFDMTkuMzE0MiAxOS44Njc4IDE4LjkyNTcgMjAuMDQ4MiAxOC4xOTE5IDIwLjE0NjlDMTcuNDM2NSAyMC4yNDg0IDE2LjQzNTQgMjAuMjUgMTUgMjAuMjVIOUM3LjU2NDU5IDIwLjI1IDYuNTYzNDcgMjAuMjQ4NCA1LjgwODEyIDIwLjE0NjlDNS4wNzQzNSAyMC4wNDgyIDQuNjg1NzcgMTkuODY3OCA0LjQwOTAxIDE5LjU5MUM0LjEzMjI1IDE5LjMxNDIgMy45NTE4IDE4LjkyNTcgMy44NTMxNSAxOC4xOTE5QzMuNzUxNTkgMTcuNDM2NSAzLjc1IDE2LjQzNTQgMy43NSAxNVoiIGZpbGw9IiMxQzI3NEMiLz4NCjwvc3ZnPg==";var qw={exports:{}};(function(l,t){(function(n,e){e()})(va,function(){function n(i,u){return typeof u>"u"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(i.type)?new Blob(["\uFEFF",i],{type:i.type}):i}function e(i,u,d){var f=new XMLHttpRequest;f.open("GET",i),f.responseType="blob",f.onload=function(){c(f.response,u,d)},f.onerror=function(){console.error("could not download file")},f.send()}function s(i){var u=new XMLHttpRequest;u.open("HEAD",i,!1);try{u.send()}catch{}return 200<=u.status&&299>=u.status}function r(i){try{i.dispatchEvent(new MouseEvent("click"))}catch{var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),i.dispatchEvent(u)}}var o=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof va=="object"&&va.global===va?va:void 0,a=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=o.saveAs||(typeof window!="object"||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(i,u,d){var f=o.URL||o.webkitURL,p=document.createElement("a");u=u||i.name||"download",p.download=u,p.rel="noopener",typeof i=="string"?(p.href=i,p.origin===location.origin?r(p):s(p.href)?e(i,u,d):r(p,p.target="_blank")):(p.href=f.createObjectURL(i),setTimeout(function(){f.revokeObjectURL(p.href)},4e4),setTimeout(function(){r(p)},0))}:"msSaveOrOpenBlob"in navigator?function(i,u,d){if(u=u||i.name||"download",typeof i!="string")navigator.msSaveOrOpenBlob(n(i,d),u);else if(s(i))e(i,u,d);else{var f=document.createElement("a");f.href=i,f.target="_blank",setTimeout(function(){r(f)})}}:function(i,u,d,f){if(f=f||open("","_blank"),f&&(f.document.title=f.document.body.innerText="downloading..."),typeof i=="string")return e(i,u,d);var p=i.type==="application/octet-stream",h=/constructor/i.test(o.HTMLElement)||o.safari,m=/CriOS\/[\d]+/.test(navigator.userAgent);if((m||p&&h||a)&&typeof FileReader<"u"){var g=new FileReader;g.onloadend=function(){var _=g.result;_=m?_:_.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=_:location=_,f=null},g.readAsDataURL(i)}else{var b=o.URL||o.webkitURL,v=b.createObjectURL(i);f?f.location=v:location.href=v,f=null,setTimeout(function(){b.revokeObjectURL(v)},4e4)}});o.saveAs=c.saveAs=c,l.exports=c})})(qw);var aO=qw.exports;function lO(l){const t=document.createElement("div");return t.innerHTML=l,t.querySelectorAll("*").forEach(e=>{let s="";if(e.classList.contains("PlaygroundEditorTheme__textItalic")&&e.classList.contains("PlaygroundEditorTheme__textStrikethrough")){s+="text-decoration: line-through; ";const r=document.createElement("span");r.style.cssText=s.trim();const o=document.createElement("i");o.innerHTML=e.innerHTML,r.appendChild(o),e.innerHTML="",e.appendChild(r)}else if(e.classList.contains("PlaygroundEditorTheme__textBold")&&e.classList.contains("PlaygroundEditorTheme__textItalic")&&e.classList.contains("PlaygroundEditorTheme__textStrikethrough")){s+="text-decoration: line-through; ";const r=document.createElement("span");r.style.cssText=s.trim();const o=document.createElement("i"),a=document.createElement("strong");a.innerHTML=e.innerHTML,o.appendChild(a),r.appendChild(o),e.innerHTML="",e.appendChild(r)}else{if(e.classList.contains("PlaygroundEditorTheme__textStrikethrough")&&(s+="text-decoration: line-through; "),e.classList.contains("PlaygroundEditorTheme__textUnderlineStrikethrough")&&(s+="text-decoration: line-through underline; "),e.classList.contains("PlaygroundEditorTheme__textBold")){const r=document.createElement("strong");r.innerHTML=e.innerHTML,e.innerHTML="",e.appendChild(r)}if(e.classList.contains("PlaygroundEditorTheme__textItalic")){const r=document.createElement("i");r.innerHTML=e.innerHTML,e.innerHTML="",e.appendChild(r)}if(e.classList.contains("PlaygroundEditorTheme__textUnderline")){const r=document.createElement("u");r.innerHTML=e.innerHTML,e.innerHTML="",e.appendChild(r)}if(s){const r=document.createElement("span");r.style.cssText=s.trim(),r.innerHTML=e.innerHTML,e.innerHTML="",e.appendChild(r)}}}),t.innerHTML}function cO(l){const t=document.createElement("div");t.innerHTML=l;const n=t.querySelectorAll(".PlaygroundEditorTheme__table");return n.length===0?l:(n.forEach(e=>{e.style.width="100%",e.style.borderCollapse="collapse",e.style.border="1px solid black",e.style.fontFamily="Times New Roman",e.style.fontSize="11pt",e.querySelectorAll("tr").forEach((r,o)=>{r.style.border="1px solid black";const a=r.querySelectorAll("td, th"),i=100/a.length+"%";a.forEach(u=>{u.style.width=i,u.style.height="20px",u.style.border="1px solid black",u.style.padding="5px 8px",u.style.textAlign="left",u.style.verticalAlign="middle",u.innerHTML.trim()||(u.innerHTML="&nbsp;"),u.querySelectorAll(".PlaygroundEditorTheme__textUnderline").forEach(p=>{p.style.textDecoration="underline"}),u.querySelectorAll(".PlaygroundEditorTheme__textStrikethrough").forEach(p=>{p.style.textDecoration="line-through"}),u.classList.contains("PlaygroundEditorTheme__tableCellHeader")&&(u.style.fontWeight="bold",u.style.backgroundColor="#d9d9d9",u.style.textAlign="center")})})}),t.innerHTML)}function Ww(l){return l=l.replace(/<br\s*\/?>/g,""),l.includes("Crop")&&(l=l.replace(/Crop/g,"")),Jw(l)}function Jw(l){const t=document.createElement("div");return t.innerHTML=l,t.querySelectorAll("h1").forEach(s=>{const r=s.querySelector("p");r&&r.remove()}),t.innerHTML}function Vw(l){const n=new DOMParser().parseFromString(l,"text/html"),e=r=>{r.forEach(o=>{if(o.children.length>0&&Array.from(o.children).every(c=>c.tagName==="TABLE")){const c=document.createDocumentFragment();Array.from(o.children).forEach(i=>{i.tagName==="TABLE"&&c.appendChild(i.cloneNode(!0))}),o.replaceWith(c)}else if(o.children.length===1&&o.children[0].tagName==="P"){const c=o.children[0],i=c.innerHTML.trim();i===""||/^<br\s*\/?>$/i.test(i)?o.replaceWith(c):c.replaceWith(...c.childNodes)}})},s=Array.from(n.querySelectorAll("h1, h2, h3, h4, h5, h6, p"));return e(s),n.body.innerHTML}const uO=async(l,t,n,e)=>{await dO({title:t,parsedHtmlString:e,styleConfig:n})},dO=async({title:l,parsedHtmlString:t,styleConfig:n})=>{const e=`<!DOCTYPE html><html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="UTF-8"><title>Document</title>
67
- <style>
68
- body {
69
- font-family: "Times New Roman", Times, serif;
70
- font-size: 14.5px;
71
- }
72
-
73
- h1 {
74
- font-family: "Times New Roman", Times, serif;
75
- font-weight: bold;
76
- font-size: 14.5px;
77
- }
78
-
79
- h2 {
66
+ `?c.insertParagraph():i===" "?c.insertNodes([yc()]):c.insertText(i)}}}else t.insertRawText(r)}function Q1(l,t,n){l.dispatchCommand(Nv,{nodes:t,selection:n})||n.insertNodes(t)}function X1(l,t,n,e=[]){let s=t===null||n.isSelected(t);const r=Tt(n)&&n.excludeFromCopy("html");let o=n;if(t!==null){let i=u_(n);i=Jt(i)&&t!==null?d_(t,i):i,o=i}const a=Tt(o)?o.getChildren():[],c=function(i){const u=i.exportJSON(),d=i.constructor;if(u.type!==d.getType()&&Fp(58,d.name),Tt(i)){const f=u.children;Array.isArray(f)||Fp(59,d.name)}return u}(o);if(Jt(o)){const i=o.__text;i.length>0?c.text=i:s=!1}for(let i=0;i<a.length;i++){const u=a[i],d=X1(l,t,u,c.children);!s&&Tt(n)&&d&&n.extractWithChild(u,t,"clone")&&(s=!0)}if(s&&!r)e.push(c);else if(Array.isArray(c.children))for(let i=0;i<c.children.length;i++){const u=c.children[i];e.push(u)}return s}function XT(l,t){const n=[],e=Mn().getChildren();for(let s=0;s<e.length;s++)X1(l,t,e[s],n);return{namespace:l._config.namespace,nodes:n}}function eA(l){const t=[];for(let n=0;n<l.length;n++){const e=l[n],s=s2(e);Jt(s)&&d2(s),t.push(s)}return t}let Nc=null;async function ew(l,t){if(Nc!==null)return!1;if(t!==null)return new Promise((a,c)=>{l.update(()=>{a(tw(l,t))})});const n=l.getRootElement(),e=l._window==null?window.document:l._window.document,s=G1(l._window);if(n===null||s===null)return!1;const r=e.createElement("span");r.style.cssText="position: fixed; top: -1000px;",r.append(e.createTextNode("#")),n.append(r);const o=new Range;return o.setStart(r,0),o.setEnd(r,1),s.removeAllRanges(),s.addRange(o),new Promise((a,c)=>{const i=l.registerCommand(Vu,u=>(Ws(u,ClipboardEvent)&&(i(),Nc!==null&&(window.clearTimeout(Nc),Nc=null),a(tw(l,u))),!0),wo);Nc=window.setTimeout(()=>{i(),Nc=null,a(!1)},50),e.execCommand("copy"),r.remove()})}function tw(l,t){const n=G1(l._window);if(!n)return!1;const e=n.anchorNode,s=n.focusNode;if(e!==null&&s!==null&&!$u(l,e,s))return!1;t.preventDefault();const r=t.clipboardData,o=jt();if(r===null||o===null)return!1;const a=$1(l),c=QT(l);let i="";return o!==null&&(i=o.getTextContent()),a!==null&&r.setData("text/html",a),c!==null&&r.setData("application/x-lexical-editor",c),r.setData("text/plain",i),!0}function nw(l,t){if(document.caretRangeFromPoint!==void 0){const n=document.caretRangeFromPoint(l,t);return n===null?null:{node:n.startContainer,offset:n.startOffset}}if(document.caretPositionFromPoint!=="undefined"){const n=document.caretPositionFromPoint(l,t);return n===null?null:{node:n.offsetNode,offset:n.offset}}return null}const Pc=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0,tA=Pc&&"documentMode"in document?document.documentMode:null,nA=!(!Pc||!("InputEvent"in window)||tA)&&"getTargetRanges"in new window.InputEvent("input"),rA=Pc&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),oA=Pc&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,iA=Pc&&/^(?=.*Chrome).*/i.test(navigator.userAgent),sA=Pc&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!iA,uy=po();class Bp extends Br{static getType(){return"quote"}static clone(t){return new Bp(t.__key)}constructor(t){super(t)}createDOM(t){const n=document.createElement("blockquote");return zr(n,t.theme.quote),n}updateDOM(t,n){return!1}static importDOM(){return{blockquote:t=>({conversion:lA,priority:0})}}exportDOM(t){const{element:n}=super.exportDOM(t);if(n&&Di(n)){this.isEmpty()&&n.append(document.createElement("br"));const e=this.getFormatType();n.style.textAlign=e;const s=this.getDirection();s&&(n.dir=s)}return{element:n}}static importJSON(t){const n=rw();return n.setFormat(t.format),n.setIndent(t.indent),n.setDirection(t.direction),n}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(t,n){const e=En(),s=this.getDirection();return e.setDirection(s),this.insertAfter(e,n),e}collapseAtStart(){const t=En();return this.getChildren().forEach(n=>t.append(n)),this.replace(t),!0}}function rw(){return Pr(new Bp)}function aA(l){return l instanceof Bp}class zp extends Br{static getType(){return"heading"}static clone(t){return new zp(t.__tag,t.__key)}constructor(t,n){super(n),this.__tag=t}getTag(){return this.__tag}createDOM(t){const n=this.__tag,e=document.createElement(n),s=t.theme.heading;if(s!==void 0){const r=s[n];zr(e,r)}return e}updateDOM(t,n){return!1}static importDOM(){return{h1:t=>({conversion:Ic,priority:0}),h2:t=>({conversion:Ic,priority:0}),h3:t=>({conversion:Ic,priority:0}),h4:t=>({conversion:Ic,priority:0}),h5:t=>({conversion:Ic,priority:0}),h6:t=>({conversion:Ic,priority:0}),p:t=>{const n=t.firstChild;return n!==null&&ow(n)?{conversion:()=>({node:null}),priority:3}:null},span:t=>ow(t)?{conversion:n=>({node:Cd("h1")}),priority:3}:null}}exportDOM(t){const{element:n}=super.exportDOM(t);if(n&&Di(n)){this.isEmpty()&&n.append(document.createElement("br"));const e=this.getFormatType();n.style.textAlign=e;const s=this.getDirection();s&&(n.dir=s)}return{element:n}}static importJSON(t){const n=Cd(t.tag);return n.setFormat(t.format),n.setIndent(t.indent),n.setDirection(t.direction),n}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(t,n=!0){const e=t?t.anchor.offset:0,s=e!==this.getTextContentSize()&&t?Cd(this.getTag()):En(),r=this.getDirection();if(s.setDirection(r),this.insertAfter(s,n),e===0&&!this.isEmpty()&&t){const o=En();o.select(),this.replace(o,!0)}return s}collapseAtStart(){const t=this.isEmpty()?En():Cd(this.getTag());return this.getChildren().forEach(n=>t.append(n)),this.replace(t),!0}extractWithChild(){return!0}}function ow(l){return l.nodeName.toLowerCase()==="span"&&l.style.fontSize==="26pt"}function Ic(l){const t=l.nodeName.toLowerCase();let n=null;return t!=="h1"&&t!=="h2"&&t!=="h3"&&t!=="h4"&&t!=="h5"&&t!=="h6"||(n=Cd(t),l.style!==null&&n.setFormat(l.style.textAlign)),{node:n}}function lA(l){const t=rw();return l.style!==null&&t.setFormat(l.style.textAlign),{node:t}}function Cd(l){return Pr(new zp(l))}function jd(l){return l instanceof zp}function Up(l){let t=null;if(Ws(l,DragEvent)?t=l.dataTransfer:Ws(l,ClipboardEvent)&&(t=l.clipboardData),t===null)return[!1,[],!1];const n=t.types,e=n.includes("Files"),s=n.includes("text/html")||n.includes("text/plain");return[e,Array.from(t.files),s]}function iw(l){const t=jt();if(!St(t))return!1;const n=new Set,e=t.getNodes();for(let s=0;s<e.length;s++){const r=e[s],o=r.getKey();if(n.has(o))continue;const a=er(r,i=>Tt(i)&&!i.isInline());if(a===null)continue;const c=a.getKey();a.canIndent()&&!n.has(c)&&(n.add(c),l(a))}return n.size>0}function Hp(l){const t=ho(l);return hr(t)}function cA(l){return wr(l.registerCommand(ba,t=>{const n=jt();return!!fr(n)&&(n.clear(),!0)},0),l.registerCommand(Yi,t=>{const n=jt();return!!St(n)&&(n.deleteCharacter(t),!0)},Tn),l.registerCommand(ml,t=>{const n=jt();return!!St(n)&&(n.deleteWord(t),!0)},Tn),l.registerCommand(xa,t=>{const n=jt();return!!St(n)&&(n.deleteLine(t),!0)},Tn),l.registerCommand(wa,t=>{const n=jt();if(typeof t=="string")n!==null&&n.insertText(t);else{if(n===null)return!1;const e=t.dataTransfer;if(e!=null)Z1(e,n,l);else if(St(n)){const s=t.data;return s&&n.insertText(s),!0}}return!0},Tn),l.registerCommand(Af,()=>{const t=jt();return!!St(t)&&(t.removeText(),!0)},Tn),l.registerCommand(Yr,t=>{const n=jt();return!!St(n)&&(n.formatText(t),!0)},Tn),l.registerCommand(yl,t=>{const n=jt();if(!St(n)&&!fr(n))return!1;const e=n.getNodes();for(const s of e){const r=er(s,o=>Tt(o)&&!o.isInline());r!==null&&r.setFormat(t)}return!0},Tn),l.registerCommand(_a,t=>{const n=jt();return!!St(n)&&(n.insertLineBreak(t),!0)},Tn),l.registerCommand(gl,()=>{const t=jt();return!!St(t)&&(t.insertParagraph(),!0)},Tn),l.registerCommand(ck,()=>(Xo([yc()]),!0),Tn),l.registerCommand(Eg,()=>iw(t=>{const n=t.getIndent();t.setIndent(n+1)}),Tn),l.registerCommand(Cg,()=>iw(t=>{const n=t.getIndent();n>0&&t.setIndent(n-1)}),Tn),l.registerCommand(qu,t=>{const n=jt();if(fr(n)&&!Hp(t.target)){const e=n.getNodes();if(e.length>0)return e[0].selectPrevious(),!0}else if(St(n)){const e=ed(n.focus,!0);if(!t.shiftKey&&hr(e)&&!e.isIsolated()&&!e.isInline())return e.selectPrevious(),t.preventDefault(),!0}return!1},Tn),l.registerCommand(Wu,t=>{const n=jt();if(fr(n)){const e=n.getNodes();if(e.length>0)return e[0].selectNext(0,0),!0}else if(St(n)){if(function(s){const r=s.focus;return r.key==="root"&&r.offset===Mn().getChildrenSize()}(n))return t.preventDefault(),!0;const e=ed(n.focus,!1);if(!t.shiftKey&&hr(e)&&!e.isIsolated()&&!e.isInline())return e.selectNext(),t.preventDefault(),!0}return!1},Tn),l.registerCommand(Nf,t=>{const n=jt();if(fr(n)){const e=n.getNodes();if(e.length>0)return t.preventDefault(),e[0].selectPrevious(),!0}if(!St(n))return!1;if(hp(n,!0)){const e=t.shiftKey;return t.preventDefault(),gp(n,e,!0),!0}return!1},Tn),l.registerCommand(Of,t=>{const n=jt();if(fr(n)&&!Hp(t.target)){const s=n.getNodes();if(s.length>0)return t.preventDefault(),s[0].selectNext(0,0),!0}if(!St(n))return!1;const e=t.shiftKey;return!!hp(n,!1)&&(t.preventDefault(),gp(n,e,!1),!0)},Tn),l.registerCommand(Zi,t=>{if(Hp(t.target))return!1;const n=jt();if(!St(n))return!1;t.preventDefault();const{anchor:e}=n,s=e.getNode();return n.isCollapsed()&&e.offset===0&&!Uo(s)&&jm(s).getIndent()>0?l.dispatchCommand(Cg,void 0):l.dispatchCommand(Yi,!0)},Tn),l.registerCommand(Qi,t=>{if(Hp(t.target))return!1;const n=jt();return!!St(n)&&(t.preventDefault(),l.dispatchCommand(Yi,!1))},Tn),l.registerCommand(Ls,t=>{const n=jt();if(!St(n))return!1;if(t!==null){if((oA||rA||sA)&&nA)return!1;if(t.preventDefault(),t.shiftKey)return l.dispatchCommand(_a,!1)}return l.dispatchCommand(gl,void 0)},Tn),l.registerCommand(Fs,()=>{const t=jt();return!!St(t)&&(l.blur(),!0)},Tn),l.registerCommand(Pf,t=>{const[,n]=Up(t);if(n.length>0){const s=nw(t.clientX,t.clientY);if(s!==null){const{offset:r,node:o}=s,a=ho(o);if(a!==null){const c=vc();if(Jt(a))c.anchor.set(a.getKey(),r,"text"),c.focus.set(a.getKey(),r,"text");else{const u=a.getParentOrThrow().getKey(),d=a.getIndexWithinParent()+1;c.anchor.set(u,d,"element"),c.focus.set(u,d,"element")}const i=zg(c);jr(i)}l.dispatchCommand(uy,n)}return t.preventDefault(),!0}const e=jt();return!!St(e)},Tn),l.registerCommand(ac,t=>{const[n]=Up(t),e=jt();return!(n&&!St(e))},Tn),l.registerCommand(jg,t=>{const[n]=Up(t),e=jt();if(n&&!St(e))return!1;const s=nw(t.clientX,t.clientY);if(s!==null){const r=ho(s.node);hr(r)&&t.preventDefault()}return!0},Tn),l.registerCommand(If,()=>(sb(),!0),Tn),l.registerCommand(Vu,t=>(ew(l,Ws(t,ClipboardEvent)?t:null),!0),Tn),l.registerCommand(Ku,t=>(async function(n,e){await ew(e,Ws(n,ClipboardEvent)?n:null),e.update(()=>{const s=jt();St(s)?s.removeText():fr(s)&&s.getNodes().forEach(r=>r.remove())})}(t,l),!0),Tn),l.registerCommand(vs,t=>{const[,n,e]=Up(t);return n.length>0&&!e?(l.dispatchCommand(uy,n),!0):Ug(t.target)?!1:jt()!==null&&(function(s,r){s.preventDefault(),r.update(()=>{const o=jt(),a=Ws(s,InputEvent)||Ws(s,KeyboardEvent)?null:s.clipboardData;a!=null&&o!==null&&Z1(a,o,r)},{tag:"paste"})}(t,l),!0)},Tn))}const dy=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;function sw(l){return l.getEditorState().read(B1(l.isComposing()))}function qp({contentEditable:l,placeholder:t,ErrorBoundary:n}){const[e]=yn(),s=function(r,o){const[a,c]=he.useState(()=>r.getDecorators());return dy(()=>r.registerDecoratorListener(i=>{ao.flushSync(()=>{c(i)})}),[r]),he.useEffect(()=>{c(r.getDecorators())},[r]),he.useMemo(()=>{const i=[],u=Object.keys(a);for(let d=0;d<u.length;d++){const f=u[d],p=ae.jsx(o,{onError:m=>r._onError(m),children:ae.jsx(he.Suspense,{fallback:null,children:a[f]})}),h=r.getElementByKey(f);h!==null&&i.push(ao.createPortal(p,h,f))}return i},[o,a,r])}(e,n);return function(r){dy(()=>wr(cA(r),q1(r)),[r])}(e),ae.jsxs(ae.Fragment,{children:[l,ae.jsx(uA,{content:t}),s]})}function uA({content:l}){const[t]=yn(),n=function(s){const[r,o]=he.useState(()=>sw(s));return dy(()=>{function a(){const c=sw(s);o(c)}return a(),wr(s.registerUpdateListener(()=>{a()}),s.registerEditableListener(()=>{a()}))},[s]),r}(t),e=cy();return n?typeof l=="function"?l(e):l:null}function dA(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var Wp=dA(function(l){const t=new URLSearchParams;t.append("code",l);for(let n=1;n<arguments.length;n++)t.append("v",arguments[n]);throw Error(`Minified Lexical error #${l}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)});function aw({hasCellMerge:l=!0,hasCellBackgroundColor:t=!0,hasTabHandler:n=!0}){const[e]=yn();return he.useEffect(()=>(e.hasNodes([Ss,is,jl])||Wp(10),wr(e.registerCommand(G2,({columns:s,rows:r,includeHeaders:o})=>{const a=Hm(Number(r),Number(s),o);Sl(a);const c=a.getFirstDescendant();return Jt(c)&&c.select(),!0},Tn),e.registerNodeTransform(Ss,s=>{const[r]=s1(s,null,null),o=r.reduce((a,c)=>Math.max(a,c.length),0);for(let a=0;a<r.length;++a){const c=r[a].length;if(c===o)continue;const i=r[a][c-1].cell;for(let u=c;u<o;++u){const d=Si(0);d.append(En()),i!==null?i.insertAfter(d):__(i,d)}}}))),[e]),he.useEffect(()=>{const s=new Map,r=a=>{const c=a.getKey(),i=e.getElementByKey(c);if(i&&!s.has(c)){const u=sT(a,i,e,n);s.set(c,u)}};e.getEditorState().read(()=>{const a=ab(Ss);for(const c of a)dr(c)&&r(c)});const o=e.registerMutationListener(Ss,a=>{for(const[c,i]of a)if(i==="created")e.getEditorState().read(()=>{const u=Dn(c);dr(u)&&r(u)});else if(i==="destroyed"){const u=s.get(c);u!==void 0&&(u.removeListeners(),s.delete(c))}});return()=>{o();for(const[,a]of s)a.removeListeners()}},[e,n]),he.useEffect(()=>{if(!l)return e.registerNodeTransform(is,s=>{if(s.getColSpan()>1||s.getRowSpan()>1){const[,,r]=Po(s),[o]=ss(r,s,s),a=o.length,c=o[0].length;let i=r.getFirstChild();Dr(i)||Wp(175);const u=[];for(let d=0;d<a;d++){d!==0&&(i=i.getNextSibling(),Dr(i)||Wp(175));let f=null;for(let p=0;p<c;p++){const h=o[d][p],m=h.cell;if(h.startRow===d&&h.startColumn===p)f=m,u.push(m);else if(m.getColSpan()>1||m.getRowSpan()>1){bn(m)||Wp(176);const g=Si(m.__headerState);f!==null?f.insertAfter(g):__(i,g)}}}for(const d of u)d.setColSpan(1),d.setRowSpan(1)}})},[e,l]),he.useEffect(()=>{if(!t)return e.registerNodeTransform(is,s=>{s.getBackgroundColor()!==null&&s.setBackgroundColor(null)})},[e,t,l]),null}function fA(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var pA=fA(function(l){const t=new URLSearchParams;t.append("code",l);for(let n=1;n<arguments.length;n++)t.append("v",arguments[n]);throw Error(`Minified Lexical error #${l}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)});function lw(l,t=n=>n){return n=>{const e=l.exec(n);return e===null?null:{index:e.index,length:e[0].length,text:e[0],url:t(e[0])}}}function cw(l,t){for(let n=0;n<t.length;n++){const e=t[n](l);if(e)return e}return null}const hA=/[.,;\s]/;function Jp(l){return hA.test(l)}function uw(l){return Jp(l[l.length-1])}function fy(l){return Jp(l[0])}function dw(l){let t=l.getPreviousSibling();return Tt(t)&&(t=t.getLastDescendant()),t===null||_s(t)||Jt(t)&&uw(t.getTextContent())}function fw(l){let t=l.getNextSibling();return Tt(t)&&(t=t.getFirstDescendant()),t===null||_s(t)||Jt(t)&&fy(t.getTextContent())}function gA(l,t,n,e){return(l>0?Jp(n[l-1]):dw(e[0]))?t<n.length?Jp(n[t]):fw(e[e.length-1]):!1}function mA(l,t,n){const e=[],s=[],r=[];let o=0,a=0;const c=[...l];for(;c.length>0;){const i=c[0],u=i.getTextContent().length,d=a;a+u<=t?(e.push(i),o+=u):d>=n?r.push(i):s.push(i),a+=u,c.shift()}return[o,e,s,r]}function yA(l,t,n,e){const s=Dm(e.url,e.attributes);if(l.length===1){let r,o=l[0];t===0?[r,o]=o.splitText(n):[,r,o]=o.splitText(t,n);const a=rr(e.text);return a.setFormat(r.getFormat()),a.setDetail(r.getDetail()),a.setStyle(r.getStyle()),s.append(a),r.replace(s),o}if(l.length>1){const r=l[0];let o,a=r.getTextContent().length;t===0?o=r:[,o]=r.splitText(t);const c=[];let i;for(let p=1;p<l.length;p++){const h=l[p],m=h.getTextContent().length,g=a;if(g<n)if(a+m<=n)c.push(h);else{const[b,v]=h.splitText(n-g);c.push(b),i=v}a+=m}const u=jt(),d=u?u.getNodes().find(Jt):void 0,f=rr(o.getTextContent());return f.setFormat(o.getFormat()),f.setDetail(o.getDetail()),f.setStyle(o.getStyle()),s.append(f,...c),d&&d===o&&(St(u)?f.select(u.anchor.offset,u.focus.offset):fr(u)&&f.select(0,f.getTextContent().length)),o.replace(s),i}}function py(l,t,n){const e=l.getChildren(),s=e.length;for(let c=0;c<s;c++){const i=e[c];if(!Jt(i)||!i.isSimpleText())return Vp(l),void n(null,l.getURL())}const r=l.getTextContent(),o=cw(r,t);if(o===null||o.text!==r||!dw(l)||!fw(l))return Vp(l),void n(null,l.getURL());const a=l.getURL();if(a!==o.url&&(l.setURL(o.url),n(o.url,a)),o.attributes){const c=l.getRel();c!==o.attributes.rel&&(l.setRel(o.attributes.rel||null),n(o.attributes.rel||null,c));const i=l.getTarget();i!==o.attributes.target&&(l.setTarget(o.attributes.target||null),n(o.attributes.target||null,i))}}function Vp(l){const t=l.getChildren();for(let n=t.length-1;n>=0;n--)l.insertAfter(t[n]);return l.remove(),t.map(n=>n.getLatest())}function vA(l,t,n){he.useEffect(()=>{l.hasNodes([pd])||pA(77);const e=(s,r)=>{n&&n(s,r)};return wr(l.registerNodeTransform(Zr,s=>{const r=s.getParentOrThrow(),o=s.getPreviousSibling();if(Ec(r)&&!r.getIsUnlinked())py(r,t,e);else if(!ti(r)){if(s.isSimpleText()&&(fy(s.getTextContent())||!Ec(o))){const a=function(c){const i=[c];let u=c.getNextSibling();for(;u!==null&&Jt(u)&&u.isSimpleText()&&(i.push(u),!/[\s]/.test(u.getTextContent()));)u=u.getNextSibling();return i}(s);(function(c,i,u){let d=[...c];const f=d.map(g=>g.getTextContent()).join("");let p,h=f,m=0;for(;(p=cw(h,i))&&p!==null;){const g=p.index,b=g+p.length;if(gA(m+g,m+b,f,d)){const[v,,_,E]=mA(d,m+g,m+b),S=yA(_,m+g-v,m+b-v,p);d=S?[S,...E]:E,u(p.url,null),m=0}else m+=b;h=h.substring(b)}})(a,t,e)}(function(a,c,i){const u=a.getPreviousSibling(),d=a.getNextSibling(),f=a.getTextContent();!Ec(u)||u.getIsUnlinked()||fy(f)&&!/^\.[a-zA-Z0-9]{1,}/.test(f)||(u.append(a),py(u,c,i),i(null,u.getURL())),!Ec(d)||d.getIsUnlinked()||uw(f)||(Vp(d),py(d,c,i),i(null,d.getURL()))})(s,t,e)}}),l.registerCommand(Pa,s=>{const r=jt();return s!==null||!St(r)||r.extract().forEach(o=>{const a=o.getParent();if(Ec(a))return a.setIsUnlinked(!a.getIsUnlinked()),a.markDirty(),!0}),!1},Jn))},[l,t,n])}function bA({matchers:l,onChange:t}){const[n]=yn();return vA(n,l,t),null}const _A=/((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/,wA=/(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/,xA=[lw(_A,l=>l.startsWith("http")?l:`https://${l}`),lw(wA,l=>`mailto:${l}`)];function pw(){return ae.jsx(bA,{matchers:xA})}function SA({accept:l,label:t,onChange:n,"data-test-id":e}){return ae.jsxs("div",{className:"Input__wrapper",children:[ae.jsx("label",{className:"Input__label",children:t}),ae.jsx("input",{type:"file",accept:l,className:"Input__input",onChange:s=>n(s.target.files),"data-test-id":e})]})}const Mc=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",EA=l=>Mc?(l||window).getSelection():null,Kp=po();function CA({onClick:l}){const[t,n]=he.useState(""),[e,s]=he.useState(""),r=t==="",o=a=>{const c=new FileReader;c.onload=function(){return typeof c.result=="string"&&n(c.result),""},a!==null&&c.readAsDataURL(a[0])};return ae.jsxs(ae.Fragment,{children:[ae.jsx(SA,{label:"Image Upload",onChange:o,accept:"image/*","data-test-id":"image-modal-file-upload"}),ae.jsx(Oc,{label:"Alt Text",placeholder:"Descriptive alternative text",onChange:s,value:e,"data-test-id":"image-modal-alt-text-input"}),ae.jsx(Rp,{children:ae.jsx(Fi,{"data-test-id":"image-modal-file-upload-btn",disabled:r,onClick:()=>l({altText:e,src:t}),children:"Confirm"})})]})}function jA({activeEditor:l,onClose:t,enableCaptions:n}){const[e,s]=he.useState("file"),r=he.useRef(!1);he.useEffect(()=>{r.current=!1;const a=c=>{r.current=c.altKey};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[l]);const o=a=>{l.dispatchCommand(Kp,a),console.log("line 202 imageplugin insert image"),t()};return ae.jsx(ae.Fragment,{children:e==="file"&&ae.jsx(CA,{onClick:o})})}function hw(l,t,n,e,s){l.preventDefault();const r=l.clipboardData;if(!r)return!1;const o=r.items;if(!o||o.length===0)return!1;let a=!1,c=!1;const i=o.length>1?o[1]:o[0];let u=1;if(u===1){if(u=2,i.type==="text/html"&&!a){const d=r.getData("text/html"),p=new DOMParser().parseFromString(d,"text/html").querySelector("img");p&&p.src&&(fetch(p.src).then(h=>h.blob()).then(h=>{const m=new File([h],"pasted-image.png",{type:"image/png"});gw(m,t,e)}).catch(h=>console.error("Error fetching pasted image:",h)),a=!0)}else if(i.type.startsWith("image/")&&!a){const d=i.getAsFile();d&&(gw(d,t,e,s),a=!0)}}return!(!a&&!c)}function gw(l,t,n,e){const s=new FileReader;s.onload=()=>{const r=s.result,a={altText:l.name,src:r};t.update(()=>{const u=Mn().getChildren().filter(b=>_r(b)&&b.getChildren().some(v=>v.getTextContent().startsWith("Figure"))).length+1,d=`Figure ${u}:`,f=Rc("Figure",u,e),p=new qo(d,"black",f);p.__captionId=f;const h=Tc({...a,figureLabel:d});h.__captionId=f;const m=En();m.setFormat("left");const g=rs();if(m.append(h,g),n){const v=rr("");v.setStyle("color: black; font-style: italic; font-weight: bold;"),m.append(p,v)}if(Xo([m]),ro(h.getParentOrThrow())&&km(h,En).selectEnd(),n){const b=Mn().getChildren();let v=1;b.forEach(_=>{if(_r(_)){const E=_.getChildren().find(S=>S.getTextContent().startsWith("Figure"));if(E){const S=E.getTextContent(),w=S.indexOf(":"),y=w!==-1?S.slice(w):"",x=`Figure ${v++}${y}`;(Jt(E)||E instanceof qo)&&E.setTextContent(x)}}})}})},s.readAsDataURL(l)}function mw({enableCaptions:l=!0,wpAndTaskId:t}){const[n]=yn(),[e,s]=he.useState("");return he.useEffect(()=>{if(!n.hasNodes([Op]))throw new Error("ImagesPlugin: ImageNode not registered on editor");let r=0;return wr(n.registerCommand(Kp,o=>{r+=1;const a=Rc("Figure",r,t);if(l){const c=`Figure ${r}:`,i=Rc("Figure",r,t),u=new qo(c,"black",i);u.__captionId=i,u.__captionId=a;const d=Tc({...o});d.__captionId=a;const f=En();f.setFormat("left");const p=e.trim()===""?"":e,h=rr(p);h.setStyle(p?"color: black; font-style: italic; font-weight: bold;":"color: gray; font-style: italic; font-weight: normal;"),f.append(d,u,h),Xo([f]),ro(d.getParentOrThrow())&&km(d,En).selectEnd()}else{const c=Tc(o),i=En();i.setFormat("left"),i.append(c),Xo([i]),ro(c.getParentOrThrow())&&km(c,En).selectEnd()}return n.update(()=>{const i=Mn().getChildren().filter(_r);let u=1;i.forEach(d=>{const f=d.getChildren().find(v=>v.getTextContent().startsWith("Figure"));if(!f)return;const p=f.__captionId,h=d.getChildren().find(Vs),m=h?h.__captionId:void 0,g=p??m??Rc(f.getTextContent(),u,t),b=new qo(`Figure ${u}:`,"black",g);b.__captionId=g,u++})}),!0},Tn),n.registerCommand(ac,o=>TA(o),xi),n.registerCommand(jg,o=>AA(o),Jn),n.registerCommand(Pf,o=>OA(o,n),xi),n.registerCommand(vs,o=>{var c;const a=(c=o.clipboardData)==null?void 0:c.items;return(a==null?void 0:a.length)<=2&&(a!=null&&a.length)?hw(o,n,e,l,t):!1},xi))},[l,n]),null}function Rc(l,t,n){let e=5381;const s=String(t);for(let r=0;r<s.length;r++)e=(e<<5)+e+s.charCodeAt(r);return`${n}-Image-${t}-${Math.abs(e%1e6)}`}const kA="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",yw=document.createElement("img");yw.src=kA;function TA(l){const t=hy();if(!t)return!1;const n=l.dataTransfer;return n?(n.setData("text/plain","_"),n.setDragImage(yw,0,0),n.setData("application/x-lexical-drag",JSON.stringify({data:{altText:t.__altText,caption:t.__caption,height:t.__height,key:t.getKey(),maxWidth:t.__maxWidth,showCaption:t.__showCaption,src:t.__src,width:t.__width},type:"image"})),!0):!1}function AA(l){return hy()?(vw(l)||l.preventDefault(),!0):!1}function OA(l,t){const n=hy();if(!n)return!1;const e=NA(l);if(!e)return!1;if(l.preventDefault(),vw(l)){const s=PA(l);n.remove();const r=vc();s!=null&&r.applyDOMRange(s),jr(r),t.dispatchCommand(Kp,e)}return!0}function hy(){const l=jt();if(!fr(l))return null;const n=l.getNodes()[0];return Vs(n)?n:null}function NA(l){var s;const t=(s=l.dataTransfer)==null?void 0:s.getData("application/x-lexical-drag");if(!t)return null;const{type:n,data:e}=JSON.parse(t);return n!=="image"?null:e}function vw(l){const t=l.target;return!!(t&&t instanceof HTMLElement&&!t.closest("code, span.editor-image")&&t.parentElement&&t.parentElement.closest("div.ContentEditable__root"))}function PA(l){let t;const n=l.target,e=n==null?null:n.nodeType===9?n.defaultView:n.ownerDocument.defaultView,s=EA(e);if(document.caretRangeFromPoint)t=document.caretRangeFromPoint(l.clientX,l.clientY);else if(l.rangeParent&&s!==null)s.collapse(l.rangeParent,l.rangeOffset||0),t=s.getRangeAt(0);else throw Error("Cannot get the selection when dragging");return t}const bw=["image/","image/heic","image/heif","image/gif","image/webp"];function _w(){const[l]=yn();return he.useEffect(()=>l.registerCommand(uy,t=>((async()=>{const n=await b2(t,[bw].flatMap(e=>e));for(const{file:e,result:s}of n)y_(e,bw)&&l.dispatchCommand(Kp,{altText:e.name,src:s})})(),!0),Jn),[l]),null}const IA=/(^|$|[^A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ])(congrats|congratulations|gratuluju|gratuluji|gratulujeme|blahopřeju|blahopřeji|blahopřejeme|Til lykke|Tillykke|Glückwunsch|Gratuliere|felicitaciones|enhorabuena|paljon onnea|onnittelut|Félicitations|gratula|gratulálok|gratulálunk|congratulazioni|complimenti|おめでとう|おめでとうございます|축하해|축하해요|gratulerer|Gefeliciteerd|gratulacje|Parabéns|parabéns|felicitações|felicitări|мои поздравления|поздравляем|поздравляю|gratulujem|blahoželám|ยินดีด้วย|ขอแสดงความยินดี|tebrikler|tebrik ederim|恭喜|祝贺你|恭喜你|恭喜|恭喜|baie geluk|veels geluk|অভিনন্দন|Čestitam|Čestitke|Čestitamo|Συγχαρητήρια|Μπράβο|અભિનંદન|badhai|बधाई|अभिनंदन|Честитам|Свака част|hongera|வாழ்த்துகள்|வாழ்த்துக்கள்|అభినందనలు|അഭിനന്ദനങ്ങൾ|Chúc mừng|מזל טוב|mazel tov|mazal tov)(^|$|[^A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ])/i;function ww(){const[l]=yn();he.useEffect(()=>{if(!l.hasNodes([Ac]))throw new Error("KeywordsPlugin: KeywordNode not registered on editor")},[l]);const t=he.useCallback(e=>x1(e.getTextContent()),[]),n=he.useCallback(e=>{const s=IA.exec(e);if(s===null)return null;const r=s[2].length,o=s.index+s[1].length;return{end:o+r,start:o}},[]);return z1(n,Ac,t),null}function MA({validateUrl:l}){const[t]=yn();return he.useEffect(()=>{if(!t.hasNodes([Sc]))throw new Error("LinkPlugin: LinkNode not registered on editor");return wr(t.registerCommand(Pa,n=>{if(n===null)return Lm(n),!0;if(typeof n=="string")return!(l!==void 0&&!l(n))&&(Lm(n),!0);{const{url:e,target:s,rel:r,title:o}=n;return Lm(e,{rel:r,target:s,title:o}),!0}},Jn),l!==void 0?t.registerCommand(vs,n=>{const e=jt();if(!St(e)||e.isCollapsed()||!Ws(n,ClipboardEvent))return!1;const s=n;if(s.clipboardData===null)return!1;const r=s.clipboardData.getData("text");return!!l(r)&&!e.getNodes().some(o=>Tt(o))&&(t.dispatchCommand(Pa,r),n.preventDefault(),!0)},Jn):()=>{})},[t,l]),null}const RA=new Set(["http:","https:","mailto:","sms:","tel:"]);function xw(l){try{const t=new URL(l);if(!RA.has(t.protocol))return"about:blank"}catch{return l}return l}const DA=new RegExp(/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)/);function LA(l){return l==="https://"||DA.test(l)}function gy(){return ae.jsx(MA,{validateUrl:LA})}function FA(l){const t=l.getNodes();return t.length===0?new Set([l.anchor.getNode().getParentOrThrow(),l.focus.getNode().getParentOrThrow()]):new Set(t.map(n=>Tt(n)?n:n.getParentOrThrow()))}function BA(l){const t=jt();if(!St(t))return!1;const n=FA(t);let e=0;for(const s of n)if(sr(s))e=Math.max(Fm(s)+1,e);else if(Kr(s)){const r=s.getParent();if(!sr(r))throw new Error("ListMaxIndentLevelPlugin: A ListItemNode must have a ListNode for a parent.");e=Math.max(Fm(r)+1,e)}return e<=l}function Sw({maxDepth:l}){const[t]=yn();return he.useEffect(()=>t.registerCommand(Eg,()=>!BA(l??7),wo),[t,l]),null}const zA=1,UA=100;let Ew=0,Cw=!1;function HA(){window.addEventListener("keydown",l=>{l.key==="Tab"&&(Ew=l.timeStamp)},!0)}function jw(){const[l]=yn();return he.useEffect(()=>(Cw||(HA(),Cw=!0),l.registerCommand(kg,t=>{const n=jt();return St(n)&&Ew+UA>t.timeStamp&&jr(n.clone()),!1},zA)),[l]),null}const ID="";function qA({onClose:l,children:t,title:n,closeOnClickOutside:e}){const s=he.useRef(null);return he.useEffect(()=>{s.current!==null&&s.current.focus()},[]),he.useEffect(()=>{let r=null;const o=i=>{i.key==="Escape"&&l()},a=i=>{const u=i.target;s.current!==null&&!s.current.contains(u)&&e&&l()},c=s.current;return c!==null&&(r=c.parentElement,r!==null&&r.addEventListener("click",a)),window.addEventListener("keydown",o),()=>{window.removeEventListener("keydown",o),r!==null&&(r==null||r.removeEventListener("click",a))}},[e,l]),ae.jsx("div",{className:"Modal__overlay",role:"dialog",children:ae.jsxs("div",{className:"Modal__modal",tabIndex:-1,ref:s,children:[ae.jsx("h2",{className:"Modal__title",children:n}),ae.jsx("button",{className:"Modal__closeButton","aria-label":"Close modal",type:"button",onClick:l,children:"X"}),ae.jsx("div",{className:"Modal__content",children:t})]})})}function WA({onClose:l,children:t,title:n,closeOnClickOutside:e=!1}){return ao.createPortal(ae.jsx(qA,{onClose:l,title:n,closeOnClickOutside:e,children:t}),document.body)}function Da(){const[l,t]=he.useState(null),n=he.useCallback(()=>{t(null)},[]),e=he.useMemo(()=>{if(l===null)return null;const{title:r,content:o,closeOnClickOutside:a}=l;return ae.jsx(WA,{onClose:n,title:r,closeOnClickOutside:a,children:o})},[l,n]),s=he.useCallback((r,o,a=!1)=>{t({closeOnClickOutside:a,content:o(n),title:r})},[n]);return[e,s]}const MD="";let my=!1;const JA=["#d0021b","#f5a623","#f8e71c","#8b572a","#7ed321","#417505","#bd10e0","#9013fe","#4a90e2","#50e3c2","#b8e986","#000000","#4a4a4a","#9b9b9b","#ffffff"],kd=214,kw=150;function VA({color:l,onChange:t}){const[n,e]=he.useState(Dc("hex",l)),[s,r]=he.useState(l),o=he.useRef(null),a=he.useMemo(()=>({x:n.hsv.s/100*kd,y:(100-n.hsv.v)/100*kw}),[n.hsv.s,n.hsv.v]),c=he.useMemo(()=>({x:n.hsv.h/360*kd}),[n.hsv]),i=f=>{if(r(f),/^#[0-9A-Fa-f]{6}$/i.test(f)){const p=Dc("hex",f);e(p)}},u=({x:f,y:p})=>{const h={...n.hsv,s:f/kd*100,v:100-p/kw*100},m=Dc("hsv",h);e(m),r(m.hex)},d=({x:f})=>{const p={...n.hsv,h:f/kd*360},h=Dc("hsv",p);e(h),r(h.hex)};return he.useEffect(()=>{o.current!==null&&t&&(t(n.hex,my),r(n.hex))},[n,t]),he.useEffect(()=>{if(l===void 0)return;const f=Dc("hex",l);e(f),r(f.hex)},[l]),ae.jsxs("div",{className:"color-picker-wrapper",style:{width:kd},ref:o,children:[ae.jsx(Oc,{label:"Hex",onChange:i,value:s}),ae.jsx("div",{className:"color-picker-basic-color",children:JA.map(f=>ae.jsx("button",{className:f===n.hex?" active":"",style:{backgroundColor:f},onClick:()=>{r(f),e(Dc("hex",f))}},f))}),ae.jsx(Tw,{className:"color-picker-saturation",style:{backgroundColor:`hsl(${n.hsv.h}, 100%, 50%)`},onChange:u,children:ae.jsx("div",{className:"color-picker-saturation_cursor",style:{backgroundColor:n.hex,left:a.x,top:a.y}})}),ae.jsx(Tw,{className:"color-picker-hue",onChange:d,children:ae.jsx("div",{className:"color-picker-hue_cursor",style:{backgroundColor:`hsl(${n.hsv.h}, 100%, 50%)`,left:c.x}})}),ae.jsx("div",{className:"color-picker-color",style:{backgroundColor:n.hex}})]})}function Tw({className:l,style:t,onChange:n,children:e}){const s=he.useRef(null),r=he.useRef(!1),o=c=>{if(s.current){const{current:i}=s,{width:u,height:d,left:f,top:p}=i.getBoundingClientRect(),h=Aw(c.clientX-f,u,0),m=Aw(c.clientY-p,d,0);n({x:h,y:m})}},a=c=>{if(c.button!==0)return;o(c);const i=d=>{r.current=!0,my=!0,o(d)},u=d=>{r.current&&(my=!1),document.removeEventListener("mousemove",i,!1),document.removeEventListener("mouseup",u,!1),o(d),r.current=!1};document.addEventListener("mousemove",i,!1),document.addEventListener("mouseup",u,!1)};return ae.jsx("div",{ref:s,className:l,style:t,onMouseDown:a,children:e})}function Aw(l,t,n){return l>t?t:l<n?n:l}function Ow(l){if(l.startsWith("#")){if(l.length===4||l.length===5)return l=l.split("").map((t,n)=>n?t+t:"#").join(""),l;if(l.length===7||l.length===9)return l}else{const t=document.createElement("canvas").getContext("2d");if(!t)throw new Error("2d context not supported or canvas already initialized");return t.fillStyle=l,t.fillStyle}return"#000000"}function Nw(l){const t=(l.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(n,e,s,r)=>"#"+e+e+s+s+r+r).substring(1).match(/.{2}/g)||[]).map(n=>parseInt(n,16));return{b:t[2],g:t[1],r:t[0]}}function yy({r:l,g:t,b:n}){l/=255,t/=255,n/=255;const e=Math.max(l,t,n),s=e-Math.min(l,t,n),r=s?(e===l?(t-n)/s+(t<n?6:0):e===t?2+(n-l)/s:4+(l-t)/s)*60:0,o=e?s/e*100:0,a=e*100;return{h:r,s:o,v:a}}function KA({h:l,s:t,v:n}){t/=100,n/=100;const e=~~(l/60),s=l/60-e,r=n*(1-t),o=n*(1-t*s),a=n*(1-t*(1-s)),c=e%6,i=Math.round([n,o,r,r,a,n][c]*255),u=Math.round([a,n,n,o,r,r][c]*255);return{b:Math.round([r,r,a,n,n,o][c]*255),g:u,r:i}}function Pw({b:l,g:t,r:n}){return"#"+[n,t,l].map(e=>e.toString(16).padStart(2,"0")).join("")}function Dc(l,t){let n=Ow("#121212"),e=Nw(n),s=yy(e);return l==="hex"?(n=Ow(t),e=Nw(n),s=yy(e)):l==="rgb"?(e=t,n=Pw(e),s=yy(e)):l==="hsv"&&(s=t,e=KA(s),n=Pw(e)),{hex:n,hsv:s,rgb:e}}function GA(l,t,...n){if(!l)throw new Error("Internal Lexical error: invariant() is meant to be replaced at compile time. There is no runtime version. Error: "+t)}function vy(l){const t=l.getShape();return{columns:t.toX-t.fromX+1,rows:t.toY-t.fromY+1}}function $A(l){const t=l.getNodes(),n=[];let e=null,s=null,r=0;for(let o=0;o<t.length;o++){const a=t[o];if(bn(a)){const c=a.getParentOrThrow();if(GA(Dr(c),"Expected CellNode to have a RowNode parent"),e!==c){if(s!==null&&r!==s)return!1;e!==null&&(s=r),e=c,r=0}const i=a.__colSpan;for(let u=0;u<i;u++)n[r+u]===void 0&&(n[r+u]=0),n[r+u]+=a.__rowSpan;r+=i}}return(s===null||r===s)&&n.every(o=>o===n[0])}function YA(){const l=jt();if(St(l)&&!l.isCollapsed()||ur(l)&&!l.anchor.is(l.focus)||!St(l)&&!ur(l))return!1;const[t]=Po(l.anchor);return t.__colSpan>1||t.__rowSpan>1}function Iw(l){if(l.getChildrenSize()!==1)return!1;const t=l.getFirstChildOrThrow();return!(!_r(t)||!t.isEmpty())}function ZA(l){const t=l.getLastDescendant();Jt(t)?t.select():Tt(t)?t.selectEnd():t!==null&&t.selectNext()}function Mw(l){return l.getEditorState().read(()=>{const t=jt();if(St(t)||ur(t)){const[n]=Po(t.anchor);if(bn(n))return n.getBackgroundColor()}return null})}function QA({onClose:l,tableCellNode:t,setIsMenuOpen:n,contextRef:e,cellMerge:s,showColorPickerModal:r}){const[o]=yn(),a=he.useRef(null),[c,i]=he.useState(t),[u,d]=he.useState({columns:1,rows:1}),[f,p]=he.useState(!1),[h,m]=he.useState(!1),[g,b]=he.useState(()=>Mw(o)||"");he.useEffect(()=>o.registerMutationListener(is,B=>{B.get(c.getKey())==="updated"&&(o.getEditorState().read(()=>{i(c.getLatest())}),b(Mw(o)||""))}),[o,c]),he.useEffect(()=>{o.getEditorState().read(()=>{const B=jt();if(ur(B)){const A=vy(B);d(vy(B)),p($A(B)&&(A.columns>1||A.rows>1))}m(YA())})},[o]),he.useEffect(()=>{const B=e.current,A=a.current,j=o.getRootElement();if(B!=null&&A!=null&&j!=null){const O=j.getBoundingClientRect(),L=B.getBoundingClientRect();A.style.opacity="1";const N=A.getBoundingClientRect(),U=5;let D=L.right+U;if(D+N.width>window.innerWidth||D+N.width>O.right){const K=L.left-N.width-U;D=(K<0?U:K)+window.pageXOffset}A.style.left=`${D+window.pageXOffset}px`;let z=L.top;if(z+N.height>window.innerHeight){const K=L.bottom-N.height;z=(K<0?U:K)+window.pageYOffset}A.style.top=`${z+ +window.pageYOffset}px`}},[e,a,o]),he.useEffect(()=>{function B(A){a.current!=null&&e.current!=null&&!a.current.contains(A.target)&&!e.current.contains(A.target)&&n(!1)}return window.addEventListener("click",B),()=>window.removeEventListener("click",B)},[n,e]);const v=he.useCallback(()=>{o.update(()=>{if(c.isAttached()){const A=Ia(c),j=o.getElementByKey(A.getKey());if(!j)throw new Error("Expected to find tableElement in DOM");const O=aT(j);O!==null&&O.clearHighlight(),A.markDirty(),i(c.getLatest())}Mn().selectStart()})},[o,c]),_=()=>{o.update(()=>{const B=jt();if(ur(B)){const{columns:A,rows:j}=vy(B),O=B.getNodes();let L=null;for(let N=0;N<O.length;N++){const U=O[N];if(bn(U))if(L===null){U.setColSpan(A).setRowSpan(j),L=U;const D=Iw(U);let z;D&&_r(z=U.getFirstChild())&&z.remove()}else bn(L)&&(Iw(U)||L.append(...U.getChildren()),U.remove())}L!==null&&(L.getChildrenSize()===0&&L.append(En()),ZA(L)),l()}})},E=()=>{o.update(()=>{rT()})},S=he.useCallback(B=>{o.update(()=>{X2(B),l()})},[o,l]),w=he.useCallback(B=>{o.update(()=>{for(let A=0;A<u.columns;A++)eT(B);l()})},[o,l,u.columns]),y=he.useCallback(()=>{o.update(()=>{tT(),l()})},[o,l]),x=he.useCallback(()=>{o.update(()=>{Ia(c).remove(),v(),l()})},[o,c,v,l]),C=he.useCallback(()=>{o.update(()=>{nT(),l()})},[o,l]),T=he.useCallback(()=>{o.update(()=>{const B=Ia(c),A=i1(c),j=B.getChildren();if(A>=j.length||A<0)throw new Error("Expected table cell to be inside of table row.");const O=j[A];if(!Dr(O))throw new Error("Expected table row");O.getChildren().forEach(L=>{if(!bn(L))throw new Error("Expected table cell");L.toggleHeaderStyle(Ur.ROW)}),v(),l()})},[o,c,v,l]),R=he.useCallback(()=>{o.update(()=>{const B=Ia(c),A=qm(c),j=B.getChildren(),O=Math.max(...j.map(L=>L.getChildren().length));if(A>=O||A<0)throw new Error("Expected table cell to be inside of table row.");for(let L=0;L<j.length;L++){const N=j[L];if(!Dr(N))throw new Error("Expected table row");const U=N.getChildren();if(A>=U.length)continue;const D=U[A];if(!bn(D))throw new Error("Expected table cell");D.toggleHeaderStyle(Ur.COLUMN)}v(),l()})},[o,c,v,l]),F=he.useCallback(B=>{o.update(()=>{const A=jt();if(St(A)||ur(A)){const[j]=Po(A.anchor);if(bn(j)&&j.setBackgroundColor(B),ur(A)){const O=A.getNodes();for(let L=0;L<O.length;L++){const N=O[L];bn(N)&&N.setBackgroundColor(B)}}}})},[o]);let I=null;return s&&(f?I=ae.jsx("button",{type:"button",className:"item",onClick:()=>_(),"data-test-id":"table-merge-cells",children:"Merge cells"}):h&&(I=ae.jsx("button",{type:"button",className:"item",onClick:()=>E(),"data-test-id":"table-unmerge-cells",children:"Unmerge cells"}))),ao.createPortal(ae.jsxs("div",{className:"dropdown",ref:a,onClick:B=>{B.stopPropagation()},children:[I,ae.jsx("button",{type:"button",className:"item",onClick:()=>r("Cell background color",()=>ae.jsx(VA,{color:g,onChange:F})),"data-test-id":"table-background-color",children:ae.jsx("span",{className:"text",children:"Background color"})}),ae.jsx("hr",{}),ae.jsx("button",{type:"button",className:"item",onClick:()=>S(!1),"data-test-id":"table-insert-row-above",children:ae.jsxs("span",{className:"text",children:["Insert"," ",u.rows===1?"row":`${u.rows} rows`," ","above"]})}),ae.jsx("button",{type:"button",className:"item",onClick:()=>S(!0),"data-test-id":"table-insert-row-below",children:ae.jsxs("span",{className:"text",children:["Insert"," ",u.rows===1?"row":`${u.rows} rows`," ","below"]})}),ae.jsx("hr",{}),ae.jsx("button",{type:"button",className:"item",onClick:()=>w(!1),"data-test-id":"table-insert-column-before",children:ae.jsxs("span",{className:"text",children:["Insert"," ",u.columns===1?"column":`${u.columns} columns`," ","left"]})}),ae.jsx("button",{type:"button",className:"item",onClick:()=>w(!0),"data-test-id":"table-insert-column-after",children:ae.jsxs("span",{className:"text",children:["Insert"," ",u.columns===1?"column":`${u.columns} columns`," ","right"]})}),ae.jsx("hr",{}),ae.jsx("button",{type:"button",className:"item",onClick:()=>C(),"data-test-id":"table-delete-columns",children:ae.jsx("span",{className:"text",children:"Delete column"})}),ae.jsx("button",{type:"button",className:"item",onClick:()=>y(),"data-test-id":"table-delete-rows",children:ae.jsx("span",{className:"text",children:"Delete row"})}),ae.jsx("button",{type:"button",className:"item",onClick:()=>x(),"data-test-id":"table-delete",children:ae.jsx("span",{className:"text",children:"Delete table"})}),ae.jsx("hr",{}),ae.jsx("button",{type:"button",className:"item",onClick:()=>T(),children:ae.jsxs("span",{className:"text",children:[(c.__headerState&Ur.ROW)===Ur.ROW?"Remove":"Add"," ","row header"]})}),ae.jsx("button",{type:"button",className:"item",onClick:()=>R(),"data-test-id":"table-column-header",children:ae.jsxs("span",{className:"text",children:[(c.__headerState&Ur.COLUMN)===Ur.COLUMN?"Remove":"Add"," ","column header"]})})]}),document.body)}function XA({anchorElem:l,cellMerge:t}){const[n]=yn(),e=he.useRef(null),s=he.useRef(null),[r,o]=he.useState(!1),[a,c]=he.useState(null),[i,u]=Da(),d=he.useCallback(()=>{const p=e.current,h=jt(),m=window.getSelection(),g=document.activeElement;if(h==null||p==null){c(null);return}const b=n.getRootElement();if(St(h)&&b!==null&&m!==null&&b.contains(m.anchorNode)){const v=Q2(h.anchor.getNode());if(v==null){c(null);return}if(n.getElementByKey(v.getKey())==null){c(null);return}c(v)}else g||c(null)},[n]);he.useEffect(()=>n.registerUpdateListener(()=>{n.getEditorState().read(()=>{d()})})),he.useEffect(()=>{const p=e.current;if(p!=null&&a!=null){const h=n.getElementByKey(a.getKey());if(h!=null){const m=h.getBoundingClientRect(),g=p.getBoundingClientRect(),b=l.getBoundingClientRect(),v=m.top-b.top+4,_=m.right-g.width-10-b.left;p.style.opacity="1",p.style.transform=`translate(${_}px, ${v}px)`}else p.style.opacity="0",p.style.transform="translate(-10000px, -10000px)"}},[e,a,n,l]);const f=he.useRef(a);return he.useEffect(()=>{f.current!==a&&o(!1),f.current=a},[f,a]),ae.jsx("div",{className:"table-cell-action-button-container",ref:e,children:a!=null&&ae.jsxs(ae.Fragment,{children:[ae.jsx("button",{type:"button",className:"table-cell-action-button chevron-down",onClick:p=>{p.stopPropagation(),o(!r)},ref:s,children:ae.jsx("i",{className:"chevron-down"})}),i,r&&ae.jsx(QA,{contextRef:s,setIsMenuOpen:o,onClose:()=>o(!1),tableCellNode:a,cellMerge:t,showColorPickerModal:u})]})})}function Rw({anchorElem:l=document.body,cellMerge:t=!1}){const n=cy();return ao.createPortal(n?ae.jsx(XA,{anchorElem:l,cellMerge:t}):null,l)}const RD="",eO=33,tO=50;function nO({editor:l}){const t=he.useRef(null),n=he.useRef(null),e=he.useRef(null),s=he.useRef(null),[r,o]=he.useState(null),[a,c]=he.useState(null),[i,u]=he.useState(!1),[d,f]=he.useState(null);he.useEffect(()=>l.registerCommand(ai,S=>{const w=jt(),y=ur(w);return i!==y&&u(y),!1},xi));const p=he.useCallback(()=>{c(null),t.current=null,f(null),s.current=null,e.current=null},[]);he.useEffect(()=>{const S=w=>{setTimeout(()=>{const y=w.target;if(d){o({x:w.clientX,y:w.clientY});return}if(!(n.current&&n.current.contains(y))&&t.current!==y){t.current=y;const x=Vm(y);x&&a!==x?l.update(()=>{const C=ho(x.elem);if(!C)return;const T=Ia(C),R=l.getElementByKey(T.getKey());if(!R){console.error("TableCellResizer: Table element not found.");return}t.current=y,e.current=R.getBoundingClientRect(),c(x)}):x==null&&p()}},0)};return document.addEventListener("mousemove",S),()=>{document.removeEventListener("mousemove",S)}},[a,d,l,p]);const h=S=>S==="bottom",m=he.useCallback(S=>{if(!a){console.error("TableCellResizer: Expected active cell.");return}l.update(()=>{const w=ho(a.elem);if(!bn(w)){console.error("TableCellResizer: Table cell node not found.");return}const y=Ia(w),x=i1(w),C=y.getChildren();if(x>=C.length||x<0){console.error("Expected table cell to be inside of table row.");return}const T=C[x];if(!Dr(T)){console.error("Expected table row");return}T.setHeight(S)})},[a,l]),g=he.useCallback(S=>{if(!a){console.error("TableCellResizer: Expected active cell.");return}l.update(()=>{const w=ho(a.elem);if(!bn(w)){console.error("TableCellResizer: Table cell node not found.");return}const y=Ia(w),x=qm(w),C=y.getChildren();for(let T=0;T<C.length;T++){const R=C[T];if(!Dr(R)){console.error("Expected table row");return}const F=R.getChildren(),A=F.map(O=>O.getColSpan()).reduce((O,L)=>{const N=O[O.length-1]??0;return O.push(N+L),O},[]).findIndex(O=>O>x);if(A>=F.length||A<0){console.error("Expected table cell to be inside of table row.");return}const j=F[A];if(!bn(j)){console.error("Expected table cell");return}j.setWidth(S)}})},[a,l]),b=he.useCallback(S=>{const w=y=>{if(y.preventDefault(),y.stopPropagation(),!a){console.error("TableCellResizer: Expected active cell.");return}if(s.current){const{x,y:C}=s.current;if(a===null)return;if(h(S)){const T=a.elem.getBoundingClientRect().height,R=Math.abs(y.clientY-C),F=S==="bottom"&&C>y.clientY;m(Math.max(F?T-R:R+T,eO))}else{const T=getComputedStyle(a.elem);let R=a.elem.clientWidth;R-=parseFloat(T.paddingLeft)+parseFloat(T.paddingRight);const F=Math.abs(y.clientX-x),I=S==="right"&&x>y.clientX;g(Math.max(I?R-F:F+R,tO))}p(),document.removeEventListener("mouseup",w)}};return w},[a,p,g,m]),v=he.useCallback(S=>w=>{if(w.preventDefault(),w.stopPropagation(),!a){console.error("TableCellResizer: Expected active cell.");return}s.current={x:w.clientX,y:w.clientY},o(s.current),f(S),document.addEventListener("mouseup",b(S))},[a,b]),E=he.useCallback(()=>{if(a){const{height:S,width:w,top:y,left:x}=a.elem.getBoundingClientRect(),C={bottom:{backgroundColor:"none",cursor:"row-resize",height:"10px",left:`${window.pageXOffset+x}px`,top:`${window.pageYOffset+y+S}px`,width:`${w}px`},right:{backgroundColor:"none",cursor:"col-resize",height:`${S}px`,left:`${window.pageXOffset+x+w}px`,top:`${window.pageYOffset+y}px`,width:"10px"}},T=e.current;return d&&r&&T&&(h(d)?(C[d].left=`${window.pageXOffset+T.left}px`,C[d].top=`${window.pageYOffset+r.y}px`,C[d].height="3px",C[d].width=`${T.width}px`):(C[d].top=`${window.pageYOffset+T.top}px`,C[d].left=`${window.pageXOffset+r.x}px`,C[d].width="3px",C[d].height=`${T.height}px`),C[d].backgroundColor="#adf"),C}return{bottom:null,left:null,right:null,top:null}},[a,d,r])();return ae.jsx("div",{ref:n,children:a!=null&&!i&&ae.jsxs(ae.Fragment,{children:[ae.jsx("div",{className:"TableCellResizer__resizer TableCellResizer__ui",style:E.right||void 0,onMouseDown:v("right")}),ae.jsx("div",{className:"TableCellResizer__resizer TableCellResizer__ui",style:E.bottom||void 0,onMouseDown:v("bottom")})]})})}function Dw({isEditable:l=!0}){const[t]=yn();return he.useMemo(()=>l?ao.createPortal(ae.jsx(nO,{editor:t}),document.body):null,[t,l])}const Lw=ir.createContext(null),Fw=4;function Gr({children:l,className:t,onClick:n,title:e}){const s=he.useRef(null),r=ir.useContext(Lw);if(r===null)throw new Error("DropDownItem must be used within a DropDown");const{registerItem:o}=r;return he.useEffect(()=>{s&&s.current&&o(s)},[s,o]),ae.jsx("button",{className:t,onClick:n,ref:s,title:e,type:"button",children:l})}function rO({children:l,dropDownRef:t,onClose:n}){const[e,s]=he.useState(),[r,o]=he.useState(),a=he.useCallback(u=>{s(d=>d?[...d,u]:[u])},[s]),c=u=>{if(!e)return;const d=u.key;["Escape","ArrowUp","ArrowDown","Tab"].includes(d)&&u.preventDefault(),d==="Escape"||d==="Tab"?n():d==="ArrowUp"?o(f=>{if(!f)return e[0];const p=e.indexOf(f)-1;return e[p===-1?e.length-1:p]}):d==="ArrowDown"&&o(f=>f?e[e.indexOf(f)+1]:e[0])},i=he.useMemo(()=>({registerItem:a}),[a]);return he.useEffect(()=>{e&&!r&&o(e[0]),r&&r.current&&r.current.focus()},[e,r]),ae.jsx(Lw.Provider,{value:i,children:ae.jsx("div",{className:"dropdown",ref:t,onKeyDown:c,children:l})})}function Il({disabled:l=!1,buttonLabel:t,buttonAriaLabel:n,buttonClassName:e,buttonIconClassName:s,children:r,stopCloseOnClickSelf:o}){const a=he.useRef(null),c=he.useRef(null),[i,u]=he.useState(!1),d=()=>{u(!1),c&&c.current&&c.current.focus()};return he.useEffect(()=>{const f=c.current,p=a.current;if(i&&f!==null&&p!==null){const{top:h,left:m}=f.getBoundingClientRect();p.style.top=`${h+f.offsetHeight+Fw}px`,p.style.left=`${Math.min(m,window.innerWidth-p.offsetWidth-20)}px`}},[a,c,i]),he.useEffect(()=>{const f=c.current;if(f!==null&&i){const p=h=>{const m=h.target;o&&a.current&&a.current.contains(m)||f.contains(m)||u(!1)};return document.addEventListener("click",p),()=>{document.removeEventListener("click",p)}}},[a,c,i,o]),he.useEffect(()=>{const f=()=>{if(i){const p=c.current,h=a.current;if(p!==null&&h!==null){const{top:m}=p.getBoundingClientRect(),g=m+p.offsetHeight+Fw;g!==h.getBoundingClientRect().top&&(h.style.top=`${g}px`)}}};return document.addEventListener("scroll",f),()=>{document.removeEventListener("scroll",f)}},[c,a,i]),ae.jsxs(ae.Fragment,{children:[ae.jsxs("button",{type:"button",disabled:l,"aria-label":n||t,className:e,onClick:()=>u(!i),ref:c,children:[s&&ae.jsx("span",{className:s}),t&&ae.jsx("span",{className:"text dropdown-button-text",children:t}),ae.jsx("i",{className:"chevron-down"})]}),i&&ao.createPortal(ae.jsx(rO,{dropDownRef:a,onClose:d,children:r}),document.body)]})}function Bw(l){const t=l.anchor,n=l.focus,e=l.anchor.getNode(),s=l.focus.getNode();return e===s?e:l.isBackward()?f_(n)?e:s:f_(t)?e:s}function oO(l){(()=>{l.update(()=>{Mn().getChildren().forEach(()=>{Mn().getChildren().filter(o=>{ey(o)&&o.__pageNumber})});const e=C1(),s=jt();s!==null&&St(s)&&(s.anchor.getNode().getTopLevelElementOrThrow().insertAfter(e),e.selectEnd())})})()}const zw=8,Uw=72,La={h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",h4:"Heading 4",h5:"Heading 5",paragraph:"Normal"},iO=({selectionFontSize:l,disabled:t,editor:n,blockType:e,styleConfig:s,isenterPressed:r,currentElementClick:o,currentElementSelect:a,wpAndTaskId:c})=>{const[i,u]=ir.useState(l),[d,f]=ir.useState(e),[p,h]=ir.useState("");ir.useState([]),ir.useState("");const{heading:m}=s||{},g=S=>{S&&S.title&&n.update(()=>{if(n.isEditable()){const w=jt();w&&Em(w,S)}})},b=S=>{u(S.target.value)},v=()=>{const S=Number(i);if(!isNaN(S)){const w=Math.min(Math.max(S,zw),Uw);u(String(w)),g({"font-size":`${w}px`})}},_=S=>{var y,x,C;h(S),n.update(()=>{const T=jt();St(T)&&p2(T,()=>Cl(S))});let w=null;if(m)switch(S){case"h1":w=((y=m.find(T=>T.title==="Heading1"))==null?void 0:y.fontSize)??56;break;case"h2":w=((x=m.find(T=>T.title==="Heading2"))==null?void 0:x.fontSize)??14;break;case"h3":w=((C=m.find(T=>T.title==="Heading3"))==null?void 0:C.fontSize)??12;break;case"paragraph":w=15;break;default:w=15}u(w),h(S),f(S)},E=()=>{u("15")};return ir.useEffect(()=>{E()},[r]),ir.useEffect(()=>{const S=()=>{n.update(()=>{const w=jt();if(w!==null){const x=w.getNodes()[0];if(!Jt(x)){const C=x.getType();C in La&&f(C)}}})};return n.registerUpdateListener(S),()=>{n.registerUpdateListener(S)}},[n]),ir.useEffect(()=>{var S,w,y;switch(o.tagName){case"P":f("paragraph"),u("15");break;case"H1":f("h1");const x=((S=s.heading.find(R=>R.title==="Heading1"))==null?void 0:S.fontSize)??"16";u(x);break;case"H2":f("h2");const C=((w=s.heading.find(R=>R.title==="Heading2"))==null?void 0:w.fontSize)??"14";u(C);break;case"H3":f("h3");const T=((y=s.heading.find(R=>R.title==="Heading3"))==null?void 0:y.fontSize)??"12";u(T);break;default:f("paragraph"),u("15");break}},[o]),ir.useEffect(()=>{var w,y,x;if(!a){u("15"),f("paragraph");return}switch(a.trim()){case"P":u("15"),f("paragraph");break;case"h1":f("h1");const C=((w=s.heading.find(F=>F.title==="Heading1"))==null?void 0:w.fontSize)??"16";u(C);break;case"h2":f("h2");const T=((y=s.heading.find(F=>F.title==="Heading2"))==null?void 0:y.fontSize)??"14";u(T);break;case"h3":f("h3");const R=((x=s.heading.find(F=>F.title==="Heading3"))==null?void 0:x.fontSize)??"12";u(R);break;default:f("paragraph"),u("15");break}},[a]),ae.jsxs(ae.Fragment,{children:[s&&s.heading?ae.jsxs(Il,{disabled:t,buttonClassName:"toolbar-item block-controls",buttonAriaLabel:"Formatting options for text style",buttonIconClassName:"icon block-type "+d,buttonLabel:La[d],children:[ae.jsxs(Gr,{className:`item ${d==="paragraph"?"active":""}`,onClick:()=>_("paragraph"),children:[ae.jsx("i",{className:"icon paragraph"}),ae.jsx("span",{className:"text",children:La.paragraph})]}),s.heading&&s.heading.find(S=>S.title==="Heading1")&&ae.jsxs(Gr,{className:`item ${d==="h1"?"active":""}`,onClick:()=>_("h1"),children:[ae.jsx("i",{className:"icon h1"}),ae.jsx("span",{className:"text",children:La.h1})]}),s.heading&&s.heading.find(S=>S.title==="Heading2")&&ae.jsxs(Gr,{className:`item ${d==="h2"?"active":""}`,onClick:()=>_("h2"),children:[ae.jsx("i",{className:"icon h2"}),ae.jsx("span",{className:"text",children:La.h2})]}),s.heading&&s.heading.find(S=>S.title==="Heading3")&&ae.jsxs(Gr,{className:`item ${d==="h3"?"active":""}`,onClick:()=>_("h3"),children:[ae.jsx("i",{className:"icon h3"}),ae.jsx("span",{className:"text",children:La.h3})]}),s.heading&&s.heading.find(S=>S.title==="Heading5")&&ae.jsxs(Gr,{className:`item ${d==="h4"?"active":""}`,onClick:()=>_("h4"),children:[ae.jsx("i",{className:"icon h4"}),ae.jsx("span",{className:"text",children:La.h4})]}),s.heading&&s.heading.find(S=>S.title==="Heading5")&&ae.jsxs(Gr,{className:`item ${d==="h5"?"active":""}`,onClick:()=>_("h5"),children:[ae.jsx("i",{className:"icon h5"}),ae.jsx("span",{className:"text",children:La.h5})]})]}):"",ae.jsx("input",{style:{width:"25px",marginLeft:"5px",paddingLeft:"7px"},title:"Font Size",type:"text",value:11,disabled:t,readOnly:!0,className:"toolbar-item font-size-input input-font-size-value",min:zw,max:Uw,onChange:b,onBlur:v})]})},sO=Mc&&"documentMode"in document?document.documentMode:null,Fa=Mc&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);Mc&&"InputEvent"in window&&!sO&&"getTargetRanges"in new window.InputEvent("input");const Hw="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xMi41NTM1IDE2LjUwNjFDMTIuNDExNCAxNi42NjE1IDEyLjIxMDYgMTYuNzUgMTIgMTYuNzVDMTEuNzg5NCAxNi43NSAxMS41ODg2IDE2LjY2MTUgMTEuNDQ2NSAxNi41MDYxTDcuNDQ2NDggMTIuMTMxMUM3LjE2Njk4IDExLjgyNTQgNy4xODgyMiAxMS4zNTEgNy40OTM5MiAxMS4wNzE1QzcuNzk5NjMgMTAuNzkyIDguMjc0MDIgMTAuODEzMiA4LjU1MzUyIDExLjExODlMMTEuMjUgMTQuMDY4MlYzQzExLjI1IDIuNTg1NzkgMTEuNTg1OCAyLjI1IDEyIDIuMjVDMTIuNDE0MiAyLjI1IDEyLjc1IDIuNTg1NzkgMTIuNzUgM1YxNC4wNjgyTDE1LjQ0NjUgMTEuMTE4OUMxNS43MjYgMTAuODEzMiAxNi4yMDA0IDEwLjc5MiAxNi41MDYxIDExLjA3MTVDMTYuODExOCAxMS4zNTEgMTYuODMzIDExLjgyNTQgMTYuNTUzNSAxMi4xMzExTDEyLjU1MzUgMTYuNTA2MVoiIGZpbGw9IiMxQzI3NEMiLz4NCjxwYXRoIGQ9Ik0zLjc1IDE1QzMuNzUgMTQuNTg1OCAzLjQxNDIyIDE0LjI1IDMgMTQuMjVDMi41ODU3OSAxNC4yNSAyLjI1IDE0LjU4NTggMi4yNSAxNVYxNS4wNTQ5QzIuMjQ5OTggMTYuNDIyNSAyLjI0OTk2IDE3LjUyNDggMi4zNjY1MiAxOC4zOTE4QzIuNDg3NTQgMTkuMjkxOSAyLjc0NjQzIDIwLjA0OTcgMy4zNDgzNSAyMC42NTE2QzMuOTUwMjcgMjEuMjUzNiA0LjcwODE0IDIxLjUxMjUgNS42MDgyNSAyMS42MzM1QzYuNDc1MjIgMjEuNzUgNy41Nzc1NCAyMS43NSA4Ljk0NTEzIDIxLjc1SDE1LjA1NDlDMTYuNDIyNSAyMS43NSAxNy41MjQ4IDIxLjc1IDE4LjM5MTggMjEuNjMzNUMxOS4yOTE5IDIxLjUxMjUgMjAuMDQ5NyAyMS4yNTM2IDIwLjY1MTcgMjAuNjUxNkMyMS4yNTM2IDIwLjA0OTcgMjEuNTEyNSAxOS4yOTE5IDIxLjYzMzUgMTguMzkxOEMyMS43NSAxNy41MjQ4IDIxLjc1IDE2LjQyMjUgMjEuNzUgMTUuMDU0OVYxNUMyMS43NSAxNC41ODU4IDIxLjQxNDIgMTQuMjUgMjEgMTQuMjVDMjAuNTg1OCAxNC4yNSAyMC4yNSAxNC41ODU4IDIwLjI1IDE1QzIwLjI1IDE2LjQzNTQgMjAuMjQ4NCAxNy40MzY1IDIwLjE0NjkgMTguMTkxOUMyMC4wNDgyIDE4LjkyNTcgMTkuODY3OCAxOS4zMTQyIDE5LjU5MSAxOS41OTFDMTkuMzE0MiAxOS44Njc4IDE4LjkyNTcgMjAuMDQ4MiAxOC4xOTE5IDIwLjE0NjlDMTcuNDM2NSAyMC4yNDg0IDE2LjQzNTQgMjAuMjUgMTUgMjAuMjVIOUM3LjU2NDU5IDIwLjI1IDYuNTYzNDcgMjAuMjQ4NCA1LjgwODEyIDIwLjE0NjlDNS4wNzQzNSAyMC4wNDgyIDQuNjg1NzcgMTkuODY3OCA0LjQwOTAxIDE5LjU5MUM0LjEzMjI1IDE5LjMxNDIgMy45NTE4IDE4LjkyNTcgMy44NTMxNSAxOC4xOTE5QzMuNzUxNTkgMTcuNDM2NSAzLjc1IDE2LjQzNTQgMy43NSAxNVoiIGZpbGw9IiMxQzI3NEMiLz4NCjwvc3ZnPg==";var qw={exports:{}};(function(l,t){(function(n,e){e()})(va,function(){function n(i,u){return typeof u>"u"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(i.type)?new Blob(["\uFEFF",i],{type:i.type}):i}function e(i,u,d){var f=new XMLHttpRequest;f.open("GET",i),f.responseType="blob",f.onload=function(){c(f.response,u,d)},f.onerror=function(){console.error("could not download file")},f.send()}function s(i){var u=new XMLHttpRequest;u.open("HEAD",i,!1);try{u.send()}catch{}return 200<=u.status&&299>=u.status}function r(i){try{i.dispatchEvent(new MouseEvent("click"))}catch{var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),i.dispatchEvent(u)}}var o=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof va=="object"&&va.global===va?va:void 0,a=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=o.saveAs||(typeof window!="object"||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(i,u,d){var f=o.URL||o.webkitURL,p=document.createElement("a");u=u||i.name||"download",p.download=u,p.rel="noopener",typeof i=="string"?(p.href=i,p.origin===location.origin?r(p):s(p.href)?e(i,u,d):r(p,p.target="_blank")):(p.href=f.createObjectURL(i),setTimeout(function(){f.revokeObjectURL(p.href)},4e4),setTimeout(function(){r(p)},0))}:"msSaveOrOpenBlob"in navigator?function(i,u,d){if(u=u||i.name||"download",typeof i!="string")navigator.msSaveOrOpenBlob(n(i,d),u);else if(s(i))e(i,u,d);else{var f=document.createElement("a");f.href=i,f.target="_blank",setTimeout(function(){r(f)})}}:function(i,u,d,f){if(f=f||open("","_blank"),f&&(f.document.title=f.document.body.innerText="downloading..."),typeof i=="string")return e(i,u,d);var p=i.type==="application/octet-stream",h=/constructor/i.test(o.HTMLElement)||o.safari,m=/CriOS\/[\d]+/.test(navigator.userAgent);if((m||p&&h||a)&&typeof FileReader<"u"){var g=new FileReader;g.onloadend=function(){var _=g.result;_=m?_:_.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=_:location=_,f=null},g.readAsDataURL(i)}else{var b=o.URL||o.webkitURL,v=b.createObjectURL(i);f?f.location=v:location.href=v,f=null,setTimeout(function(){b.revokeObjectURL(v)},4e4)}});o.saveAs=c.saveAs=c,l.exports=c})})(qw);var aO=qw.exports;function lO(l){const t=document.createElement("div");return t.innerHTML=l,t.querySelectorAll("*").forEach(e=>{let s="";if(e.classList.contains("PlaygroundEditorTheme__textItalic")&&e.classList.contains("PlaygroundEditorTheme__textStrikethrough")){s+="text-decoration: line-through; ";const r=document.createElement("span");r.style.cssText=s.trim();const o=document.createElement("i");o.innerHTML=e.innerHTML,r.appendChild(o),e.innerHTML="",e.appendChild(r)}else if(e.classList.contains("PlaygroundEditorTheme__textBold")&&e.classList.contains("PlaygroundEditorTheme__textItalic")&&e.classList.contains("PlaygroundEditorTheme__textStrikethrough")){s+="text-decoration: line-through; ";const r=document.createElement("span");r.style.cssText=s.trim();const o=document.createElement("i"),a=document.createElement("strong");a.innerHTML=e.innerHTML,o.appendChild(a),r.appendChild(o),e.innerHTML="",e.appendChild(r)}else{if(e.classList.contains("PlaygroundEditorTheme__textStrikethrough")&&(s+="text-decoration: line-through; "),e.classList.contains("PlaygroundEditorTheme__textUnderlineStrikethrough")&&(s+="text-decoration: line-through underline; "),e.classList.contains("PlaygroundEditorTheme__textBold")){const r=document.createElement("strong");r.innerHTML=e.innerHTML,e.innerHTML="",e.appendChild(r)}if(e.classList.contains("PlaygroundEditorTheme__textItalic")){const r=document.createElement("i");r.innerHTML=e.innerHTML,e.innerHTML="",e.appendChild(r)}if(e.classList.contains("PlaygroundEditorTheme__textUnderline")){const r=document.createElement("u");r.innerHTML=e.innerHTML,e.innerHTML="",e.appendChild(r)}if(s){const r=document.createElement("span");r.style.cssText=s.trim(),r.innerHTML=e.innerHTML,e.innerHTML="",e.appendChild(r)}}}),t.innerHTML}function cO(l){const t=document.createElement("div");t.innerHTML=l;const n=t.querySelectorAll(".PlaygroundEditorTheme__table");return n.length===0?l:(n.forEach(e=>{e.style.width="100%",e.style.borderCollapse="collapse",e.style.border="1px solid black",e.style.fontFamily="Times New Roman",e.style.fontSize="11pt",e.querySelectorAll("tr").forEach((r,o)=>{r.style.border="1px solid black";const a=r.querySelectorAll("td, th"),i=100/a.length+"%";a.forEach(u=>{u.style.width=i,u.style.height="20px",u.style.border="1px solid black",u.style.padding="5px 8px",u.style.textAlign="left",u.style.verticalAlign="middle",u.innerHTML.trim()||(u.innerHTML="&nbsp;"),u.querySelectorAll(".PlaygroundEditorTheme__textUnderline").forEach(p=>{p.style.textDecoration="underline"}),u.querySelectorAll(".PlaygroundEditorTheme__textStrikethrough").forEach(p=>{p.style.textDecoration="line-through"}),u.classList.contains("PlaygroundEditorTheme__tableCellHeader")&&(u.style.fontWeight="bold",u.style.backgroundColor="#d9d9d9",u.style.textAlign="center")})})}),t.innerHTML)}function Ww(l){return l=l.replace(/<br\s*\/?>/g,""),l.includes("Crop")&&(l=l.replace(/Crop/g,"")),Jw(l)}function Jw(l){const t=document.createElement("div");return t.innerHTML=l,t.querySelectorAll("h1").forEach(s=>{const r=s.querySelector("p");r&&r.remove()}),t.innerHTML}function Vw(l){const n=new DOMParser().parseFromString(l,"text/html"),e=r=>{r.forEach(o=>{if(o.children.length>0&&Array.from(o.children).every(c=>c.tagName==="TABLE")){const c=document.createDocumentFragment();Array.from(o.children).forEach(i=>{i.tagName==="TABLE"&&c.appendChild(i.cloneNode(!0))}),o.replaceWith(c)}else if(o.children.length===1&&o.children[0].tagName==="P"){const c=o.children[0],i=c.innerHTML.trim();i===""||/^<br\s*\/?>$/i.test(i)?o.replaceWith(c):c.replaceWith(...c.childNodes)}})},s=Array.from(n.querySelectorAll("h1, h2, h3, h4, h5, h6, p"));return e(s),n.body.innerHTML}var by={exports:{}},Gp={exports:{}},gr={};/** @license React v16.13.1
67
+ * react-is.production.min.js
68
+ *
69
+ * Copyright (c) Facebook, Inc. and its affiliates.
70
+ *
71
+ * This source code is licensed under the MIT license found in the
72
+ * LICENSE file in the root directory of this source tree.
73
+ */var Kw;function uO(){if(Kw)return gr;Kw=1;var l=typeof Symbol=="function"&&Symbol.for,t=l?Symbol.for("react.element"):60103,n=l?Symbol.for("react.portal"):60106,e=l?Symbol.for("react.fragment"):60107,s=l?Symbol.for("react.strict_mode"):60108,r=l?Symbol.for("react.profiler"):60114,o=l?Symbol.for("react.provider"):60109,a=l?Symbol.for("react.context"):60110,c=l?Symbol.for("react.async_mode"):60111,i=l?Symbol.for("react.concurrent_mode"):60111,u=l?Symbol.for("react.forward_ref"):60112,d=l?Symbol.for("react.suspense"):60113,f=l?Symbol.for("react.suspense_list"):60120,p=l?Symbol.for("react.memo"):60115,h=l?Symbol.for("react.lazy"):60116,m=l?Symbol.for("react.block"):60121,g=l?Symbol.for("react.fundamental"):60117,b=l?Symbol.for("react.responder"):60118,v=l?Symbol.for("react.scope"):60119;function _(S){if(typeof S=="object"&&S!==null){var w=S.$$typeof;switch(w){case t:switch(S=S.type,S){case c:case i:case e:case r:case s:case d:return S;default:switch(S=S&&S.$$typeof,S){case a:case u:case h:case p:case o:return S;default:return w}}case n:return w}}}function E(S){return _(S)===i}return gr.AsyncMode=c,gr.ConcurrentMode=i,gr.ContextConsumer=a,gr.ContextProvider=o,gr.Element=t,gr.ForwardRef=u,gr.Fragment=e,gr.Lazy=h,gr.Memo=p,gr.Portal=n,gr.Profiler=r,gr.StrictMode=s,gr.Suspense=d,gr.isAsyncMode=function(S){return E(S)||_(S)===c},gr.isConcurrentMode=E,gr.isContextConsumer=function(S){return _(S)===a},gr.isContextProvider=function(S){return _(S)===o},gr.isElement=function(S){return typeof S=="object"&&S!==null&&S.$$typeof===t},gr.isForwardRef=function(S){return _(S)===u},gr.isFragment=function(S){return _(S)===e},gr.isLazy=function(S){return _(S)===h},gr.isMemo=function(S){return _(S)===p},gr.isPortal=function(S){return _(S)===n},gr.isProfiler=function(S){return _(S)===r},gr.isStrictMode=function(S){return _(S)===s},gr.isSuspense=function(S){return _(S)===d},gr.isValidElementType=function(S){return typeof S=="string"||typeof S=="function"||S===e||S===i||S===r||S===s||S===d||S===f||typeof S=="object"&&S!==null&&(S.$$typeof===h||S.$$typeof===p||S.$$typeof===o||S.$$typeof===a||S.$$typeof===u||S.$$typeof===g||S.$$typeof===b||S.$$typeof===v||S.$$typeof===m)},gr.typeOf=_,gr}var mr={};/** @license React v16.13.1
74
+ * react-is.development.js
75
+ *
76
+ * Copyright (c) Facebook, Inc. and its affiliates.
77
+ *
78
+ * This source code is licensed under the MIT license found in the
79
+ * LICENSE file in the root directory of this source tree.
80
+ */var Gw;function dO(){return Gw||(Gw=1,process.env.NODE_ENV!=="production"&&function(){var l=typeof Symbol=="function"&&Symbol.for,t=l?Symbol.for("react.element"):60103,n=l?Symbol.for("react.portal"):60106,e=l?Symbol.for("react.fragment"):60107,s=l?Symbol.for("react.strict_mode"):60108,r=l?Symbol.for("react.profiler"):60114,o=l?Symbol.for("react.provider"):60109,a=l?Symbol.for("react.context"):60110,c=l?Symbol.for("react.async_mode"):60111,i=l?Symbol.for("react.concurrent_mode"):60111,u=l?Symbol.for("react.forward_ref"):60112,d=l?Symbol.for("react.suspense"):60113,f=l?Symbol.for("react.suspense_list"):60120,p=l?Symbol.for("react.memo"):60115,h=l?Symbol.for("react.lazy"):60116,m=l?Symbol.for("react.block"):60121,g=l?Symbol.for("react.fundamental"):60117,b=l?Symbol.for("react.responder"):60118,v=l?Symbol.for("react.scope"):60119;function _(Y){return typeof Y=="string"||typeof Y=="function"||Y===e||Y===i||Y===r||Y===s||Y===d||Y===f||typeof Y=="object"&&Y!==null&&(Y.$$typeof===h||Y.$$typeof===p||Y.$$typeof===o||Y.$$typeof===a||Y.$$typeof===u||Y.$$typeof===g||Y.$$typeof===b||Y.$$typeof===v||Y.$$typeof===m)}function E(Y){if(typeof Y=="object"&&Y!==null){var ee=Y.$$typeof;switch(ee){case t:var ie=Y.type;switch(ie){case c:case i:case e:case r:case s:case d:return ie;default:var fe=ie&&ie.$$typeof;switch(fe){case a:case u:case h:case p:case o:return fe;default:return ee}}case n:return ee}}}var S=c,w=i,y=a,x=o,C=t,T=u,R=e,F=h,I=p,B=n,A=r,j=s,O=d,L=!1;function N(Y){return L||(L=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),U(Y)||E(Y)===c}function U(Y){return E(Y)===i}function D(Y){return E(Y)===a}function z(Y){return E(Y)===o}function K(Y){return typeof Y=="object"&&Y!==null&&Y.$$typeof===t}function G(Y){return E(Y)===u}function P(Y){return E(Y)===e}function W(Y){return E(Y)===h}function J(Y){return E(Y)===p}function H(Y){return E(Y)===n}function $(Y){return E(Y)===r}function Z(Y){return E(Y)===s}function X(Y){return E(Y)===d}mr.AsyncMode=S,mr.ConcurrentMode=w,mr.ContextConsumer=y,mr.ContextProvider=x,mr.Element=C,mr.ForwardRef=T,mr.Fragment=R,mr.Lazy=F,mr.Memo=I,mr.Portal=B,mr.Profiler=A,mr.StrictMode=j,mr.Suspense=O,mr.isAsyncMode=N,mr.isConcurrentMode=U,mr.isContextConsumer=D,mr.isContextProvider=z,mr.isElement=K,mr.isForwardRef=G,mr.isFragment=P,mr.isLazy=W,mr.isMemo=J,mr.isPortal=H,mr.isProfiler=$,mr.isStrictMode=Z,mr.isSuspense=X,mr.isValidElementType=_,mr.typeOf=E}()),mr}var $w;function Yw(){return $w||($w=1,process.env.NODE_ENV==="production"?Gp.exports=uO():Gp.exports=dO()),Gp.exports}var _y,Zw;function wy(){if(Zw)return _y;Zw=1;var l="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return _y=l,_y}var xy,Qw;function Xw(){return Qw||(Qw=1,xy=Function.call.bind(Object.prototype.hasOwnProperty)),xy}var Sy,ex;function fO(){if(ex)return Sy;ex=1;var l=function(){};if(process.env.NODE_ENV!=="production"){var t=wy(),n={},e=Xw();l=function(r){var o="Warning: "+r;typeof console<"u"&&console.error(o);try{throw new Error(o)}catch{}}}function s(r,o,a,c,i){if(process.env.NODE_ENV!=="production"){for(var u in r)if(e(r,u)){var d;try{if(typeof r[u]!="function"){var f=Error((c||"React class")+": "+a+" type `"+u+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof r[u]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw f.name="Invariant Violation",f}d=r[u](o,u,c,a,null,t)}catch(h){d=h}if(d&&!(d instanceof Error)&&l((c||"React class")+": type specification of "+a+" `"+u+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof d+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),d instanceof Error&&!(d.message in n)){n[d.message]=!0;var p=i?i():"";l("Failed "+a+" type: "+d.message+(p??""))}}}}return s.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(n={})},Sy=s,Sy}var Ey,tx;function pO(){if(tx)return Ey;tx=1;var l=Yw(),t=Tf(),n=wy(),e=Xw(),s=fO(),r=function(){};process.env.NODE_ENV!=="production"&&(r=function(a){var c="Warning: "+a;typeof console<"u"&&console.error(c);try{throw new Error(c)}catch{}});function o(){return null}return Ey=function(a,c){var i=typeof Symbol=="function"&&Symbol.iterator,u="@@iterator";function d(U){var D=U&&(i&&U[i]||U[u]);if(typeof D=="function")return D}var f="<<anonymous>>",p={array:b("array"),bigint:b("bigint"),bool:b("boolean"),func:b("function"),number:b("number"),object:b("object"),string:b("string"),symbol:b("symbol"),any:v(),arrayOf:_,element:E(),elementType:S(),instanceOf:w,node:T(),objectOf:x,oneOf:y,oneOfType:C,shape:F,exact:I};function h(U,D){return U===D?U!==0||1/U===1/D:U!==U&&D!==D}function m(U,D){this.message=U,this.data=D&&typeof D=="object"?D:{},this.stack=""}m.prototype=Error.prototype;function g(U){if(process.env.NODE_ENV!=="production")var D={},z=0;function K(P,W,J,H,$,Z,X){if(H=H||f,Z=Z||J,X!==n){if(c){var Y=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 Y.name="Invariant Violation",Y}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var ee=H+":"+J;!D[ee]&&z<3&&(r("You are manually calling a React.PropTypes validation function for the `"+Z+"` prop on `"+H+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),D[ee]=!0,z++)}}return W[J]==null?P?W[J]===null?new m("The "+$+" `"+Z+"` is marked as required "+("in `"+H+"`, but its value is `null`.")):new m("The "+$+" `"+Z+"` is marked as required in "+("`"+H+"`, but its value is `undefined`.")):null:U(W,J,H,$,Z)}var G=K.bind(null,!1);return G.isRequired=K.bind(null,!0),G}function b(U){function D(z,K,G,P,W,J){var H=z[K],$=j(H);if($!==U){var Z=O(H);return new m("Invalid "+P+" `"+W+"` of type "+("`"+Z+"` supplied to `"+G+"`, expected ")+("`"+U+"`."),{expectedType:U})}return null}return g(D)}function v(){return g(o)}function _(U){function D(z,K,G,P,W){if(typeof U!="function")return new m("Property `"+W+"` of component `"+G+"` has invalid PropType notation inside arrayOf.");var J=z[K];if(!Array.isArray(J)){var H=j(J);return new m("Invalid "+P+" `"+W+"` of type "+("`"+H+"` supplied to `"+G+"`, expected an array."))}for(var $=0;$<J.length;$++){var Z=U(J,$,G,P,W+"["+$+"]",n);if(Z instanceof Error)return Z}return null}return g(D)}function E(){function U(D,z,K,G,P){var W=D[z];if(!a(W)){var J=j(W);return new m("Invalid "+G+" `"+P+"` of type "+("`"+J+"` supplied to `"+K+"`, expected a single ReactElement."))}return null}return g(U)}function S(){function U(D,z,K,G,P){var W=D[z];if(!l.isValidElementType(W)){var J=j(W);return new m("Invalid "+G+" `"+P+"` of type "+("`"+J+"` supplied to `"+K+"`, expected a single ReactElement type."))}return null}return g(U)}function w(U){function D(z,K,G,P,W){if(!(z[K]instanceof U)){var J=U.name||f,H=N(z[K]);return new m("Invalid "+P+" `"+W+"` of type "+("`"+H+"` supplied to `"+G+"`, expected ")+("instance of `"+J+"`."))}return null}return g(D)}function y(U){if(!Array.isArray(U))return process.env.NODE_ENV!=="production"&&(arguments.length>1?r("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):r("Invalid argument supplied to oneOf, expected an array.")),o;function D(z,K,G,P,W){for(var J=z[K],H=0;H<U.length;H++)if(h(J,U[H]))return null;var $=JSON.stringify(U,function(X,Y){var ee=O(Y);return ee==="symbol"?String(Y):Y});return new m("Invalid "+P+" `"+W+"` of value `"+String(J)+"` "+("supplied to `"+G+"`, expected one of "+$+"."))}return g(D)}function x(U){function D(z,K,G,P,W){if(typeof U!="function")return new m("Property `"+W+"` of component `"+G+"` has invalid PropType notation inside objectOf.");var J=z[K],H=j(J);if(H!=="object")return new m("Invalid "+P+" `"+W+"` of type "+("`"+H+"` supplied to `"+G+"`, expected an object."));for(var $ in J)if(e(J,$)){var Z=U(J,$,G,P,W+"."+$,n);if(Z instanceof Error)return Z}return null}return g(D)}function C(U){if(!Array.isArray(U))return process.env.NODE_ENV!=="production"&&r("Invalid argument supplied to oneOfType, expected an instance of array."),o;for(var D=0;D<U.length;D++){var z=U[D];if(typeof z!="function")return r("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+L(z)+" at index "+D+"."),o}function K(G,P,W,J,H){for(var $=[],Z=0;Z<U.length;Z++){var X=U[Z],Y=X(G,P,W,J,H,n);if(Y==null)return null;Y.data&&e(Y.data,"expectedType")&&$.push(Y.data.expectedType)}var ee=$.length>0?", expected one of type ["+$.join(", ")+"]":"";return new m("Invalid "+J+" `"+H+"` supplied to "+("`"+W+"`"+ee+"."))}return g(K)}function T(){function U(D,z,K,G,P){return B(D[z])?null:new m("Invalid "+G+" `"+P+"` supplied to "+("`"+K+"`, expected a ReactNode."))}return g(U)}function R(U,D,z,K,G){return new m((U||"React class")+": "+D+" type `"+z+"."+K+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+G+"`.")}function F(U){function D(z,K,G,P,W){var J=z[K],H=j(J);if(H!=="object")return new m("Invalid "+P+" `"+W+"` of type `"+H+"` "+("supplied to `"+G+"`, expected `object`."));for(var $ in U){var Z=U[$];if(typeof Z!="function")return R(G,P,W,$,O(Z));var X=Z(J,$,G,P,W+"."+$,n);if(X)return X}return null}return g(D)}function I(U){function D(z,K,G,P,W){var J=z[K],H=j(J);if(H!=="object")return new m("Invalid "+P+" `"+W+"` of type `"+H+"` "+("supplied to `"+G+"`, expected `object`."));var $=t({},z[K],U);for(var Z in $){var X=U[Z];if(e(U,Z)&&typeof X!="function")return R(G,P,W,Z,O(X));if(!X)return new m("Invalid "+P+" `"+W+"` key `"+Z+"` supplied to `"+G+"`.\nBad object: "+JSON.stringify(z[K],null," ")+`
81
+ Valid keys: `+JSON.stringify(Object.keys(U),null," "));var Y=X(J,Z,G,P,W+"."+Z,n);if(Y)return Y}return null}return g(D)}function B(U){switch(typeof U){case"number":case"string":case"undefined":return!0;case"boolean":return!U;case"object":if(Array.isArray(U))return U.every(B);if(U===null||a(U))return!0;var D=d(U);if(D){var z=D.call(U),K;if(D!==U.entries){for(;!(K=z.next()).done;)if(!B(K.value))return!1}else for(;!(K=z.next()).done;){var G=K.value;if(G&&!B(G[1]))return!1}}else return!1;return!0;default:return!1}}function A(U,D){return U==="symbol"?!0:D?D["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&D instanceof Symbol:!1}function j(U){var D=typeof U;return Array.isArray(U)?"array":U instanceof RegExp?"object":A(D,U)?"symbol":D}function O(U){if(typeof U>"u"||U===null)return""+U;var D=j(U);if(D==="object"){if(U instanceof Date)return"date";if(U instanceof RegExp)return"regexp"}return D}function L(U){var D=O(U);switch(D){case"array":case"object":return"an "+D;case"boolean":case"date":case"regexp":return"a "+D;default:return D}}function N(U){return!U.constructor||!U.constructor.name?f:U.constructor.name}return p.checkPropTypes=s,p.resetWarningCache=s.resetWarningCache,p.PropTypes=p,p},Ey}var Cy,nx;function hO(){if(nx)return Cy;nx=1;var l=wy();function t(){}function n(){}return n.resetWarningCache=t,Cy=function(){function e(o,a,c,i,u,d){if(d!==l){var f=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 f.name="Invariant Violation",f}}e.isRequired=e;function s(){return e}var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:s,element:e,elementType:e,instanceOf:s,node:e,objectOf:s,oneOf:s,oneOfType:s,shape:s,exact:s,checkPropTypes:n,resetWarningCache:t};return r.PropTypes=r,r},Cy}if(process.env.NODE_ENV!=="production"){var gO=Yw(),mO=!0;by.exports=pO()(gO.isElement,mO)}else by.exports=hO()();var yO=by.exports;const Hr=Uu(yO);function vO(l){return l&&typeof l=="object"&&"default"in l?l.default:l}var rx=he,bO=vO(rx);function ox(l,t,n){return t in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function _O(l,t){l.prototype=Object.create(t.prototype),l.prototype.constructor=l,l.__proto__=t}var wO=!!(typeof window<"u"&&window.document&&window.document.createElement);function xO(l,t,n){if(typeof l!="function")throw new Error("Expected reducePropsToState to be a function.");if(typeof t!="function")throw new Error("Expected handleStateChangeOnClient to be a function.");if(typeof n<"u"&&typeof n!="function")throw new Error("Expected mapStateOnServer to either be undefined or a function.");function e(s){return s.displayName||s.name||"Component"}return function(r){if(typeof r!="function")throw new Error("Expected WrappedComponent to be a React component.");var o=[],a;function c(){a=l(o.map(function(u){return u.props})),i.canUseDOM?t(a):n&&(a=n(a))}var i=function(u){_O(d,u);function d(){return u.apply(this,arguments)||this}d.peek=function(){return a},d.rewind=function(){if(d.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var h=a;return a=void 0,o=[],h};var f=d.prototype;return f.UNSAFE_componentWillMount=function(){o.push(this),c()},f.componentDidUpdate=function(){c()},f.componentWillUnmount=function(){var h=o.indexOf(this);o.splice(h,1),c()},f.render=function(){return bO.createElement(r,this.props)},d}(rx.PureComponent);return ox(i,"displayName","SideEffect("+e(r)+")"),ox(i,"canUseDOM",wO),i}}var SO=xO;const EO=Uu(SO);var CO=typeof Element<"u",jO=typeof Map=="function",kO=typeof Set=="function",TO=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function $p(l,t){if(l===t)return!0;if(l&&t&&typeof l=="object"&&typeof t=="object"){if(l.constructor!==t.constructor)return!1;var n,e,s;if(Array.isArray(l)){if(n=l.length,n!=t.length)return!1;for(e=n;e--!==0;)if(!$p(l[e],t[e]))return!1;return!0}var r;if(jO&&l instanceof Map&&t instanceof Map){if(l.size!==t.size)return!1;for(r=l.entries();!(e=r.next()).done;)if(!t.has(e.value[0]))return!1;for(r=l.entries();!(e=r.next()).done;)if(!$p(e.value[1],t.get(e.value[0])))return!1;return!0}if(kO&&l instanceof Set&&t instanceof Set){if(l.size!==t.size)return!1;for(r=l.entries();!(e=r.next()).done;)if(!t.has(e.value[0]))return!1;return!0}if(TO&&ArrayBuffer.isView(l)&&ArrayBuffer.isView(t)){if(n=l.length,n!=t.length)return!1;for(e=n;e--!==0;)if(l[e]!==t[e])return!1;return!0}if(l.constructor===RegExp)return l.source===t.source&&l.flags===t.flags;if(l.valueOf!==Object.prototype.valueOf&&typeof l.valueOf=="function"&&typeof t.valueOf=="function")return l.valueOf()===t.valueOf();if(l.toString!==Object.prototype.toString&&typeof l.toString=="function"&&typeof t.toString=="function")return l.toString()===t.toString();if(s=Object.keys(l),n=s.length,n!==Object.keys(t).length)return!1;for(e=n;e--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[e]))return!1;if(CO&&l instanceof Element)return!1;for(e=n;e--!==0;)if(!((s[e]==="_owner"||s[e]==="__v"||s[e]==="__o")&&l.$$typeof)&&!$p(l[s[e]],t[s[e]]))return!1;return!0}return l!==l&&t!==t}var AO=function(t,n){try{return $p(t,n)}catch(e){if((e.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw e}};const OO=Uu(AO);var NO=Tf();const PO=Uu(NO);var Ml={BODY:"bodyAttributes",HTML:"htmlAttributes",TITLE:"titleAttributes"},Vn={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},ix=Object.keys(Vn).map(function(l){return Vn[l]}),qr={CHARSET:"charset",CSS_TEXT:"cssText",HREF:"href",HTTPEQUIV:"http-equiv",INNER_HTML:"innerHTML",ITEM_PROP:"itemprop",NAME:"name",PROPERTY:"property",REL:"rel",SRC:"src",TARGET:"target"},Yp={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},Td={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate"},IO=Object.keys(Yp).reduce(function(l,t){return l[Yp[t]]=t,l},{}),MO=[Vn.NOSCRIPT,Vn.SCRIPT,Vn.STYLE],as="data-react-helmet",RO=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},DO=function(l,t){if(!(l instanceof t))throw new TypeError("Cannot call a class as a function")},LO=function(){function l(t,n){for(var e=0;e<n.length;e++){var s=n[e];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}return function(t,n,e){return n&&l(t.prototype,n),e&&l(t,e),t}}(),ci=Object.assign||function(l){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(l[e]=n[e])}return l},FO=function(l,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);l.prototype=Object.create(t&&t.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(l,t):l.__proto__=t)},sx=function(l,t){var n={};for(var e in l)t.indexOf(e)>=0||Object.prototype.hasOwnProperty.call(l,e)&&(n[e]=l[e]);return n},BO=function(l,t){if(!l)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&(typeof t=="object"||typeof t=="function")?t:l},jy=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return n===!1?String(t):String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")},zO=function(t){var n=Lc(t,Vn.TITLE),e=Lc(t,Td.TITLE_TEMPLATE);if(e&&n)return e.replace(/%s/g,function(){return Array.isArray(n)?n.join(""):n});var s=Lc(t,Td.DEFAULT_TITLE);return n||s||void 0},UO=function(t){return Lc(t,Td.ON_CHANGE_CLIENT_STATE)||function(){}},ky=function(t,n){return n.filter(function(e){return typeof e[t]<"u"}).map(function(e){return e[t]}).reduce(function(e,s){return ci({},e,s)},{})},HO=function(t,n){return n.filter(function(e){return typeof e[Vn.BASE]<"u"}).map(function(e){return e[Vn.BASE]}).reverse().reduce(function(e,s){if(!e.length)for(var r=Object.keys(s),o=0;o<r.length;o++){var a=r[o],c=a.toLowerCase();if(t.indexOf(c)!==-1&&s[c])return e.concat(s)}return e},[])},Ad=function(t,n,e){var s={};return e.filter(function(r){return Array.isArray(r[t])?!0:(typeof r[t]<"u"&&Ay("Helmet: "+t+' should be of type "Array". Instead found type "'+RO(r[t])+'"'),!1)}).map(function(r){return r[t]}).reverse().reduce(function(r,o){var a={};o.filter(function(f){for(var p=void 0,h=Object.keys(f),m=0;m<h.length;m++){var g=h[m],b=g.toLowerCase();n.indexOf(b)!==-1&&!(p===qr.REL&&f[p].toLowerCase()==="canonical")&&!(b===qr.REL&&f[b].toLowerCase()==="stylesheet")&&(p=b),n.indexOf(g)!==-1&&(g===qr.INNER_HTML||g===qr.CSS_TEXT||g===qr.ITEM_PROP)&&(p=g)}if(!p||!f[p])return!1;var v=f[p].toLowerCase();return s[p]||(s[p]={}),a[p]||(a[p]={}),s[p][v]?!1:(a[p][v]=!0,!0)}).reverse().forEach(function(f){return r.push(f)});for(var c=Object.keys(a),i=0;i<c.length;i++){var u=c[i],d=PO({},s[u],a[u]);s[u]=d}return r},[]).reverse()},Lc=function(t,n){for(var e=t.length-1;e>=0;e--){var s=t[e];if(s.hasOwnProperty(n))return s[n]}return null},qO=function(t){return{baseTag:HO([qr.HREF,qr.TARGET],t),bodyAttributes:ky(Ml.BODY,t),defer:Lc(t,Td.DEFER),encode:Lc(t,Td.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:ky(Ml.HTML,t),linkTags:Ad(Vn.LINK,[qr.REL,qr.HREF],t),metaTags:Ad(Vn.META,[qr.NAME,qr.CHARSET,qr.HTTPEQUIV,qr.PROPERTY,qr.ITEM_PROP],t),noscriptTags:Ad(Vn.NOSCRIPT,[qr.INNER_HTML],t),onChangeClientState:UO(t),scriptTags:Ad(Vn.SCRIPT,[qr.SRC,qr.INNER_HTML],t),styleTags:Ad(Vn.STYLE,[qr.CSS_TEXT],t),title:zO(t),titleAttributes:ky(Ml.TITLE,t)}},Ty=function(){var l=Date.now();return function(t){var n=Date.now();n-l>16?(l=n,t(n)):setTimeout(function(){Ty(t)},0)}}(),ax=function(t){return clearTimeout(t)},WO=typeof window<"u"?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||Ty:global.requestAnimationFrame||Ty,JO=typeof window<"u"?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||ax:global.cancelAnimationFrame||ax,Ay=function(t){return console&&typeof console.warn=="function"&&console.warn(t)},Od=null,VO=function(t){Od&&JO(Od),t.defer?Od=WO(function(){lx(t,function(){Od=null})}):(lx(t),Od=null)},lx=function(t,n){var e=t.baseTag,s=t.bodyAttributes,r=t.htmlAttributes,o=t.linkTags,a=t.metaTags,c=t.noscriptTags,i=t.onChangeClientState,u=t.scriptTags,d=t.styleTags,f=t.title,p=t.titleAttributes;Oy(Vn.BODY,s),Oy(Vn.HTML,r),KO(f,p);var h={baseTag:Fc(Vn.BASE,e),linkTags:Fc(Vn.LINK,o),metaTags:Fc(Vn.META,a),noscriptTags:Fc(Vn.NOSCRIPT,c),scriptTags:Fc(Vn.SCRIPT,u),styleTags:Fc(Vn.STYLE,d)},m={},g={};Object.keys(h).forEach(function(b){var v=h[b],_=v.newTags,E=v.oldTags;_.length&&(m[b]=_),E.length&&(g[b]=h[b].oldTags)}),n&&n(),i(t,m,g)},cx=function(t){return Array.isArray(t)?t.join(""):t},KO=function(t,n){typeof t<"u"&&document.title!==t&&(document.title=cx(t)),Oy(Vn.TITLE,n)},Oy=function(t,n){var e=document.getElementsByTagName(t)[0];if(e){for(var s=e.getAttribute(as),r=s?s.split(","):[],o=[].concat(r),a=Object.keys(n),c=0;c<a.length;c++){var i=a[c],u=n[i]||"";e.getAttribute(i)!==u&&e.setAttribute(i,u),r.indexOf(i)===-1&&r.push(i);var d=o.indexOf(i);d!==-1&&o.splice(d,1)}for(var f=o.length-1;f>=0;f--)e.removeAttribute(o[f]);r.length===o.length?e.removeAttribute(as):e.getAttribute(as)!==a.join(",")&&e.setAttribute(as,a.join(","))}},Fc=function(t,n){var e=document.head||document.querySelector(Vn.HEAD),s=e.querySelectorAll(t+"["+as+"]"),r=Array.prototype.slice.call(s),o=[],a=void 0;return n&&n.length&&n.forEach(function(c){var i=document.createElement(t);for(var u in c)if(c.hasOwnProperty(u))if(u===qr.INNER_HTML)i.innerHTML=c.innerHTML;else if(u===qr.CSS_TEXT)i.styleSheet?i.styleSheet.cssText=c.cssText:i.appendChild(document.createTextNode(c.cssText));else{var d=typeof c[u]>"u"?"":c[u];i.setAttribute(u,d)}i.setAttribute(as,"true"),r.some(function(f,p){return a=p,i.isEqualNode(f)})?r.splice(a,1):o.push(i)}),r.forEach(function(c){return c.parentNode.removeChild(c)}),o.forEach(function(c){return e.appendChild(c)}),{oldTags:r,newTags:o}},ux=function(t){return Object.keys(t).reduce(function(n,e){var s=typeof t[e]<"u"?e+'="'+t[e]+'"':""+e;return n?n+" "+s:s},"")},GO=function(t,n,e,s){var r=ux(e),o=cx(n);return r?"<"+t+" "+as+'="true" '+r+">"+jy(o,s)+"</"+t+">":"<"+t+" "+as+'="true">'+jy(o,s)+"</"+t+">"},$O=function(t,n,e){return n.reduce(function(s,r){var o=Object.keys(r).filter(function(i){return!(i===qr.INNER_HTML||i===qr.CSS_TEXT)}).reduce(function(i,u){var d=typeof r[u]>"u"?u:u+'="'+jy(r[u],e)+'"';return i?i+" "+d:d},""),a=r.innerHTML||r.cssText||"",c=MO.indexOf(t)===-1;return s+"<"+t+" "+as+'="true" '+o+(c?"/>":">"+a+"</"+t+">")},"")},dx=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.keys(t).reduce(function(e,s){return e[Yp[s]||s]=t[s],e},n)},YO=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.keys(t).reduce(function(e,s){return e[IO[s]||s]=t[s],e},n)},ZO=function(t,n,e){var s,r=(s={key:n},s[as]=!0,s),o=dx(e,r);return[he.createElement(Vn.TITLE,o,n)]},QO=function(t,n){return n.map(function(e,s){var r,o=(r={key:s},r[as]=!0,r);return Object.keys(e).forEach(function(a){var c=Yp[a]||a;if(c===qr.INNER_HTML||c===qr.CSS_TEXT){var i=e.innerHTML||e.cssText;o.dangerouslySetInnerHTML={__html:i}}else o[c]=e[a]}),he.createElement(t,o)})},Gs=function(t,n,e){switch(t){case Vn.TITLE:return{toComponent:function(){return ZO(t,n.title,n.titleAttributes)},toString:function(){return GO(t,n.title,n.titleAttributes,e)}};case Ml.BODY:case Ml.HTML:return{toComponent:function(){return dx(n)},toString:function(){return ux(n)}};default:return{toComponent:function(){return QO(t,n)},toString:function(){return $O(t,n,e)}}}},fx=function(t){var n=t.baseTag,e=t.bodyAttributes,s=t.encode,r=t.htmlAttributes,o=t.linkTags,a=t.metaTags,c=t.noscriptTags,i=t.scriptTags,u=t.styleTags,d=t.title,f=d===void 0?"":d,p=t.titleAttributes;return{base:Gs(Vn.BASE,n,s),bodyAttributes:Gs(Ml.BODY,e,s),htmlAttributes:Gs(Ml.HTML,r,s),link:Gs(Vn.LINK,o,s),meta:Gs(Vn.META,a,s),noscript:Gs(Vn.NOSCRIPT,c,s),script:Gs(Vn.SCRIPT,i,s),style:Gs(Vn.STYLE,u,s),title:Gs(Vn.TITLE,{title:f,titleAttributes:p},s)}},XO=function(t){var n,e;return e=n=function(s){FO(r,s);function r(){return DO(this,r),BO(this,s.apply(this,arguments))}return r.prototype.shouldComponentUpdate=function(a){return!OO(this.props,a)},r.prototype.mapNestedChildrenToProps=function(a,c){if(!c)return null;switch(a.type){case Vn.SCRIPT:case Vn.NOSCRIPT:return{innerHTML:c};case Vn.STYLE:return{cssText:c}}throw new Error("<"+a.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},r.prototype.flattenArrayTypeChildren=function(a){var c,i=a.child,u=a.arrayTypeChildren,d=a.newChildProps,f=a.nestedChildren;return ci({},u,(c={},c[i.type]=[].concat(u[i.type]||[],[ci({},d,this.mapNestedChildrenToProps(i,f))]),c))},r.prototype.mapObjectTypeChildren=function(a){var c,i,u=a.child,d=a.newProps,f=a.newChildProps,p=a.nestedChildren;switch(u.type){case Vn.TITLE:return ci({},d,(c={},c[u.type]=p,c.titleAttributes=ci({},f),c));case Vn.BODY:return ci({},d,{bodyAttributes:ci({},f)});case Vn.HTML:return ci({},d,{htmlAttributes:ci({},f)})}return ci({},d,(i={},i[u.type]=ci({},f),i))},r.prototype.mapArrayTypeChildrenToProps=function(a,c){var i=ci({},c);return Object.keys(a).forEach(function(u){var d;i=ci({},i,(d={},d[u]=a[u],d))}),i},r.prototype.warnOnInvalidChildren=function(a,c){if(process.env.NODE_ENV!=="production"){if(!ix.some(function(i){return a.type===i}))return typeof a.type=="function"?Ay("You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information."):Ay("Only elements types "+ix.join(", ")+" are allowed. Helmet does not support rendering <"+a.type+"> elements. Refer to our API for more information.");if(c&&typeof c!="string"&&(!Array.isArray(c)||c.some(function(i){return typeof i!="string"})))throw new Error("Helmet expects a string as a child of <"+a.type+">. Did you forget to wrap your children in braces? ( <"+a.type+">{``}</"+a.type+"> ) Refer to our API for more information.")}return!0},r.prototype.mapChildrenToProps=function(a,c){var i=this,u={};return he.Children.forEach(a,function(d){if(!(!d||!d.props)){var f=d.props,p=f.children,h=sx(f,["children"]),m=YO(h);switch(i.warnOnInvalidChildren(d,p),d.type){case Vn.LINK:case Vn.META:case Vn.NOSCRIPT:case Vn.SCRIPT:case Vn.STYLE:u=i.flattenArrayTypeChildren({child:d,arrayTypeChildren:u,newChildProps:m,nestedChildren:p});break;default:c=i.mapObjectTypeChildren({child:d,newProps:c,newChildProps:m,nestedChildren:p});break}}}),c=this.mapArrayTypeChildrenToProps(u,c),c},r.prototype.render=function(){var a=this.props,c=a.children,i=sx(a,["children"]),u=ci({},i);return c&&(u=this.mapChildrenToProps(c,u)),he.createElement(t,u)},LO(r,null,[{key:"canUseDOM",set:function(a){t.canUseDOM=a}}]),r}(he.Component),n.propTypes={base:Hr.object,bodyAttributes:Hr.object,children:Hr.oneOfType([Hr.arrayOf(Hr.node),Hr.node]),defaultTitle:Hr.string,defer:Hr.bool,encodeSpecialCharacters:Hr.bool,htmlAttributes:Hr.object,link:Hr.arrayOf(Hr.object),meta:Hr.arrayOf(Hr.object),noscript:Hr.arrayOf(Hr.object),onChangeClientState:Hr.func,script:Hr.arrayOf(Hr.object),style:Hr.arrayOf(Hr.object),title:Hr.string,titleAttributes:Hr.object,titleTemplate:Hr.string},n.defaultProps={defer:!0,encodeSpecialCharacters:!0},n.peek=t.peek,n.rewind=function(){var s=t.rewind();return s||(s=fx({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),s},e},eN=function(){return null},tN=EO(qO,VO,fx)(eN),Ny=XO(tN);Ny.renderStatic=Ny.rewind;const nN=async(l,t,n,e)=>{await rN({title:t,parsedHtmlString:e,styleConfig:n})},rN=async({title:l,parsedHtmlString:t})=>{const n=`<!DOCTYPE html><html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="UTF-8"><title>Document</title><style>
82
+ body {
80
83
  font-family: "Times New Roman", Times, serif;
81
- font-size: 14.5px;
82
- font-style: italic;
83
- font-weight: bold;
84
- }
84
+ font-size: 14.5px;
85
+ }
86
+ h1 { font-size: 14.5px; font-weight: bold; }
87
+ h2 { font-size: 14.5px; font-style: italic; font-weight: bold; }
88
+ h3, h4, h5 { font-size: 14.5px; font-style: italic; font-weight: 100; }
89
+ ul, ol, li { line-height: normal !important; }
90
+
91
+ table {
92
+ width: 600px;
93
+ max-width: 600px;
94
+ table-layout: fixed;
95
+ border-collapse: collapse;
96
+ }
85
97
 
86
- h3 {
87
- font-family: "Times New Roman", Times, serif;
88
- font-size: 14.5px;
89
- font-weight: 100;
90
- font-style: italic;
91
- }
92
-
93
- h4 {
94
- font-family: "Times New Roman", Times, serif;
95
- font-size: 14.5px;
96
- font-weight: 100;
97
- font-style: italic;
98
- }
99
-
100
- h5 {
101
- font-family: "Times New Roman", Times, serif;
102
- font-size: 14.5px;
103
- font-weight: 100;
104
- font-style: italic;
105
- }
106
- </style>
107
- </head><body>`,s="</body></html>",r=t||Al(".ContentEditable__root").html(),o=cO(r),a=lO(o),c=await fO(a),i=e+c+s,u=new Blob([i],{type:"application/msword"});aO.saveAs(u,`${l||"Exported"}.doc`)};async function fO(l){const n=new DOMParser().parseFromString(l,"text/html");return Object.entries({h1:{fontColor:"black",fontSize:14.5,bold:"Yes",italic:"No"},h2:{fontColor:"black",fontSize:14.5,bold:"Yes",italic:"Yes"},h3:{fontColor:"black",fontSize:14.5,bold:"No",italic:"Yes"}}).forEach(([r,o])=>{n.querySelectorAll(r).forEach(c=>{let i="";o.fontColor&&(i+=`color: ${o.fontColor};`),o.fontSize&&(i+=`font-size: ${o.fontSize}px;`),o.bold==="Yes"&&(i+="font-weight: bold;"),o.italic==="Yes"&&(i+="font-style: italic;"),c.style.cssText+=i})}),Array.from(n.body.children).filter(r=>r.nodeType===1),await gO(n.body.innerHTML)}async function pO(l){return new Promise((t,n)=>{const e=new Image;e.crossOrigin="Anonymous",e.onload=()=>{const s=document.createElement("canvas");s.width=e.width,s.height=e.height,s.getContext("2d").drawImage(e,0,0);try{const o=s.toDataURL("image/png");t(o)}catch{n(new Error("Failed to convert image via canvas."))}},e.onerror=()=>n(new Error("Failed to load AVIF image.")),e.src=l})}function hO(){const l=document.createElement("div");return l.style.position="absolute",l.style.visibility="hidden",l.style.pointerEvents="none",l.style.width="1000px",l.style.zIndex=-1,document.body.appendChild(l),l}async function gO(l){const t=hO();t.innerHTML=l;const n=t.querySelectorAll("img"),e=async r=>{if(/^data:image\/avif(?:;base64)?,.+$/.test(r.src))try{const a=await pO(r.src);a&&a.startsWith("data:image/png;base64,")?(r.src=a,r.alt="Converted from AVIF for Word compatibility"):console.warn("Conversion to PNG failed or produced invalid data URL.")}catch(a){console.warn("Failed to convert AVIF image:",a.message)}return new Promise(a=>{r.complete?a():(r.onload=a,r.onerror=a)})};await Promise.all(Array.from(n).map(e)),n.forEach(r=>{const o=r.offsetWidth||r.naturalWidth,a=r.offsetHeight||r.naturalHeight,c=600;o>c?(r.setAttribute("width",c),r.removeAttribute("height"),r.style.width=`${c}px`,r.style.height="auto"):(r.setAttribute("width",o),r.setAttribute("height",a),r.style.width=`${o}px`,r.style.height=`${a}px`)});const s=t.innerHTML;return document.body.removeChild(t),s}const mO="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktbGlzdC11bCI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNSAxMS41YS41LjUgMCAwIDEgLjUtLjVoOWEuNS41IDAgMCAxIDAgMWgtOWEuNS41IDAgMCAxLS41LS41em0wLTRhLjUuNSAwIDAgMSAuNS0uNWg5YS41LjUgMCAwIDEgMCAxaC05YS41LjUgMCAwIDEtLjUtLjV6bTAtNGEuNS41IDAgMCAxIC41LS41aDlhLjUuNSAwIDAgMSAwIDFoLTlhLjUuNSAwIDAgMS0uNS0uNXptLTMgMWExIDEgMCAxIDAgMC0yIDEgMSAwIDAgMCAwIDJ6bTAgNGExIDEgMCAxIDAgMC0yIDEgMSAwIDAgMCAwIDJ6bTAgNGExIDEgMCAxIDAgMC0yIDEgMSAwIDAgMCAwIDJ6Ii8+PC9zdmc+",yO="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktbGlzdC1vbCI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNSAxMS41YS41LjUgMCAwIDEgLjUtLjVoOWEuNS41IDAgMCAxIDAgMWgtOWEuNS41IDAgMCAxLS41LS41em0wLTRhLjUuNSAwIDAgMSAuNS0uNWg5YS41LjUgMCAwIDEgMCAxaC05YS41LjUgMCAwIDEtLjUtLjV6bTAtNGEuNS41IDAgMCAxIC41LS41aDlhLjUuNSAwIDAgMSAwIDFoLTlhLjUuNSAwIDAgMS0uNS0uNXoiLz48cGF0aCBkPSJNMS43MTMgMTEuODY1di0uNDc0SDJjLjIxNyAwIC4zNjMtLjEzNy4zNjMtLjMxNyAwLS4xODUtLjE1OC0uMzEtLjM2MS0uMzEtLjIyMyAwLS4zNjcuMTUyLS4zNzMuMzFoLS41OWMuMDE2LS40NjcuMzczLS43ODcuOTg2LS43ODcuNTg4LS4wMDIuOTU0LjI5MS45NTcuNzAzYS41OTUuNTk1IDAgMCAxLS40OTIuNTk0di4wMzNhLjYxNS42MTUgMCAwIDEgLjU2OS42MzFjLjAwMy41MzMtLjUwMi44LTEuMDUxLjgtLjY1NiAwLTEtLjM3LTEuMDA4LS43OTRoLjU4MmMuMDA4LjE3OC4xODYuMzA2LjQyMi4zMDkuMjU0IDAgLjQyNC0uMTQ1LjQyMi0uMzUtLjAwMi0uMTk1LS4xNTUtLjM0OC0uNDE0LS4zNDhoLS4zem0tLjAwNC00LjY5OWgtLjYwNHYtLjAzNWMwLS40MDguMjk1LS44NDQuOTU4LS44NDQuNTgzIDAgLjk2LjMyNi45Ni43NTYgMCAuMzg5LS4yNTcuNjE3LS40NzYuODQ4bC0uNTM3LjU3MnYuMDNoMS4wNTRWOUgxLjE0M3YtLjM5NWwuOTU3LS45OWMuMTM4LS4xNDIuMjkzLS4zMDQuMjkzLS41MDggMC0uMTgtLjE0Ny0uMzItLjM0Mi0uMzJhLjMzLjMzIDAgMCAwLS4zNDIuMzM4di4wNDF6TTIuNTY0IDVoLS42MzVWMi45MjRoLS4wMzFsLS41OTguNDJ2LS41NjdsLjYyOS0uNDQzaC42MzVWNXoiLz48L3N2Zz4=",vO=({onlUser:l,collabApiKey:t,htmlPasteModalOpen:n,sethtmlPasteModalOpen:e,passedContent:s,onPaste:r,source:o})=>{he.useRef(null);const[a,c]=he.useState(""),[i,u]=he.useState(""),[d]=yn(),f=he.useRef();he.useRef(null);const p=()=>{u({root:{type:"root",version:1,children:[{children:[],direction:"ltr",format:"",indent:0,type:"text",version:1}],direction:"ltr",format:"",indent:0}}),c("")};he.useEffect(()=>{p()},[]);const h=()=>{e(!1),c(" "),p()},m=C=>{const T=/display:\s*([^;]+);/,R=C.match(T);if(R)return R[1]};function g(){const[C]=yn(),T=(F,I)=>{C.update(()=>{const B=En(),A=rr(`${F}`);A.setStyle(I.style),A.setFormat(I.format),B.append(A),C.getRootElement()&&F&&F.length>0&&(C.getEditorState().read(()=>Mn()),Sl(B))})},R=()=>{let F=y(a);_(a),F.root.children.map((I,B)=>{if(I&&I.text&&I.text.trim("")&&I.text.trim("").length>1&&I.style&&I.style.length>10&&m(I.style)==="block"){let A=I.order.split("_")[1];setTimeout(()=>{T(I.text.trim(""),I)},A*2)}}),h()};return ae.jsx("button",{onClick:R,ref:f,style:{display:"none"}})}function b(C,T){const R=/font-weight:\s*([a-zA-Z0-9\-]+);/,F=/text-decoration:\s*([^;]+?)(?=\s*;|\s*$)/,I=/font-style:\s*([a-zA-Z0-9\-]+);/,B=/font-size:\s*([\d.]+(?:px|pt|em|rem|%)?)/,A=/color:\s*([^;]+)/,j=C.match(R),O=C.match(F),L=C.match(I),N=C.match(B),U=C.match(A),D=j?j[1]:null,z=O?O[1]:null,K=L?L[1]:null,G=N?N[1]:null,P=U?U[1]:null;let J={"font-weight":D&&D!==null?D:"none","text-decoration":z&&z!==null?z:"none","font-style":K&&K!==null?K:"none","font-size":"none",display:["span","table","tbody","tr","td"].includes(T)?"block":"none",color:P&&P!=="transparent"?P:"black"};function H(Z){return Object.entries(Z).map(([X,Y])=>`${X}: ${Y};`).join(" ")}return{cssString:H(J),fontSize:G&&G!==null?G:"none",fontWeight:D&&D!==null?D:"none",fontStyle:K&&K!==null?K:"none",textDecoration:z&&z!==null?z:"none"}}const v=(C,T)=>{const R=new RegExp(`${T}:\\s*([^;]+)`),F=C.match(R);return F?F[1].trim():null},_=C=>{const T=new DOMParser,R=w(C),I=T.parseFromString(R,"text/html").querySelectorAll("img");Array.from(I).map(B=>{const O=B.getAttribute("id").split("_")[1]*2;setTimeout(()=>{d.update(()=>{const L=B.src,N=B.textContent,D=Tc({src:L,altText:N});Mn(),Sl(D)})},O)})};function E(C,T){const R=Array.from(C.querySelectorAll("tr")),B=C.getAttribute("id").split("_")[1]*2;setTimeout(()=>{T.update(()=>{const A=kp();R.forEach(O=>{const L=kl();Array.from(O.querySelectorAll("td")).forEach(U=>{const D=Si();let G=Array.from(U.querySelectorAll("span")).map(X=>{const Y=X.getAttribute("style")||"";return{text:X.innerText.trim(),style:Y}}).map(X=>X.style).filter(X=>X).map(X=>X.split(";").map(Y=>Y.trim()).filter(Y=>!Y.startsWith("font-family")).filter(Y=>!Y.startsWith("font-size")).filter(Y=>!Y.startsWith("border")).filter(Y=>!Y.startsWith("width")).join("; ")).join("; ");const P=v(G,"font-weight"),W=v(G,"font-style"),J=v(G,"text-decoration");G=`${G}; font-weight: ${P}`,G=`${G}; font-style: ${W}`,G=`${G}; color: black`,G=`${G}; text-decoration: ${J}`;const H=rr(U.innerText.trim()),$=S(P,W,J);H.setFormat($),G&&H.setStyle(G);const Z=En();Z.append(H),D.append(Z),L.append(D)}),A.append(L)}),Mn()&&Sl(A)})},B)}function S(C,T,R){return C==="bold"&&T==="italic"&&R==="underline line-through"?15:R==="underline line-through"?12:T==="italic"&&R==="line-through"?6:T==="italic"&&R==="underline"?11:C==="bold"&&R==="line-through"?5:C==="bold"&&R==="underline"?9:C==="bold"&&T==="italic"?3:C==="bold"?1:T==="italic"?2:R==="underline"?8:R==="line-through"?4:0}function w(C){const R=new DOMParser().parseFromString(C,"text/html");let F=1;function I(B){if(B.nodeType===1){const A=`order_${F++}`;B.setAttribute("data-title",A),B.setAttribute("id",A)}B.childNodes.forEach(A=>I(A))}return I(R.body),R.body.innerHTML}function y(C){const T=new DOMParser,R=w(C),F=T.parseFromString(R,"text/html");F.querySelectorAll("[aria-level]").forEach(U=>{const K=U.getAttribute("id").split("_")[1]*2;setTimeout(()=>{d.update(()=>{const G=Cl(`${U.getAttribute("aria-level")==="1"?"h1":U.getAttribute("aria-level")==="2"?"h2":U.getAttribute("aria-level")==="3"?"h3":U.getAttribute("aria-level")==="4"?"h4":"h5"}`),P=rr(U.innerText);G.append(P),Sl(G)})},K)}),F.querySelectorAll("ul").forEach(U=>{const K=U.getAttribute("id").split("_")[1]*2;setTimeout(()=>{d.update(()=>{const G=Ho("ul"),P=ni(),W=rr(`${U.textContent}`);let $=Array.from(U.querySelectorAll("span")).map(ee=>{const ie=ee.getAttribute("style")||"";return{text:ee.innerText.trim(),style:ie}}).map(ee=>ee.style).filter(ee=>ee).map(ee=>ee.split(";").map(ie=>ie.trim()).filter(ie=>!ie.startsWith("font-family")).filter(ie=>!ie.startsWith("font-size")).filter(ie=>!ie.startsWith("border")).filter(ie=>!ie.startsWith("width")).join("; ")).join("; ");const Z=v($,"font-weight"),X=v($,"font-style"),Y=v($,"text-decoration");$=`${$}; font-weight: ${Z}`,$=`${$}; font-style: ${X}`,$=`${$}; color: black`,$=`${$}; text-decoration: ${Y}`,$&&W.setStyle($),P.append(W),G.append(P),Mn(),Sl(G)})},K)}),F.querySelectorAll("ol").forEach(U=>{const K=U.getAttribute("id").split("_")[1]*2;setTimeout(()=>{d.update(()=>{const G=Ho("ol"),P=ni(),W=rr(`${U.textContent}`);let $=Array.from(U.querySelectorAll("span")).map(ie=>{const fe=ie.getAttribute("style")||"";return{text:ie.innerText.trim(),style:fe}}).map(ie=>ie.style).filter(ie=>ie).map(ie=>ie.split(";").map(fe=>fe.trim()).filter(fe=>!fe.startsWith("font-family")).filter(fe=>!fe.startsWith("font-size")).filter(fe=>!fe.startsWith("border")).filter(fe=>!fe.startsWith("width")).join("; ")).join("; ");const Z=v($,"font-weight"),X=v($,"font-style"),Y=v($,"text-decoration");$=`${$}; font-weight: ${Z}`,$=`${$}; font-style: ${X}`,$=`${$}; color: black`,$=`${$}; text-decoration: ${Y}`;let ee=S(X,Z,Y);W.setFormat(ee),$&&W.setStyle($),P.append(W),G.append(P),Mn(),Sl(G)})},K)}),F.querySelectorAll("table").forEach(U=>{E(U,d)});const O=F.querySelectorAll("*"),L=Array.from(O).filter(U=>!U.closest("table")).filter(U=>!U.closest("ol")).filter(U=>!U.closest("ul")).map(U=>({elemText:U.innerText,tagName:U.tagName.toLowerCase(),style:U.getAttribute("style")||"",order:U.getAttribute("id")||""}));let N=i;return L.map(U=>{let D=b(U.style,U.tagName);const{cssString:z,fontSize:K,fontWeight:G,textDecoration:P,fontStyle:W,border:J}=D||{};if(U.style&&U.style.length>0&&U.elemText.trim(" ").length&&K!=="none"&&G!==null&&P!==null&&W!==null){let H=S(G,W,P);const $=U.elemText.match(/^ {10,}/);let Z=z;$&&(Z=`${Z}; text-align: left;`),N.root.children.push({detail:0,format:H,mode:"normal",style:`${Z}`,text:`${U.elemText}`,type:"text",version:1,order:U.order})}}),N}he.useEffect(()=>()=>{c(" ")},[]);const x=()=>{e(!0),setTimeout(()=>{var C;(C=f.current)==null||C.click()},200)};return he.useEffect(C=>{n&&(c(s),x())},[n]),ae.jsx(ae.Fragment,{children:ae.jsx(g,{})})},bO="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBtaXJyb3ItaW4tcnRsPSJ0cnVlIj4NCiAgPGNpcmNsZSBmaWxsPSIjNDk0YzRlIiBjeD0iMiIgY3k9IjIiIHI9IjIiLz4NCiAgPGNpcmNsZSBmaWxsPSIjNDk0YzRlIiBjeD0iMiIgY3k9IjgiIHI9IjIiLz4NCiAgPGNpcmNsZSBmaWxsPSIjNDk0YzRlIiBjeD0iMiIgY3k9IjIwIiByPSIyIi8+DQogIDxjaXJjbGUgZmlsbD0iIzQ5NGM0ZSIgY3g9IjIiIGN5PSIxNCIgcj0iMiIvPg0KICA8cGF0aCBmaWxsPSIjNDk0YzRlIiBkPSJNMjMuMDAyIDNINy45OThDNy40NDggMyA3IDIuNTUgNyAyLjAwMnYtLjAwNGMwLS41NS40NS0uOTk4Ljk5OC0uOTk4SDIzYy41NSAwIDEgLjQ1IDEgLjk5OFYyYzAgLjU1LS40NSAxLS45OTggMXpNMjMuMDAyIDlINy45OThDNy40NDggOSA3IDguNTUgNyA4LjAwMnYtLjAwNGMwLS41NS40NS0uOTk4Ljk5OC0uOTk4SDIzYy41NSAwIDEgLjQ1IDEgLjk5OFY4YzAgLjU1LS40NSAxLS45OTggMXpNMjMuMDAyIDE1SDcuOTk4Yy0uNTUgMC0uOTk4LS40NS0uOTk4LS45OThWMTRjMC0uNTUuNDUtMSAuOTk4LTFIMjNjLjU1IDAgMSAuNDUgMSAuOTk4VjE0YzAgLjU1LS40NSAxLS45OTggMXpNMjMuMDAyIDIxSDcuOTk4Yy0uNTUgMC0uOTk4LS40NS0uOTk4LS45OThWMjBjMC0uNTUuNDUtMSAuOTk4LTFIMjNjLjU1IDAgMSAuNDUgMSAuOTk4VjIwYzAgLjU1LS40NSAxLS45OTggMXoiLz4NCjwvc3ZnPg==",_O=[{letter:"Alpha",uppercase:"Α",lowercase:"α"},{letter:"Beta",uppercase:"Β",lowercase:"β"},{letter:"Gamma",uppercase:"Γ",lowercase:"γ"},{letter:"Delta",uppercase:"Δ",lowercase:"δ"},{letter:"Epsilon",uppercase:"Ε",lowercase:"ε"},{letter:"Zeta",uppercase:"Ζ",lowercase:"ζ"},{letter:"Eta",uppercase:"Η",lowercase:"η"},{letter:"Theta",uppercase:"Θ",lowercase:"θ"},{letter:"Iota",uppercase:"Ι",lowercase:"ι"},{letter:"Kappa",uppercase:"Κ",lowercase:"κ"},{letter:"Lambda",uppercase:"Λ",lowercase:"λ"},{letter:"Mu",uppercase:"Μ",lowercase:"μ"},{letter:"Nu",uppercase:"Ν",lowercase:"ν"},{letter:"Xi",uppercase:"Ξ",lowercase:"ξ"},{letter:"Omicron",uppercase:"Ο",lowercase:"ο"},{letter:"Pi",uppercase:"Π",lowercase:"π"},{letter:"Rho",uppercase:"Ρ",lowercase:"ρ"},{letter:"Sigma",uppercase:"Σ",lowercase:"σ"},{letter:"Tau",uppercase:"Τ",lowercase:"τ"},{letter:"Upsilon",uppercase:"Υ",lowercase:"υ"},{letter:"Phi",uppercase:"Φ",lowercase:"φ"},{letter:"Chi",uppercase:"Χ",lowercase:"χ"},{letter:"Psi",uppercase:"Ψ",lowercase:"ψ"},{letter:"Omega",uppercase:"Ω",lowercase:"ω"},{letter:"Digamma",uppercase:"Ϝ",lowercase:"ϝ"}];function wO(){const[l]=yn(),[t,n]=he.useState(!1),e=s=>{l.update(()=>{var o;const r=jt();if(St(r)){const a=r.anchor.getNode();let c="inherit";if(a instanceof Zr){const u=a.getStyle();c=((o=u==null?void 0:u.match(/font-size:\s*(\S+);/))==null?void 0:o[1])||c}const i=rr(s);r.insertNodes([i])}}),n(!1)};return ae.jsx("div",{title:"Symbols",className:"symbol-dropdown",children:ae.jsx(Il,{buttonClassName:"toolbar-item block-controls",buttonAriaLabel:"For applying Symbols",buttonLabel:"Symbols",children:ae.jsx("div",{className:"symbol-container",children:_O.map(({letter:s,uppercase:r,lowercase:o})=>ae.jsxs("div",{className:"symbol-pair",children:[ae.jsx(Gr,{className:"symbol-item",onClick:()=>e(o),children:o}),ae.jsx(Gr,{className:"symbol-item",onClick:()=>e(r),children:r})]},s))})})})}const xO={bullet:"Bulleted List",check:"Check List",code:"Code Block",h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",h4:"Heading 4",h5:"Heading 5",h6:"Heading 6",number:"Numbered List",paragraph:"Normal",quote:"Quote"};function SO(){const l=[];for(const[t,n]of Object.entries(P_))l.push([t,n]);return l}const EO=SO(),CO={center:{icon:"center-align",iconRTL:"center-align",name:"Center Align"},end:{icon:"right-align",iconRTL:"left-align",name:"End Align"},justify:{icon:"justify-align",iconRTL:"justify-align",name:"Justify Align"},left:{icon:"left-align",iconRTL:"left-align",name:"Left Align"},right:{icon:"right-align",iconRTL:"right-align",name:"Right Align"},start:{icon:"left-align",iconRTL:"right-align",name:"Start Align"}};function Gp(l){return l?"active dropdown-item-active":""}function Td(){return ae.jsx("div",{className:"divider"})}function jO({editor:l,value:t,isRTL:n,disabled:e=!1}){const s=CO[t||"left"];return ae.jsxs(Il,{disabled:e,buttonLabel:s.name,buttonIconClassName:`icon ${n?s.iconRTL:s.icon}`,buttonClassName:"toolbar-item spaced alignment",buttonAriaLabel:"Formatting options for text alignment",children:[ae.jsxs(Gr,{onClick:()=>{l.dispatchCommand(yl,"left")},className:"item",children:[ae.jsx("i",{className:"icon left-align"}),ae.jsx("span",{className:"text",children:"Left Align"})]}),ae.jsxs(Gr,{onClick:()=>{l.dispatchCommand(yl,"center")},className:"item",children:[ae.jsx("i",{className:"icon center-align"}),ae.jsx("span",{className:"text",children:"Center Align"})]}),ae.jsxs(Gr,{onClick:()=>{l.dispatchCommand(yl,"right")},className:"item",children:[ae.jsx("i",{className:"icon right-align"}),ae.jsx("span",{className:"text",children:"Right Align"})]}),ae.jsxs(Gr,{onClick:()=>{l.dispatchCommand(yl,"justify")},className:"item",children:[ae.jsx("i",{className:"icon justify-align"}),ae.jsx("span",{className:"text",children:"Justify Align"})]})]})}function Kw({setIsLinkEditMode:l,onlUser:t,styleConfig:n,showComments:e,setShowComments:s,showTabContentBtn:r,setshowTabContentBtn:o,showTabContent:a,parsedHtmlString:c,enableCaptions:i,showPdf:u,userOnline:d,wpAndTaskId:f,editorTitle:p,showCommentPlugin:h,exportToPDF:m}){const[g]=yn(),[b,v]=he.useState(g),[_,E]=he.useState("paragraph"),[S,w]=he.useState("root"),[y,x]=he.useState(null),[C,T]=he.useState("14.5px"),[R,F]=he.useState("#000"),[I,B]=he.useState("#fff"),[A,j]=he.useState("Arial"),[O,L]=he.useState("left"),[N,U]=he.useState(!1),[D,z]=he.useState(!1),[K,G]=he.useState(!1),[P,W]=he.useState(!1),[J,H]=he.useState(!1),[$,Z]=he.useState(!1),[X,Y]=he.useState(!1),[ee,ie]=he.useState(!1),[fe,de]=he.useState(!1),[ne,Ee]=he.useState(!1),[xe,me]=Da(),[je,ue]=he.useState(!1),[se,pe]=he.useState(""),[ce,Te]=he.useState(()=>g.isEditable()),[Ae,ke]=he.useState(""),[Me,We]=he.useState(""),[De,Le]=he.useState(""),[Ce,Xe]=he.useState(""),[Ie,Ze]=he.useState(!0),[at,rt]=he.useState(!1),it=1,Kt=ct=>{ct.key==="Enter"&&Le(Ot=>Ot+1)};he.useEffect(()=>(window.addEventListener("keydown",Kt),()=>window.removeEventListener("keydown",Kt)),[]);const Qe=(ct,Ot)=>{const we=ct.clipboardData||window.clipboardData,Be=we==null?void 0:we.getData("text/html");if(!Be)return;const Oe=Jw(Be),st=new DOMParser().parseFromString(Oe,"text/html"),vt=Ed(Ot,st);Ot.update(()=>{jt()&&Xo(vt)}),ct.preventDefault()},Gt=ct=>{g.update(()=>{const Ot=Vw(ct),Be=new DOMParser().parseFromString(Ot,"text/html"),Oe=Ed(g,Be),ze=En();Xo(Oe),Xo([ze])})};he.useEffect(()=>{const ct=g.registerCommand(vs,Ot=>{const we=Ot.clipboardData||window.clipboardData,Be=we==null?void 0:we.getData("text/html"),Oe=we==null?void 0:we.getData("text/plain");return Be!=null&&Be.includes('<meta http-equiv=Content-Type content="text/html; charset=utf-8">')&&(Be!=null&&Be.includes("microsoft-com"))?(hw(Ot,g,"",i),!1):/^https?:\/\/\S+$/.test(Oe)?(Ot.preventDefault(),g.update(()=>{const ze=En(),st=rr(Oe),vt=fd(Oe);vt.append(st),ze.append(vt),Xo([ze])}),!0):Be&&!(Be!=null&&Be.includes("Outline"))&&!(Be!=null&&Be.includes('<meta http-equiv=Content-Type content="text/html; charset=utf-8">'))&&!(Be!=null&&Be.includes("microsoft-com"))?(Gt(Be),!0):Be!=null&&Be.includes("Outline")?(Xe(Be),rt(!0),!0):(Qe(Ot,g),!0)},it);return()=>{ct()}},[Ie]),he.useEffect(()=>{const ct=()=>!!(d&&d.length>1),Ot=()=>!!(d&&d.length>1),we=g.registerCommand(ic,ct,xi),Be=g.registerCommand(sc,Ot,xi);return()=>{we(),Be()}},[g,d]);const Ut=he.useCallback(()=>{const ct=jt();if(St(ct)){const Ot=ct.anchor.getNode();let we=Ot.getKey()==="root"?Ot:er(Ot,Ve=>{const Fe=Ve.getParent();return Fe!==null&&ro(Fe)});we===null&&(we=Ot.getTopLevelElementOrThrow());const Be=we.getKey(),Oe=b.getElementByKey(Be);z(ct.hasFormat("bold")),G(ct.hasFormat("italic")),W(ct.hasFormat("underline")),H(ct.hasFormat("strikethrough")),Z(ct.hasFormat("subscript")),Y(ct.hasFormat("superscript")),ie(ct.hasFormat("code")),ue(h_(ct));const ze=Bw(ct),st=ze.getParent();ti(st)||ti(ze)?U(!0):U(!1);const vt=er(ze,dr);if(dr(vt)?w("table"):w("root"),Oe!==null)if(x(Be),sr(we)){const Ve=v_(Ot,gd),Fe=Ve?Ve.getListType():we.getListType();E(Fe)}else{const Ve=jd(we)?we.getTag():we.getType();if(Ve in xO&&E(Ve),Nm(we)){const Fe=we.getLanguage();pe(Fe?I_[Fe]||Fe:"");return}}T(cd(ct,"font-size","15px")),F(cd(ct,"color","#000")),B(cd(ct,"background-color","#fff")),j(cd(ct,"font-family","Arial"));let At;ti(st)&&(At=er(ze,Ve=>Tt(Ve)&&!Ve.isInline())),L(Tt(At)?At.getFormatType():Tt(ze)?ze.getFormatType():(st==null?void 0:st.getFormatType())||"left")}},[b]);he.useEffect(()=>g.registerCommand(ai,(ct,Ot)=>{var Oe;Le("");const we=(Oe=jt())==null?void 0:Oe.getNodes()[0].__parent,Be=g.getEditorState()._nodeMap;return console.log("line 278 ToolbarPlugin selection change command "),Be.forEach((ze,st)=>{if(st===we)return We(ze.__tag)}),Ut(),v(Ot),!1},wo),[g,Ut]);function Qt(){const ct=document.querySelectorAll(".content-editable-grid > *:nth-child(16n + 13):not(table)"),Ot=document.querySelectorAll('figure[type="page-break"]'),we=Array.from(ct).concat(Array.from(Ot));if(we.length===0)return;const Be=we.length;we.forEach((Oe,ze)=>{Oe.setAttribute("data-index",String(ze+1)),Oe.setAttribute("data-total",String(Be))})}he.useEffect(()=>wr(b.registerCommand(Ju,ct=>(ct.preventDefault(),b.update(()=>{const Ot=jt();if(!St(Ot))return;const Be=Ot.anchor.getNode().getTopLevelElementOrThrow();console.log("topLevelNode",Be);const Oe=sr(Be)?Be.getListType():jd(Be)?Be.getTag():null,ze=Oe==="number"||Oe==="h1"||Oe==="h2"||Oe==="h3"||Oe==="h4"||Oe==="h5"||Oe==="h6";console.log("blockType",Oe),ze&&(ct.shiftKey?b.dispatchCommand(Cg,void 0):b.dispatchCommand(Eg,void 0))}),!0),t_),b.registerUpdateListener(({editorState:ct})=>{ct.read(()=>{Ut(),Qt()})}),b.registerCommand(cc,ct=>(d&&d.length>1?de(!0):de(ct),!1),wo),b.registerCommand(lc,ct=>(Ee(ct),!1),wo)),[Ut,b,g]),he.useEffect(()=>b.registerCommand(Iv,ct=>{const Ot=ct,{code:we,ctrlKey:Be,metaKey:Oe}=Ot;if(we==="KeyK"&&(Be||Oe)){Ot.preventDefault();let ze;return N?(l(!1),ze=null):(l(!0),ze=xw("https://")),b.dispatchCommand(Pa,ze)}return!1},t_),[b,N,l]);const en=he.useCallback((ct,Ot)=>{b.update(()=>{const we=jt();we!==null&&Em(we,ct)},Ot?{tag:"historic"}:{})},[b]);he.useCallback(()=>{b.update(()=>{const ct=jt();if(St(ct)){const Ot=ct.anchor,we=ct.focus,Be=ct.getNodes();if(Ot.key===we.key&&Ot.offset===we.offset)return;Be.forEach((Oe,ze)=>{if(Jt(Oe)){let st=Oe;ze===0&&Ot.offset!==0&&(st=st.splitText(Ot.offset)[1]||st),ze===Be.length-1&&(st=st.splitText(we.offset)[0]||st),st.__style!==""&&st.setStyle(""),st.__format!==0&&(st.setFormat(0),jm(st).setFormat("")),Oe=st}else jd(Oe)||aA(Oe)?Oe.replace(En(),!0):Zm(Oe)&&Oe.setFormat("")})}})},[b]),he.useCallback((ct,Ot)=>{en({color:ct},Ot)},[en]),he.useCallback((ct,Ot)=>{en({"background-color":ct},Ot)},[en]),he.useCallback(()=>{N?(l(!1),g.dispatchCommand(Pa,null)):(l(!0),g.dispatchCommand(Pa,xw("https://")))},[g,N,l]);const Et=he.useCallback(ct=>{b.update(()=>{if(y!==null){const Ot=Dn(y);Nm(Ot)&&Ot.setLanguage(ct)}})},[b,y]),zt=()=>{_!=="number"?g.dispatchCommand(K_,void 0):g.dispatchCommand(G_,void 0)},Ht=()=>{g.focus(),g.dispatchCommand(V_,void 0)};return ae.jsxs("div",{className:"toolbar",children:[a&&ae.jsx("button",{disabled:!1,onClick:()=>{o(!r)},title:"Table of Conetent",type:"button",className:"toolbar-item spaced","aria-label":"table-of-content",children:ae.jsx("img",{src:bO,width:16,height:16})}),ae.jsx("button",{disabled:!fe||!ce,onClick:()=>{d&&d.length>1?de(!1):b.dispatchCommand(ic,void 0)},title:Fa?"Undo (⌘Z)":"Undo (Ctrl+Z)",type:"button",className:"toolbar-item spaced","aria-label":"Undo",children:ae.jsx("i",{className:"format undo"})}),ae.jsx("button",{disabled:!ne||!ce,onClick:()=>{d&&d.length>1?Ee(!1):b.dispatchCommand(sc,void 0)},title:Fa?"Redo (⌘Y)":"Redo (Ctrl+Y)",type:"button",className:"toolbar-item","aria-label":"Redo",children:ae.jsx("i",{className:"format redo"})}),_==="code"?ae.jsx(Il,{disabled:!ce,buttonClassName:"toolbar-item code-language",buttonLabel:N2(se),buttonAriaLabel:"Select language",children:EO.map(([ct,Ot])=>ae.jsx(Gr,{className:`item ${Gp(ct===se)}`,onClick:()=>Et(ct),children:ae.jsx("span",{className:"text",children:Ot})},ct))}):ae.jsxs(ae.Fragment,{children:[ae.jsx(Td,{}),ae.jsx(iO,{selectionFontSize:C.slice(0,-2),editor:g,disabled:!ce,styleConfig:n,blockType:"h1",isenterPressed:De,currentElementClick:Ae,currentElementSelect:Me,wpAndTaskId:f}),ae.jsx(Td,{}),ae.jsx("button",{disabled:!ce,onClick:()=>{b.dispatchCommand(Yr,"bold")},className:"toolbar-item spaced "+(D?"active":""),title:Fa?"Bold (⌘B)":"Bold (Ctrl+B)",type:"button","aria-label":`Format text as bold. Shortcut: ${Fa?"⌘B":"Ctrl+B"}`,children:ae.jsx("i",{className:"format bold"})}),ae.jsx("button",{disabled:!ce,onClick:()=>{b.dispatchCommand(Yr,"italic")},className:"toolbar-item spaced "+(K?"active":""),title:Fa?"Italic (⌘I)":"Italic (Ctrl+I)",type:"button","aria-label":`Format text as italics. Shortcut: ${Fa?"⌘I":"Ctrl+I"}`,children:ae.jsx("i",{className:"format italic"})}),ae.jsx("button",{disabled:!ce,onClick:()=>{b.dispatchCommand(Yr,"underline")},className:"toolbar-item spaced "+(P?"active":""),title:Fa?"Underline (⌘U)":"Underline (Ctrl+U)",type:"button","aria-label":`Format text to underlined. Shortcut: ${Fa?"⌘U":"Ctrl+U"}`,children:ae.jsx("i",{className:"format underline"})}),ae.jsx("button",{className:"toolbar-item",onClick:()=>g.dispatchCommand(I1,void 0),title:"Insert Endnote",children:ae.jsx("i",{className:"format endnotes"})}),ae.jsxs(Il,{disabled:!ce,buttonClassName:"toolbar-item spaced",buttonLabel:"",buttonAriaLabel:"Formatting options for additional text styles",buttonIconClassName:"icon dropdown-more",children:[ae.jsxs(Gr,{onClick:()=>{b.dispatchCommand(Yr,"strikethrough")},className:"item "+Gp(J),title:"Strikethrough","aria-label":"Format text with a strikethrough",children:[ae.jsx("i",{className:"icon strikethrough"}),ae.jsx("span",{className:"text",children:"Strikethrough"})]}),ae.jsxs(Gr,{onClick:()=>{b.dispatchCommand(Yr,"subscript")},className:"item "+Gp($),title:"Subscript","aria-label":"Format text with a subscript",children:[ae.jsx("i",{className:"icon subscript"}),ae.jsx("span",{className:"text",children:"Subscript"})]}),ae.jsxs(Gr,{onClick:()=>{b.dispatchCommand(Yr,"superscript")},className:"item "+Gp(X),title:"Superscript","aria-label":"Format text with a superscript",children:[ae.jsx("i",{className:"icon superscript"}),ae.jsx("span",{className:"text",children:"Superscript"})]})]}),ae.jsx(Td,{}),ae.jsxs(Il,{disabled:!ce,buttonClassName:"toolbar-item spaced",buttonLabel:"Insert",buttonAriaLabel:"Insert specialized editor node",buttonIconClassName:"icon plus",children:[ae.jsxs(Gr,{onClick:()=>{me("Insert Image",ct=>ae.jsx(jA,{activeEditor:b,onClose:ct,enableCaptions:!1}))},className:"item",children:[ae.jsx("i",{className:"icon image"}),ae.jsx("span",{className:"text",children:"Image"})]}),ae.jsxs(Gr,{className:"item",onClick:()=>{g.update(()=>{const ct=new Ra,Ot=jt();if(St(Ot)){const we=En();Ot.insertNodes([En(),ct,we])}})},children:[ae.jsx("i",{className:"icon page-break"}),ae.jsx("span",{className:"text",children:"Page Break"})]}),ae.jsxs(Gr,{onClick:()=>{me("Insert Table",ct=>ae.jsx(UT,{activeEditor:b,onClose:ct,enableCaptions:i}))},className:"item",children:[ae.jsx("i",{className:"icon table"}),ae.jsx("span",{className:"text",children:"Table"})]}),ae.jsxs(Gr,{className:"item",onClick:()=>{Ht()},children:[ae.jsx("img",{src:mO,height:21,width:21}),ae.jsx("span",{style:{marginLeft:"10px",marginTop:"2px"},children:"Bullet List"})]}),ae.jsxs(Gr,{className:"item",onClick:()=>{zt()},children:[ae.jsx("img",{src:yO,height:21,width:21}),ae.jsx("span",{style:{marginLeft:"10px",marginTop:"2px"},children:"Numbered List"})]})]}),ae.jsx(wO,{})]}),h&&ae.jsxs(ae.Fragment,{children:[ae.jsx(Td,{}),ae.jsx("button",{className:`toolbar-item ${e?"active":""}`,onClick:()=>{s(!e),console.log("line 616 ToolbarPlugin show comments button clicked")},title:e?"Hide Comments":"Show Comments",children:ae.jsx("i",{className:"comments"})})]}),ae.jsx(Td,{}),ae.jsx(vO,{passedContent:Ce,source:"remote",onPaste:null,htmlPasteModalOpen:at,sethtmlPasteModalOpen:rt,onlUser:t,collabApiKey:""}),ae.jsxs(Il,{disabled:!ce,buttonClassName:"toolbar-item spaced",buttonLabel:"Export",buttonAriaLabel:"Insert specialized editor node",children:[ae.jsx(Gr,{onClick:()=>{var Be;const ct=new Date,Ot=(Be=ct==null?void 0:ct.toISOString())==null?void 0:Be.split("T")[0],we=`${p}-${Ot}`;uO(g,we||"sample-doc",n,c)},className:"item",children:ae.jsxs("div",{className:"div",style:{display:"flex",alignItems:"center"},children:[ae.jsx("img",{width:15,height:15,src:Hw,alt:"",style:{marginRight:"10px"}}),ae.jsx("span",{className:"text",children:"Word"})]})}),u&&ae.jsx(Gr,{onClick:m,className:"item",children:ae.jsxs("div",{className:"div",style:{display:"flex",alignItems:"center"},children:[ae.jsx("img",{width:15,height:15,src:Hw,alt:"",style:{marginRight:"10px"}}),ae.jsx("span",{className:"text",children:"Pdf"})]})})]}),ae.jsx(jO,{disabled:!ce,value:O,editor:g,isRTL:je}),ae.jsx("button",{style:{display:"none"},id:"pagination",onClick:()=>{oO(g)}}),ae.jsx("div",{className:"flex-container-onluser",children:t}),xe]})}const DD="",kO=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;function Gw({ariaActiveDescendant:l,ariaAutoComplete:t,ariaControls:n,ariaDescribedBy:e,ariaExpanded:s,ariaLabel:r,ariaLabelledBy:o,ariaMultiline:a,ariaOwns:c,ariaRequired:i,autoCapitalize:u,className:d,id:f,role:p="textbox",spellCheck:h=!0,style:m,tabIndex:g,"data-testid":b,...v}){const[_]=yn(),[E,S]=he.useState(!1),w=he.useCallback(y=>{y&&y.ownerDocument&&y.ownerDocument.defaultView&&_.setRootElement(y)},[_]);return kO(()=>(S(_.isEditable()),_.registerEditableListener(y=>{S(y)})),[_]),ae.jsx("div",{...v,"aria-activedescendant":E?l:void 0,"aria-autocomplete":E?t:"none","aria-controls":E?n:void 0,"aria-describedby":e,"aria-expanded":E&&p==="combobox"?!!s:void 0,"aria-label":r,"aria-labelledby":o,"aria-multiline":a,"aria-owns":E?c:void 0,"aria-readonly":!E||void 0,"aria-required":i,autoCapitalize:u,className:d,contentEditable:E,"data-testid":b,id:f,ref:w,role:p,spellCheck:h,style:m,tabIndex:g})}function Ad({className:l}){return ae.jsx(Gw,{className:l||"ContentEditable__root"})}const LD="";function Od({children:l,className:t}){return ae.jsx("div",{className:t||"Placeholder__root",children:l})}let by=class tk extends Br{static getType(){return"mark"}static clone(t){return new tk(Array.from(t.__ids),t.__key)}static importDOM(){return null}static importJSON(t){const n=$p(t.ids);return n.setFormat(t.format),n.setIndent(t.indent),n.setDirection(t.direction),n}exportJSON(){return{...super.exportJSON(),ids:this.getIDs(),type:"mark",version:1}}constructor(t,n){super(n),this.__ids=t||[]}createDOM(t){const n=document.createElement("mark");return zr(n,t.theme.mark),this.__ids.length>1&&zr(n,t.theme.markOverlap),n}updateDOM(t,n,e){const s=t.__ids,r=this.__ids,o=s.length,a=r.length,c=e.theme.markOverlap;return o!==a&&(o===1?a===2&&zr(n,c):a===1&&xc(n,c)),!1}hasID(t){const n=this.getIDs();for(let e=0;e<n.length;e++)if(t===n[e])return!0;return!1}getIDs(){const t=this.getLatest();return Ml(t)?t.__ids:[]}addID(t){const n=this.getWritable();if(Ml(n)){const e=n.__ids;n.__ids=e;for(let s=0;s<e.length;s++)if(t===e[s])return;e.push(t)}}deleteID(t){const n=this.getWritable();if(Ml(n)){const e=n.__ids;n.__ids=e;for(let s=0;s<e.length;s++)if(t===e[s])return void e.splice(s,1)}}insertNewAfter(t,n=!0){const e=$p(this.__ids);return this.insertAfter(e,n),e}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(t,n,e){if(!St(n)||e==="html")return!1;const s=n.anchor,r=n.focus,o=s.getNode(),a=r.getNode(),c=n.isBackward()?s.offset-r.offset:r.offset-s.offset;return this.isParentOf(o)&&this.isParentOf(a)&&this.getTextContent().length===c}excludeFromCopy(t){return t!=="clone"}};function $p(l){return Pr(new by(l))}function Ml(l){return l instanceof by}function TO(l){const t=l.getChildren();let n=null;for(let e=0;e<t.length;e++){const s=t[e];n===null?l.insertBefore(s):n.insertAfter(s),n=s}l.remove()}function AO(l,t,n,e){const s=l.getNodes(),r=l.anchor.offset,o=l.focus.offset,a=s.length,c=t?o:r,i=t?r:o;let u,d;for(let f=0;f<a;f++){const p=s[f];if(Tt(d)&&d.isParentOf(p))continue;const h=f===0,m=f===a-1;let g=null;if(Jt(p)){const b=p.getTextContentSize(),v=h?c:0,_=m?i:b;if(v===0&&_===0)continue;const E=p.splitText(v,_);g=E.length>1&&(E.length===3||h&&!m||_===b)?E[1]:E[0]}else{if(Ml(p))continue;Tt(p)&&p.isInline()&&(g=p)}if(g!==null){if(g&&g.is(u))continue;const b=g.getParent();b!=null&&b.is(u)||(d=void 0),u=b,d===void 0&&(d=(e||$p)([n]),g.insertBefore(d)),d.append(g)}else u=void 0,d=void 0}Tt(d)&&(t?d.selectStart():d.selectEnd())}function OO(l,t){let n=l;for(;n!==null;){if(Ml(n))return n.getIDs();if(Jt(n)&&t===n.getTextContentSize()){const e=n.getNextSibling();if(Ml(e))return e.getIDs()}n=n.getParent()}return null}const $w=[["Cat","rgb(125, 50, 0)"],["Dog","rgb(100, 0, 0)"],["Rabbit","rgb(150, 0, 0)"],["Frog","rgb(200, 0, 0)"],["Fox","rgb(200, 75, 0)"],["Hedgehog","rgb(0, 75, 0)"],["Pigeon","rgb(0, 125, 0)"],["Squirrel","rgb(75, 100, 0)"],["Bear","rgb(125, 100, 0)"],["Tiger","rgb(0, 0, 150)"],["Leopard","rgb(0, 0, 200)"],["Zebra","rgb(0, 0, 250)"],["Wolf","rgb(0, 100, 150)"],["Owl","rgb(0, 100, 100)"],["Gull","rgb(100, 0, 100)"],["Squid","rgb(150, 0, 150)"]],Yw=$w[Math.floor(Math.random()*$w.length)],NO=he.createContext({clientID:0,color:Yw[1],isCollabActive:!1,name:Yw[0],yjsDocMap:new Map});function Nd(l,t){const n=he.useContext(NO);return l!=null&&(n.name=l),t!=null&&(n.color=t),n}const PO=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;function Zw({onClear:l}){const[t]=yn();return PO(()=>t.registerCommand(Mf,n=>(t.update(()=>{if(l==null){const e=Mn(),s=jt(),r=En();e.clear(),e.append(r),s!==null&&r.select(),St(s)&&(s.format=0)}else l()}),!0),Tn),[t,l]),null}function _y(l,t){return _y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,e){return n.__proto__=e,n},_y(l,t)}var Qw={error:null},IO=function(l){var t,n;function e(){for(var r,o=arguments.length,a=new Array(o),c=0;c<o;c++)a[c]=arguments[c];return(r=l.call.apply(l,[this].concat(a))||this).state=Qw,r.resetErrorBoundary=function(){for(var i,u=arguments.length,d=new Array(u),f=0;f<u;f++)d[f]=arguments[f];r.props.onReset==null||(i=r.props).onReset.apply(i,d),r.reset()},r}n=l,(t=e).prototype=Object.create(n.prototype),t.prototype.constructor=t,_y(t,n),e.getDerivedStateFromError=function(r){return{error:r}};var s=e.prototype;return s.reset=function(){this.setState(Qw)},s.componentDidCatch=function(r,o){var a,c;(a=(c=this.props).onError)==null||a.call(c,r,o)},s.componentDidUpdate=function(r,o){var a,c,i,u,d=this.state.error,f=this.props.resetKeys;d!==null&&o.error!==null&&((i=r.resetKeys)===void 0&&(i=[]),(u=f)===void 0&&(u=[]),i.length!==u.length||i.some(function(p,h){return!Object.is(p,u[h])}))&&((a=(c=this.props).onResetKeysChange)==null||a.call(c,r.resetKeys,f),this.reset())},s.render=function(){var r=this.state.error,o=this.props,a=o.fallbackRender,c=o.FallbackComponent,i=o.fallback;if(r!==null){var u={error:r,resetErrorBoundary:this.resetErrorBoundary};if(ir.isValidElement(i))return i;if(typeof a=="function")return a(u);if(c)return ir.createElement(c,u);throw new Error("react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop")}return this.props.children},e}(ir.Component);function Rl({children:l,onError:t}){return ae.jsx(IO,{fallback:ae.jsx("div",{style:{border:"1px solid #f00",color:"#f00",padding:"8px"},children:"An error was thrown."}),onError:t,children:l})}const MO=Object.freeze(Object.defineProperty({__proto__:null,LexicalErrorBoundary:Rl,default:Rl},Symbol.toStringTag,{value:"Module"})),RO=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;function Xw({ignoreHistoryMergeTagChange:l=!0,ignoreSelectionChange:t=!1,onChange:n}){const[e]=yn();return RO(()=>{if(n)return e.registerUpdateListener(({editorState:s,dirtyElements:r,dirtyLeaves:o,prevEditorState:a,tags:c})=>{t&&r.size===0&&o.size===0||l&&c.has("history-merge")||a.isEmpty()||n(s,e,c)})},[e,l,t,n]),null}const Lc=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0,DO=Lc&&"documentMode"in document?document.documentMode:null,LO=!(!Lc||!("InputEvent"in window)||DO)&&"getTargetRanges"in new window.InputEvent("input"),FO=Lc&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),BO=Lc&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,zO=Lc&&/^(?=.*Chrome).*/i.test(navigator.userAgent),UO=Lc&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!zO;function ex(l,t){t.update(()=>{if(l!==null){const n=Ws(l,KeyboardEvent)?null:l.clipboardData,e=jt();if(e!==null&&n!=null){l.preventDefault();const s=$1(t);s!==null&&n.setData("text/html",s),n.setData("text/plain",e.getTextContent())}}})}function HO(l){return wr(l.registerCommand(Yi,t=>{const n=jt();return!!St(n)&&(n.deleteCharacter(t),!0)},Tn),l.registerCommand(ml,t=>{const n=jt();return!!St(n)&&(n.deleteWord(t),!0)},Tn),l.registerCommand(xa,t=>{const n=jt();return!!St(n)&&(n.deleteLine(t),!0)},Tn),l.registerCommand(wa,t=>{const n=jt();if(!St(n))return!1;if(typeof t=="string")n.insertText(t);else{const e=t.dataTransfer;if(e!=null)Y1(e,n);else{const s=t.data;s&&n.insertText(s)}}return!0},Tn),l.registerCommand(Af,()=>{const t=jt();return!!St(t)&&(t.removeText(),!0)},Tn),l.registerCommand(_a,t=>{const n=jt();return!!St(n)&&(n.insertLineBreak(t),!0)},Tn),l.registerCommand(gl,()=>{const t=jt();return!!St(t)&&(t.insertLineBreak(),!0)},Tn),l.registerCommand(Nf,t=>{const n=jt();if(!St(n))return!1;const e=t,s=e.shiftKey;return!!hp(n,!0)&&(e.preventDefault(),gp(n,s,!0),!0)},Tn),l.registerCommand(Of,t=>{const n=jt();if(!St(n))return!1;const e=t,s=e.shiftKey;return!!hp(n,!1)&&(e.preventDefault(),gp(n,s,!1),!0)},Tn),l.registerCommand(Zi,t=>{const n=jt();return!!St(n)&&(t.preventDefault(),l.dispatchCommand(Yi,!0))},Tn),l.registerCommand(Qi,t=>{const n=jt();return!!St(n)&&(t.preventDefault(),l.dispatchCommand(Yi,!1))},Tn),l.registerCommand(Ls,t=>{const n=jt();if(!St(n))return!1;if(t!==null){if((BO||FO||UO)&&LO)return!1;t.preventDefault()}return l.dispatchCommand(_a,!1)},Tn),l.registerCommand(If,()=>(sb(),!0),Tn),l.registerCommand(Vu,t=>{const n=jt();return!!St(n)&&(ex(t,l),!0)},Tn),l.registerCommand(Ku,t=>{const n=jt();return!!St(n)&&(function(e,s){ex(e,s),s.update(()=>{const r=jt();St(r)&&r.removeText()})}(t,l),!0)},Tn),l.registerCommand(vs,t=>{const n=jt();return!!St(n)&&(function(e,s){e.preventDefault(),s.update(()=>{const r=jt(),{clipboardData:o}=e;o!=null&&St(r)&&Y1(o,r)},{tag:"paste"})}(t,l),!0)},Tn),l.registerCommand(Pf,t=>{const n=jt();return!!St(n)&&(t.preventDefault(),!0)},Tn),l.registerCommand(ac,t=>{const n=jt();return!!St(n)&&(t.preventDefault(),!0)},Tn))}const wy=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;function tx(l){return l.getEditorState().read(B1(l.isComposing()))}function nx({contentEditable:l,placeholder:t,ErrorBoundary:n}){const[e]=yn(),s=function(r,o){const[a,c]=he.useState(()=>r.getDecorators());return wy(()=>r.registerDecoratorListener(i=>{ao.flushSync(()=>{c(i)})}),[r]),he.useEffect(()=>{c(r.getDecorators())},[r]),he.useMemo(()=>{const i=[],u=Object.keys(a);for(let d=0;d<u.length;d++){const f=u[d],p=ae.jsx(o,{onError:m=>r._onError(m),children:ae.jsx(he.Suspense,{fallback:null,children:a[f]})}),h=r.getElementByKey(f);h!==null&&i.push(ao.createPortal(p,h,f))}return i},[o,a,r])}(e,n);return function(r){wy(()=>wr(HO(r),q1(r)),[r])}(e),ae.jsxs(ae.Fragment,{children:[l,ae.jsx(qO,{content:t}),s]})}function qO({content:l}){const[t]=yn(),n=function(s){const[r,o]=he.useState(()=>tx(s));return wy(()=>{function a(){const c=tx(s);o(c)}return a(),wr(s.registerUpdateListener(()=>{a()}),s.registerEditableListener(()=>{a()}))},[s]),r}(t),e=cy();return n?typeof l=="function"?l(e):l:null}var WO={155:(l,t,n)=>{n.r(t),n.d(t,{default:()=>i});const e=JSON.parse('{"UU":"@codoxhq/lexical-provider","rE":"1.1.0-rc.8"}');let s=()=>{},r=function(){return s};const o=r(),a=r(),c=r(),i={log:o,info:a,warn:r(),debug:c,error:r(),logProviderVersion:()=>{console.log(`${e.UU} version ${e.rE}`)}}},668:(l,t,n)=>{l.exports=function e(s,r,o){function a(u,d){if(!r[u]){if(!s[u]){var f=void 0;if(!d&&f)return require(u,!0);if(c)return c(u,!0);throw(d=new Error("Cannot find module '"+u+"'")).code="MODULE_NOT_FOUND",d}f=r[u]={exports:{}},s[u][0].call(f.exports,function(p){return a(s[u][1][p]||p)},f,f.exports,e,s,r,o)}return r[u].exports}for(var c=void 0,i=0;i<o.length;i++)a(o[i]);return a}({1:[function(e,s,r){s.exports=function(o,a){(a==null||a>o.length)&&(a=o.length);for(var c=0,i=new Array(a);c<a;c++)i[c]=o[c];return i},s.exports.__esModule=!0,s.exports.default=s.exports},{}],2:[function(e,s,r){s.exports=function(o){if(Array.isArray(o))return o},s.exports.__esModule=!0,s.exports.default=s.exports},{}],3:[function(e,s,r){var o=e("./arrayLikeToArray.js");s.exports=function(a){if(Array.isArray(a))return o(a)},s.exports.__esModule=!0,s.exports.default=s.exports},{"./arrayLikeToArray.js":1}],4:[function(e,s,r){s.exports=function(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o},s.exports.__esModule=!0,s.exports.default=s.exports},{}],5:[function(e,s,r){s.exports=function(o,a){if(!(o instanceof a))throw new TypeError("Cannot call a class as a function")},s.exports.__esModule=!0,s.exports.default=s.exports},{}],6:[function(e,s,r){var o=e("./setPrototypeOf.js"),a=e("./isNativeReflectConstruct.js");function c(i,u,d){return a()?s.exports=c=Reflect.construct.bind():s.exports=c=function(f,p,h){var m=[null];return m.push.apply(m,p),p=new(Function.bind.apply(f,m)),h&&o(p,h.prototype),p},s.exports.__esModule=!0,s.exports.default=s.exports,c.apply(null,arguments)}s.exports=c,s.exports.__esModule=!0,s.exports.default=s.exports},{"./isNativeReflectConstruct.js":13,"./setPrototypeOf.js":19}],7:[function(e,s,r){function o(a,c){for(var i=0;i<c.length;i++){var u=c[i];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(a,u.key,u)}}s.exports=function(a,c,i){return c&&o(a.prototype,c),i&&o(a,i),Object.defineProperty(a,"prototype",{writable:!1}),a},s.exports.__esModule=!0,s.exports.default=s.exports},{}],8:[function(e,s,r){s.exports=function(o,a,c){return a in o?Object.defineProperty(o,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):o[a]=c,o},s.exports.__esModule=!0,s.exports.default=s.exports},{}],9:[function(e,s,r){function o(a){return s.exports=o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(c){return c.__proto__||Object.getPrototypeOf(c)},s.exports.__esModule=!0,s.exports.default=s.exports,o(a)}s.exports=o,s.exports.__esModule=!0,s.exports.default=s.exports},{}],10:[function(e,s,r){var o=e("./setPrototypeOf.js");s.exports=function(a,c){if(typeof c!="function"&&c!==null)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),c&&o(a,c)},s.exports.__esModule=!0,s.exports.default=s.exports},{"./setPrototypeOf.js":19}],11:[function(e,s,r){s.exports=function(o){return o&&o.__esModule?o:{default:o}},s.exports.__esModule=!0,s.exports.default=s.exports},{}],12:[function(e,s,r){s.exports=function(o){return Function.toString.call(o).indexOf("[native code]")!==-1},s.exports.__esModule=!0,s.exports.default=s.exports},{}],13:[function(e,s,r){s.exports=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}},s.exports.__esModule=!0,s.exports.default=s.exports},{}],14:[function(e,s,r){s.exports=function(o){if(typeof Symbol<"u"&&o[Symbol.iterator]!=null||o["@@iterator"]!=null)return Array.from(o)},s.exports.__esModule=!0,s.exports.default=s.exports},{}],15:[function(e,s,r){s.exports=function(o,a){var c=o==null?null:typeof Symbol<"u"&&o[Symbol.iterator]||o["@@iterator"];if(c!=null){var i,u,d=[],f=!0,p=!1;try{for(c=c.call(o);!(f=(i=c.next()).done)&&(d.push(i.value),!a||d.length!==a);f=!0);}catch(h){p=!0,u=h}finally{try{f||c.return==null||c.return()}finally{if(p)throw u}}return d}},s.exports.__esModule=!0,s.exports.default=s.exports},{}],16:[function(e,s,r){s.exports=function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
98
+ th, td {
99
+ border: 1px solid #000;
100
+ word-break: break-word;
101
+ overflow-wrap: break-word;
102
+ white-space: normal;
103
+ }
104
+ </style></head><body>`,e="</body></html>",s=t||Al(".ContentEditable__root").html(),r=cO(s),o=lO(r),a=await oN(o),c=n+a+e,i=new Blob([c],{type:"application/msword"});aO.saveAs(i,`${l||"Exported"}.doc`)};async function oN(l){const n=new DOMParser().parseFromString(l,"text/html");return n.querySelectorAll("h6").forEach(r=>r.remove()),Object.entries({h1:{fontSize:"14.5px",fontWeight:"bold",fontStyle:"normal"},h2:{fontSize:"14.5px",fontWeight:"bold",fontStyle:"italic"},h3:{fontSize:"14.5px",fontWeight:"100",fontStyle:"italic"}}).forEach(([r,o])=>{n.querySelectorAll(r).forEach(a=>{a.style.fontSize=o.fontSize,a.style.fontWeight=o.fontWeight,a.style.fontStyle=o.fontStyle,a.style.fontFamily='"Times New Roman", Times, serif'})}),await aN(n.body.innerHTML)}async function iN(l){return new Promise((t,n)=>{const e=new Image;e.crossOrigin="Anonymous",e.onload=()=>{const s=document.createElement("canvas");s.width=e.width,s.height=e.height,s.getContext("2d").drawImage(e,0,0),t(s.toDataURL("image/png"))},e.onerror=()=>n(new Error("Failed to load AVIF image.")),e.src=l})}function sN(){const l=document.createElement("div");return l.style.position="absolute",l.style.visibility="hidden",l.style.pointerEvents="none",l.style.width="1000px",l.style.zIndex=-1,document.body.appendChild(l),l}async function aN(l){const t=sN();t.innerHTML=l;const n=t.querySelectorAll("img");await Promise.all(Array.from(n).map(async r=>{if(/^data:image\/avif/.test(r.src))try{r.src=await iN(r.src),r.alt="Converted from AVIF"}catch{}})),n.forEach(r=>{const a=r.offsetWidth||r.naturalWidth,c=r.offsetHeight||r.naturalHeight;a>600?(r.setAttribute("width",600),r.style.width="600px",r.style.height="auto"):(r.setAttribute("width",a),r.setAttribute("height",c),r.style.width=`${a}px`,r.style.height=`${c}px`)}),t.querySelectorAll("table").forEach(r=>{var c;const a=600/(((c=r.rows[0])==null?void 0:c.cells.length)||1);r.style.width="600px",r.style.maxWidth="600px",r.style.tableLayout="fixed",r.style.borderCollapse="collapse",r.querySelectorAll("th, td").forEach(i=>{i.style.width=`${a}px`,i.style.maxWidth=`${a}px`,i.style.overflow="hidden",i.style.wordBreak="break-word",i.style.whiteSpace="normal"})});const s=t.innerHTML;return document.body.removeChild(t),s}const lN="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktbGlzdC11bCI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNSAxMS41YS41LjUgMCAwIDEgLjUtLjVoOWEuNS41IDAgMCAxIDAgMWgtOWEuNS41IDAgMCAxLS41LS41em0wLTRhLjUuNSAwIDAgMSAuNS0uNWg5YS41LjUgMCAwIDEgMCAxaC05YS41LjUgMCAwIDEtLjUtLjV6bTAtNGEuNS41IDAgMCAxIC41LS41aDlhLjUuNSAwIDAgMSAwIDFoLTlhLjUuNSAwIDAgMS0uNS0uNXptLTMgMWExIDEgMCAxIDAgMC0yIDEgMSAwIDAgMCAwIDJ6bTAgNGExIDEgMCAxIDAgMC0yIDEgMSAwIDAgMCAwIDJ6bTAgNGExIDEgMCAxIDAgMC0yIDEgMSAwIDAgMCAwIDJ6Ii8+PC9zdmc+",cN="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktbGlzdC1vbCI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNSAxMS41YS41LjUgMCAwIDEgLjUtLjVoOWEuNS41IDAgMCAxIDAgMWgtOWEuNS41IDAgMCAxLS41LS41em0wLTRhLjUuNSAwIDAgMSAuNS0uNWg5YS41LjUgMCAwIDEgMCAxaC05YS41LjUgMCAwIDEtLjUtLjV6bTAtNGEuNS41IDAgMCAxIC41LS41aDlhLjUuNSAwIDAgMSAwIDFoLTlhLjUuNSAwIDAgMS0uNS0uNXoiLz48cGF0aCBkPSJNMS43MTMgMTEuODY1di0uNDc0SDJjLjIxNyAwIC4zNjMtLjEzNy4zNjMtLjMxNyAwLS4xODUtLjE1OC0uMzEtLjM2MS0uMzEtLjIyMyAwLS4zNjcuMTUyLS4zNzMuMzFoLS41OWMuMDE2LS40NjcuMzczLS43ODcuOTg2LS43ODcuNTg4LS4wMDIuOTU0LjI5MS45NTcuNzAzYS41OTUuNTk1IDAgMCAxLS40OTIuNTk0di4wMzNhLjYxNS42MTUgMCAwIDEgLjU2OS42MzFjLjAwMy41MzMtLjUwMi44LTEuMDUxLjgtLjY1NiAwLTEtLjM3LTEuMDA4LS43OTRoLjU4MmMuMDA4LjE3OC4xODYuMzA2LjQyMi4zMDkuMjU0IDAgLjQyNC0uMTQ1LjQyMi0uMzUtLjAwMi0uMTk1LS4xNTUtLjM0OC0uNDE0LS4zNDhoLS4zem0tLjAwNC00LjY5OWgtLjYwNHYtLjAzNWMwLS40MDguMjk1LS44NDQuOTU4LS44NDQuNTgzIDAgLjk2LjMyNi45Ni43NTYgMCAuMzg5LS4yNTcuNjE3LS40NzYuODQ4bC0uNTM3LjU3MnYuMDNoMS4wNTRWOUgxLjE0M3YtLjM5NWwuOTU3LS45OWMuMTM4LS4xNDIuMjkzLS4zMDQuMjkzLS41MDggMC0uMTgtLjE0Ny0uMzItLjM0Mi0uMzJhLjMzLjMzIDAgMCAwLS4zNDIuMzM4di4wNDF6TTIuNTY0IDVoLS42MzVWMi45MjRoLS4wMzFsLS41OTguNDJ2LS41NjdsLjYyOS0uNDQzaC42MzVWNXoiLz48L3N2Zz4=",uN=({onlUser:l,collabApiKey:t,htmlPasteModalOpen:n,sethtmlPasteModalOpen:e,passedContent:s,onPaste:r,source:o})=>{he.useRef(null);const[a,c]=he.useState(""),[i,u]=he.useState(""),[d]=yn(),f=he.useRef();he.useRef(null);const p=()=>{u({root:{type:"root",version:1,children:[{children:[],direction:"ltr",format:"",indent:0,type:"text",version:1}],direction:"ltr",format:"",indent:0}}),c("")};he.useEffect(()=>{p()},[]);const h=()=>{e(!1),c(" "),p()},m=C=>{const T=/display:\s*([^;]+);/,R=C.match(T);if(R)return R[1]};function g(){const[C]=yn(),T=(F,I)=>{C.update(()=>{const B=En(),A=rr(`${F}`);A.setStyle(I.style),A.setFormat(I.format),B.append(A),C.getRootElement()&&F&&F.length>0&&(C.getEditorState().read(()=>Mn()),Sl(B))})},R=()=>{let F=y(a);_(a),F.root.children.map((I,B)=>{if(I&&I.text&&I.text.trim("")&&I.text.trim("").length>1&&I.style&&I.style.length>10&&m(I.style)==="block"){let A=I.order.split("_")[1];setTimeout(()=>{T(I.text.trim(""),I)},A*2)}}),h()};return ae.jsx("button",{onClick:R,ref:f,style:{display:"none"}})}function b(C,T){const R=/font-weight:\s*([a-zA-Z0-9\-]+);/,F=/text-decoration:\s*([^;]+?)(?=\s*;|\s*$)/,I=/font-style:\s*([a-zA-Z0-9\-]+);/,B=/font-size:\s*([\d.]+(?:px|pt|em|rem|%)?)/,A=/color:\s*([^;]+)/,j=C.match(R),O=C.match(F),L=C.match(I),N=C.match(B),U=C.match(A),D=j?j[1]:null,z=O?O[1]:null,K=L?L[1]:null,G=N?N[1]:null,P=U?U[1]:null;let J={"font-weight":D&&D!==null?D:"none","text-decoration":z&&z!==null?z:"none","font-style":K&&K!==null?K:"none","font-size":"none",display:["span","table","tbody","tr","td"].includes(T)?"block":"none",color:P&&P!=="transparent"?P:"black"};function H(Z){return Object.entries(Z).map(([X,Y])=>`${X}: ${Y};`).join(" ")}return{cssString:H(J),fontSize:G&&G!==null?G:"none",fontWeight:D&&D!==null?D:"none",fontStyle:K&&K!==null?K:"none",textDecoration:z&&z!==null?z:"none"}}const v=(C,T)=>{const R=new RegExp(`${T}:\\s*([^;]+)`),F=C.match(R);return F?F[1].trim():null},_=C=>{const T=new DOMParser,R=w(C),I=T.parseFromString(R,"text/html").querySelectorAll("img");Array.from(I).map(B=>{const O=B.getAttribute("id").split("_")[1]*2;setTimeout(()=>{d.update(()=>{const L=B.src,N=B.textContent,D=Tc({src:L,altText:N});Mn(),Sl(D)})},O)})};function E(C,T){const R=Array.from(C.querySelectorAll("tr")),B=C.getAttribute("id").split("_")[1]*2;setTimeout(()=>{T.update(()=>{const A=kp();R.forEach(O=>{const L=kl();Array.from(O.querySelectorAll("td")).forEach(U=>{const D=Si();let G=Array.from(U.querySelectorAll("span")).map(X=>{const Y=X.getAttribute("style")||"";return{text:X.innerText.trim(),style:Y}}).map(X=>X.style).filter(X=>X).map(X=>X.split(";").map(Y=>Y.trim()).filter(Y=>!Y.startsWith("font-family")).filter(Y=>!Y.startsWith("font-size")).filter(Y=>!Y.startsWith("border")).filter(Y=>!Y.startsWith("width")).join("; ")).join("; ");const P=v(G,"font-weight"),W=v(G,"font-style"),J=v(G,"text-decoration");G=`${G}; font-weight: ${P}`,G=`${G}; font-style: ${W}`,G=`${G}; color: black`,G=`${G}; text-decoration: ${J}`;const H=rr(U.innerText.trim()),$=S(P,W,J);H.setFormat($),G&&H.setStyle(G);const Z=En();Z.append(H),D.append(Z),L.append(D)}),A.append(L)}),Mn()&&Sl(A)})},B)}function S(C,T,R){return C==="bold"&&T==="italic"&&R==="underline line-through"?15:R==="underline line-through"?12:T==="italic"&&R==="line-through"?6:T==="italic"&&R==="underline"?11:C==="bold"&&R==="line-through"?5:C==="bold"&&R==="underline"?9:C==="bold"&&T==="italic"?3:C==="bold"?1:T==="italic"?2:R==="underline"?8:R==="line-through"?4:0}function w(C){const R=new DOMParser().parseFromString(C,"text/html");let F=1;function I(B){if(B.nodeType===1){const A=`order_${F++}`;B.setAttribute("data-title",A),B.setAttribute("id",A)}B.childNodes.forEach(A=>I(A))}return I(R.body),R.body.innerHTML}function y(C){const T=new DOMParser,R=w(C),F=T.parseFromString(R,"text/html");F.querySelectorAll("[aria-level]").forEach(U=>{const K=U.getAttribute("id").split("_")[1]*2;setTimeout(()=>{d.update(()=>{const G=Cl(`${U.getAttribute("aria-level")==="1"?"h1":U.getAttribute("aria-level")==="2"?"h2":U.getAttribute("aria-level")==="3"?"h3":U.getAttribute("aria-level")==="4"?"h4":"h5"}`),P=rr(U.innerText);G.append(P),Sl(G)})},K)}),F.querySelectorAll("ul").forEach(U=>{const K=U.getAttribute("id").split("_")[1]*2;setTimeout(()=>{d.update(()=>{const G=Ho("ul"),P=ni(),W=rr(`${U.textContent}`);let $=Array.from(U.querySelectorAll("span")).map(ee=>{const ie=ee.getAttribute("style")||"";return{text:ee.innerText.trim(),style:ie}}).map(ee=>ee.style).filter(ee=>ee).map(ee=>ee.split(";").map(ie=>ie.trim()).filter(ie=>!ie.startsWith("font-family")).filter(ie=>!ie.startsWith("font-size")).filter(ie=>!ie.startsWith("border")).filter(ie=>!ie.startsWith("width")).join("; ")).join("; ");const Z=v($,"font-weight"),X=v($,"font-style"),Y=v($,"text-decoration");$=`${$}; font-weight: ${Z}`,$=`${$}; font-style: ${X}`,$=`${$}; color: black`,$=`${$}; text-decoration: ${Y}`,$&&W.setStyle($),P.append(W),G.append(P),Mn(),Sl(G)})},K)}),F.querySelectorAll("ol").forEach(U=>{const K=U.getAttribute("id").split("_")[1]*2;setTimeout(()=>{d.update(()=>{const G=Ho("ol"),P=ni(),W=rr(`${U.textContent}`);let $=Array.from(U.querySelectorAll("span")).map(ie=>{const fe=ie.getAttribute("style")||"";return{text:ie.innerText.trim(),style:fe}}).map(ie=>ie.style).filter(ie=>ie).map(ie=>ie.split(";").map(fe=>fe.trim()).filter(fe=>!fe.startsWith("font-family")).filter(fe=>!fe.startsWith("font-size")).filter(fe=>!fe.startsWith("border")).filter(fe=>!fe.startsWith("width")).join("; ")).join("; ");const Z=v($,"font-weight"),X=v($,"font-style"),Y=v($,"text-decoration");$=`${$}; font-weight: ${Z}`,$=`${$}; font-style: ${X}`,$=`${$}; color: black`,$=`${$}; text-decoration: ${Y}`;let ee=S(X,Z,Y);W.setFormat(ee),$&&W.setStyle($),P.append(W),G.append(P),Mn(),Sl(G)})},K)}),F.querySelectorAll("table").forEach(U=>{E(U,d)});const O=F.querySelectorAll("*"),L=Array.from(O).filter(U=>!U.closest("table")).filter(U=>!U.closest("ol")).filter(U=>!U.closest("ul")).map(U=>({elemText:U.innerText,tagName:U.tagName.toLowerCase(),style:U.getAttribute("style")||"",order:U.getAttribute("id")||""}));let N=i;return L.map(U=>{let D=b(U.style,U.tagName);const{cssString:z,fontSize:K,fontWeight:G,textDecoration:P,fontStyle:W,border:J}=D||{};if(U.style&&U.style.length>0&&U.elemText.trim(" ").length&&K!=="none"&&G!==null&&P!==null&&W!==null){let H=S(G,W,P);const $=U.elemText.match(/^ {10,}/);let Z=z;$&&(Z=`${Z}; text-align: left;`),N.root.children.push({detail:0,format:H,mode:"normal",style:`${Z}`,text:`${U.elemText}`,type:"text",version:1,order:U.order})}}),N}he.useEffect(()=>()=>{c(" ")},[]);const x=()=>{e(!0),setTimeout(()=>{var C;(C=f.current)==null||C.click()},200)};return he.useEffect(C=>{n&&(c(s),x())},[n]),ae.jsx(ae.Fragment,{children:ae.jsx(g,{})})},dN="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBtaXJyb3ItaW4tcnRsPSJ0cnVlIj4NCiAgPGNpcmNsZSBmaWxsPSIjNDk0YzRlIiBjeD0iMiIgY3k9IjIiIHI9IjIiLz4NCiAgPGNpcmNsZSBmaWxsPSIjNDk0YzRlIiBjeD0iMiIgY3k9IjgiIHI9IjIiLz4NCiAgPGNpcmNsZSBmaWxsPSIjNDk0YzRlIiBjeD0iMiIgY3k9IjIwIiByPSIyIi8+DQogIDxjaXJjbGUgZmlsbD0iIzQ5NGM0ZSIgY3g9IjIiIGN5PSIxNCIgcj0iMiIvPg0KICA8cGF0aCBmaWxsPSIjNDk0YzRlIiBkPSJNMjMuMDAyIDNINy45OThDNy40NDggMyA3IDIuNTUgNyAyLjAwMnYtLjAwNGMwLS41NS40NS0uOTk4Ljk5OC0uOTk4SDIzYy41NSAwIDEgLjQ1IDEgLjk5OFYyYzAgLjU1LS40NSAxLS45OTggMXpNMjMuMDAyIDlINy45OThDNy40NDggOSA3IDguNTUgNyA4LjAwMnYtLjAwNGMwLS41NS40NS0uOTk4Ljk5OC0uOTk4SDIzYy41NSAwIDEgLjQ1IDEgLjk5OFY4YzAgLjU1LS40NSAxLS45OTggMXpNMjMuMDAyIDE1SDcuOTk4Yy0uNTUgMC0uOTk4LS40NS0uOTk4LS45OThWMTRjMC0uNTUuNDUtMSAuOTk4LTFIMjNjLjU1IDAgMSAuNDUgMSAuOTk4VjE0YzAgLjU1LS40NSAxLS45OTggMXpNMjMuMDAyIDIxSDcuOTk4Yy0uNTUgMC0uOTk4LS40NS0uOTk4LS45OThWMjBjMC0uNTUuNDUtMSAuOTk4LTFIMjNjLjU1IDAgMSAuNDUgMSAuOTk4VjIwYzAgLjU1LS40NSAxLS45OTggMXoiLz4NCjwvc3ZnPg==",fN=[{letter:"Alpha",uppercase:"Α",lowercase:"α"},{letter:"Beta",uppercase:"Β",lowercase:"β"},{letter:"Gamma",uppercase:"Γ",lowercase:"γ"},{letter:"Delta",uppercase:"Δ",lowercase:"δ"},{letter:"Epsilon",uppercase:"Ε",lowercase:"ε"},{letter:"Zeta",uppercase:"Ζ",lowercase:"ζ"},{letter:"Eta",uppercase:"Η",lowercase:"η"},{letter:"Theta",uppercase:"Θ",lowercase:"θ"},{letter:"Iota",uppercase:"Ι",lowercase:"ι"},{letter:"Kappa",uppercase:"Κ",lowercase:"κ"},{letter:"Lambda",uppercase:"Λ",lowercase:"λ"},{letter:"Mu",uppercase:"Μ",lowercase:"μ"},{letter:"Nu",uppercase:"Ν",lowercase:"ν"},{letter:"Xi",uppercase:"Ξ",lowercase:"ξ"},{letter:"Omicron",uppercase:"Ο",lowercase:"ο"},{letter:"Pi",uppercase:"Π",lowercase:"π"},{letter:"Rho",uppercase:"Ρ",lowercase:"ρ"},{letter:"Sigma",uppercase:"Σ",lowercase:"σ"},{letter:"Tau",uppercase:"Τ",lowercase:"τ"},{letter:"Upsilon",uppercase:"Υ",lowercase:"υ"},{letter:"Phi",uppercase:"Φ",lowercase:"φ"},{letter:"Chi",uppercase:"Χ",lowercase:"χ"},{letter:"Psi",uppercase:"Ψ",lowercase:"ψ"},{letter:"Omega",uppercase:"Ω",lowercase:"ω"},{letter:"Digamma",uppercase:"Ϝ",lowercase:"ϝ"}];function pN(){const[l]=yn(),[t,n]=he.useState(!1),e=s=>{l.update(()=>{var o;const r=jt();if(St(r)){const a=r.anchor.getNode();let c="inherit";if(a instanceof Zr){const u=a.getStyle();c=((o=u==null?void 0:u.match(/font-size:\s*(\S+);/))==null?void 0:o[1])||c}const i=rr(s);r.insertNodes([i])}}),n(!1)};return ae.jsx("div",{title:"Symbols",className:"symbol-dropdown",children:ae.jsx(Il,{buttonClassName:"toolbar-item block-controls",buttonAriaLabel:"For applying Symbols",buttonLabel:"Symbols",children:ae.jsx("div",{className:"symbol-container",children:fN.map(({letter:s,uppercase:r,lowercase:o})=>ae.jsxs("div",{className:"symbol-pair",children:[ae.jsx(Gr,{className:"symbol-item",onClick:()=>e(o),children:o}),ae.jsx(Gr,{className:"symbol-item",onClick:()=>e(r),children:r})]},s))})})})}const hN={bullet:"Bulleted List",check:"Check List",code:"Code Block",h1:"Heading 1",h2:"Heading 2",h3:"Heading 3",h4:"Heading 4",h5:"Heading 5",h6:"Heading 6",number:"Numbered List",paragraph:"Normal",quote:"Quote"};function gN(){const l=[];for(const[t,n]of Object.entries(P_))l.push([t,n]);return l}const mN=gN(),yN={center:{icon:"center-align",iconRTL:"center-align",name:"Center Align"},end:{icon:"right-align",iconRTL:"left-align",name:"End Align"},justify:{icon:"justify-align",iconRTL:"justify-align",name:"Justify Align"},left:{icon:"left-align",iconRTL:"left-align",name:"Left Align"},right:{icon:"right-align",iconRTL:"right-align",name:"Right Align"},start:{icon:"left-align",iconRTL:"right-align",name:"Start Align"}};function Zp(l){return l?"active dropdown-item-active":""}function Nd(){return ae.jsx("div",{className:"divider"})}function vN({editor:l,value:t,isRTL:n,disabled:e=!1}){const s=yN[t||"left"];return ae.jsxs(Il,{disabled:e,buttonLabel:s.name,buttonIconClassName:`icon ${n?s.iconRTL:s.icon}`,buttonClassName:"toolbar-item spaced alignment",buttonAriaLabel:"Formatting options for text alignment",children:[ae.jsxs(Gr,{onClick:()=>{l.dispatchCommand(yl,"left")},className:"item",children:[ae.jsx("i",{className:"icon left-align"}),ae.jsx("span",{className:"text",children:"Left Align"})]}),ae.jsxs(Gr,{onClick:()=>{l.dispatchCommand(yl,"center")},className:"item",children:[ae.jsx("i",{className:"icon center-align"}),ae.jsx("span",{className:"text",children:"Center Align"})]}),ae.jsxs(Gr,{onClick:()=>{l.dispatchCommand(yl,"right")},className:"item",children:[ae.jsx("i",{className:"icon right-align"}),ae.jsx("span",{className:"text",children:"Right Align"})]}),ae.jsxs(Gr,{onClick:()=>{l.dispatchCommand(yl,"justify")},className:"item",children:[ae.jsx("i",{className:"icon justify-align"}),ae.jsx("span",{className:"text",children:"Justify Align"})]})]})}function px({setIsLinkEditMode:l,onlUser:t,styleConfig:n,showComments:e,setShowComments:s,showTabContentBtn:r,setshowTabContentBtn:o,showTabContent:a,parsedHtmlString:c,enableCaptions:i,showPdf:u,userOnline:d,wpAndTaskId:f,editorTitle:p,showCommentPlugin:h,exportToPDF:m}){const[g]=yn(),[b,v]=he.useState(g),[_,E]=he.useState("paragraph"),[S,w]=he.useState("root"),[y,x]=he.useState(null),[C,T]=he.useState("14.5px"),[R,F]=he.useState("#000"),[I,B]=he.useState("#fff"),[A,j]=he.useState("Arial"),[O,L]=he.useState("left"),[N,U]=he.useState(!1),[D,z]=he.useState(!1),[K,G]=he.useState(!1),[P,W]=he.useState(!1),[J,H]=he.useState(!1),[$,Z]=he.useState(!1),[X,Y]=he.useState(!1),[ee,ie]=he.useState(!1),[fe,de]=he.useState(!1),[ne,Ee]=he.useState(!1),[xe,me]=Da(),[je,ue]=he.useState(!1),[se,pe]=he.useState(""),[ce,Te]=he.useState(()=>g.isEditable()),[Ae,ke]=he.useState(""),[Me,We]=he.useState(""),[De,Le]=he.useState(""),[Ce,Xe]=he.useState(""),[Ie,Ze]=he.useState(!0),[at,rt]=he.useState(!1),it=1,Kt=ct=>{ct.key==="Enter"&&Le(Ot=>Ot+1)};he.useEffect(()=>(window.addEventListener("keydown",Kt),()=>window.removeEventListener("keydown",Kt)),[]);const Qe=(ct,Ot)=>{const we=ct.clipboardData||window.clipboardData,Be=we==null?void 0:we.getData("text/html");if(!Be)return;const Oe=Jw(Be),st=new DOMParser().parseFromString(Oe,"text/html"),vt=Ed(Ot,st);Ot.update(()=>{jt()&&Xo(vt)}),ct.preventDefault()},Gt=ct=>{g.update(()=>{const Ot=Vw(ct),Be=new DOMParser().parseFromString(Ot,"text/html"),Oe=Ed(g,Be),ze=En();Xo(Oe),Xo([ze])})};he.useEffect(()=>{const ct=g.registerCommand(vs,Ot=>{const we=Ot.clipboardData||window.clipboardData,Be=we==null?void 0:we.getData("text/html"),Oe=we==null?void 0:we.getData("text/plain");return Be!=null&&Be.includes('<meta http-equiv=Content-Type content="text/html; charset=utf-8">')&&(Be!=null&&Be.includes("microsoft-com"))?(hw(Ot,g,"",i),!1):/^https?:\/\/\S+$/.test(Oe)?(Ot.preventDefault(),g.update(()=>{const ze=En(),st=rr(Oe),vt=fd(Oe);vt.append(st),ze.append(vt),Xo([ze])}),!0):Be&&!(Be!=null&&Be.includes("Outline"))&&!(Be!=null&&Be.includes('<meta http-equiv=Content-Type content="text/html; charset=utf-8">'))&&!(Be!=null&&Be.includes("microsoft-com"))?(Gt(Be),!0):Be!=null&&Be.includes("Outline")?(Xe(Be),rt(!0),!0):(Qe(Ot,g),!0)},it);return()=>{ct()}},[Ie]),he.useEffect(()=>{const ct=()=>!!(d&&d.length>1),Ot=()=>!!(d&&d.length>1),we=g.registerCommand(ic,ct,xi),Be=g.registerCommand(sc,Ot,xi);return()=>{we(),Be()}},[g,d]);const Ut=he.useCallback(()=>{const ct=jt();if(St(ct)){const Ot=ct.anchor.getNode();let we=Ot.getKey()==="root"?Ot:er(Ot,Ve=>{const Fe=Ve.getParent();return Fe!==null&&ro(Fe)});we===null&&(we=Ot.getTopLevelElementOrThrow());const Be=we.getKey(),Oe=b.getElementByKey(Be);z(ct.hasFormat("bold")),G(ct.hasFormat("italic")),W(ct.hasFormat("underline")),H(ct.hasFormat("strikethrough")),Z(ct.hasFormat("subscript")),Y(ct.hasFormat("superscript")),ie(ct.hasFormat("code")),ue(h_(ct));const ze=Bw(ct),st=ze.getParent();ti(st)||ti(ze)?U(!0):U(!1);const vt=er(ze,dr);if(dr(vt)?w("table"):w("root"),Oe!==null)if(x(Be),sr(we)){const Ve=v_(Ot,gd),Fe=Ve?Ve.getListType():we.getListType();E(Fe)}else{const Ve=jd(we)?we.getTag():we.getType();if(Ve in hN&&E(Ve),Nm(we)){const Fe=we.getLanguage();pe(Fe?I_[Fe]||Fe:"");return}}T(cd(ct,"font-size","15px")),F(cd(ct,"color","#000")),B(cd(ct,"background-color","#fff")),j(cd(ct,"font-family","Arial"));let At;ti(st)&&(At=er(ze,Ve=>Tt(Ve)&&!Ve.isInline())),L(Tt(At)?At.getFormatType():Tt(ze)?ze.getFormatType():(st==null?void 0:st.getFormatType())||"left")}},[b]);he.useEffect(()=>g.registerCommand(ai,(ct,Ot)=>{var Oe;Le("");const we=(Oe=jt())==null?void 0:Oe.getNodes()[0].__parent,Be=g.getEditorState()._nodeMap;return console.log("line 278 ToolbarPlugin selection change command "),Be.forEach((ze,st)=>{if(st===we)return We(ze.__tag)}),Ut(),v(Ot),!1},wo),[g,Ut]);function Qt(){const ct=document.querySelectorAll(".content-editable-grid > *:nth-child(16n + 13):not(table)"),Ot=document.querySelectorAll('figure[type="page-break"]'),we=Array.from(ct).concat(Array.from(Ot));if(we.length===0)return;const Be=we.length;we.forEach((Oe,ze)=>{Oe.setAttribute("data-index",String(ze+1)),Oe.setAttribute("data-total",String(Be))})}he.useEffect(()=>wr(b.registerCommand(Ju,ct=>(ct.preventDefault(),b.update(()=>{const Ot=jt();if(!St(Ot))return;const Be=Ot.anchor.getNode().getTopLevelElementOrThrow();console.log("topLevelNode",Be);const Oe=sr(Be)?Be.getListType():jd(Be)?Be.getTag():null,ze=Oe==="number"||Oe==="h1"||Oe==="h2"||Oe==="h3"||Oe==="h4"||Oe==="h5"||Oe==="h6";console.log("blockType",Oe),ze&&(ct.shiftKey?b.dispatchCommand(Cg,void 0):b.dispatchCommand(Eg,void 0))}),!0),t_),b.registerUpdateListener(({editorState:ct})=>{ct.read(()=>{Ut(),Qt()})}),b.registerCommand(cc,ct=>(d&&d.length>1?de(!0):de(ct),!1),wo),b.registerCommand(lc,ct=>(Ee(ct),!1),wo)),[Ut,b,g]),he.useEffect(()=>b.registerCommand(Iv,ct=>{const Ot=ct,{code:we,ctrlKey:Be,metaKey:Oe}=Ot;if(we==="KeyK"&&(Be||Oe)){Ot.preventDefault();let ze;return N?(l(!1),ze=null):(l(!0),ze=xw("https://")),b.dispatchCommand(Pa,ze)}return!1},t_),[b,N,l]);const en=he.useCallback((ct,Ot)=>{b.update(()=>{const we=jt();we!==null&&Em(we,ct)},Ot?{tag:"historic"}:{})},[b]);he.useCallback(()=>{b.update(()=>{const ct=jt();if(St(ct)){const Ot=ct.anchor,we=ct.focus,Be=ct.getNodes();if(Ot.key===we.key&&Ot.offset===we.offset)return;Be.forEach((Oe,ze)=>{if(Jt(Oe)){let st=Oe;ze===0&&Ot.offset!==0&&(st=st.splitText(Ot.offset)[1]||st),ze===Be.length-1&&(st=st.splitText(we.offset)[0]||st),st.__style!==""&&st.setStyle(""),st.__format!==0&&(st.setFormat(0),jm(st).setFormat("")),Oe=st}else jd(Oe)||aA(Oe)?Oe.replace(En(),!0):Zm(Oe)&&Oe.setFormat("")})}})},[b]),he.useCallback((ct,Ot)=>{en({color:ct},Ot)},[en]),he.useCallback((ct,Ot)=>{en({"background-color":ct},Ot)},[en]),he.useCallback(()=>{N?(l(!1),g.dispatchCommand(Pa,null)):(l(!0),g.dispatchCommand(Pa,xw("https://")))},[g,N,l]);const Et=he.useCallback(ct=>{b.update(()=>{if(y!==null){const Ot=Dn(y);Nm(Ot)&&Ot.setLanguage(ct)}})},[b,y]),zt=()=>{_!=="number"?g.dispatchCommand(K_,void 0):g.dispatchCommand(G_,void 0)},Ht=()=>{g.focus(),g.dispatchCommand(V_,void 0)};return ae.jsxs("div",{className:"toolbar",children:[a&&ae.jsx("button",{disabled:!1,onClick:()=>{o(!r)},title:"Table of Conetent",type:"button",className:"toolbar-item spaced","aria-label":"table-of-content",children:ae.jsx("img",{src:dN,width:16,height:16})}),ae.jsx("button",{disabled:!fe||!ce,onClick:()=>{d&&d.length>1?de(!1):b.dispatchCommand(ic,void 0)},title:Fa?"Undo (⌘Z)":"Undo (Ctrl+Z)",type:"button",className:"toolbar-item spaced","aria-label":"Undo",children:ae.jsx("i",{className:"format undo"})}),ae.jsx("button",{disabled:!ne||!ce,onClick:()=>{d&&d.length>1?Ee(!1):b.dispatchCommand(sc,void 0)},title:Fa?"Redo (⌘Y)":"Redo (Ctrl+Y)",type:"button",className:"toolbar-item","aria-label":"Redo",children:ae.jsx("i",{className:"format redo"})}),_==="code"?ae.jsx(Il,{disabled:!ce,buttonClassName:"toolbar-item code-language",buttonLabel:N2(se),buttonAriaLabel:"Select language",children:mN.map(([ct,Ot])=>ae.jsx(Gr,{className:`item ${Zp(ct===se)}`,onClick:()=>Et(ct),children:ae.jsx("span",{className:"text",children:Ot})},ct))}):ae.jsxs(ae.Fragment,{children:[ae.jsx(Nd,{}),ae.jsx(iO,{selectionFontSize:C.slice(0,-2),editor:g,disabled:!ce,styleConfig:n,blockType:"h1",isenterPressed:De,currentElementClick:Ae,currentElementSelect:Me,wpAndTaskId:f}),ae.jsx(Nd,{}),ae.jsx("button",{disabled:!ce,onClick:()=>{b.dispatchCommand(Yr,"bold")},className:"toolbar-item spaced "+(D?"active":""),title:Fa?"Bold (⌘B)":"Bold (Ctrl+B)",type:"button","aria-label":`Format text as bold. Shortcut: ${Fa?"⌘B":"Ctrl+B"}`,children:ae.jsx("i",{className:"format bold"})}),ae.jsx("button",{disabled:!ce,onClick:()=>{b.dispatchCommand(Yr,"italic")},className:"toolbar-item spaced "+(K?"active":""),title:Fa?"Italic (⌘I)":"Italic (Ctrl+I)",type:"button","aria-label":`Format text as italics. Shortcut: ${Fa?"⌘I":"Ctrl+I"}`,children:ae.jsx("i",{className:"format italic"})}),ae.jsx("button",{disabled:!ce,onClick:()=>{b.dispatchCommand(Yr,"underline")},className:"toolbar-item spaced "+(P?"active":""),title:Fa?"Underline (⌘U)":"Underline (Ctrl+U)",type:"button","aria-label":`Format text to underlined. Shortcut: ${Fa?"⌘U":"Ctrl+U"}`,children:ae.jsx("i",{className:"format underline"})}),ae.jsx("button",{className:"toolbar-item",onClick:()=>g.dispatchCommand(I1,void 0),title:"Insert Endnote",children:ae.jsx("i",{className:"format endnotes"})}),ae.jsxs(Il,{disabled:!ce,buttonClassName:"toolbar-item spaced",buttonLabel:"",buttonAriaLabel:"Formatting options for additional text styles",buttonIconClassName:"icon dropdown-more",children:[ae.jsxs(Gr,{onClick:()=>{b.dispatchCommand(Yr,"strikethrough")},className:"item "+Zp(J),title:"Strikethrough","aria-label":"Format text with a strikethrough",children:[ae.jsx("i",{className:"icon strikethrough"}),ae.jsx("span",{className:"text",children:"Strikethrough"})]}),ae.jsxs(Gr,{onClick:()=>{b.dispatchCommand(Yr,"subscript")},className:"item "+Zp($),title:"Subscript","aria-label":"Format text with a subscript",children:[ae.jsx("i",{className:"icon subscript"}),ae.jsx("span",{className:"text",children:"Subscript"})]}),ae.jsxs(Gr,{onClick:()=>{b.dispatchCommand(Yr,"superscript")},className:"item "+Zp(X),title:"Superscript","aria-label":"Format text with a superscript",children:[ae.jsx("i",{className:"icon superscript"}),ae.jsx("span",{className:"text",children:"Superscript"})]})]}),ae.jsx(Nd,{}),ae.jsxs(Il,{disabled:!ce,buttonClassName:"toolbar-item spaced",buttonLabel:"Insert",buttonAriaLabel:"Insert specialized editor node",buttonIconClassName:"icon plus",children:[ae.jsxs(Gr,{onClick:()=>{me("Insert Image",ct=>ae.jsx(jA,{activeEditor:b,onClose:ct,enableCaptions:!1}))},className:"item",children:[ae.jsx("i",{className:"icon image"}),ae.jsx("span",{className:"text",children:"Image"})]}),ae.jsxs(Gr,{className:"item",onClick:()=>{g.update(()=>{const ct=new Ra,Ot=jt();if(St(Ot)){const we=En();Ot.insertNodes([En(),ct,we])}})},children:[ae.jsx("i",{className:"icon page-break"}),ae.jsx("span",{className:"text",children:"Page Break"})]}),ae.jsxs(Gr,{onClick:()=>{me("Insert Table",ct=>ae.jsx(UT,{activeEditor:b,onClose:ct,enableCaptions:i}))},className:"item",children:[ae.jsx("i",{className:"icon table"}),ae.jsx("span",{className:"text",children:"Table"})]}),ae.jsxs(Gr,{className:"item",onClick:()=>{Ht()},children:[ae.jsx("img",{src:lN,height:21,width:21}),ae.jsx("span",{style:{marginLeft:"10px",marginTop:"2px"},children:"Bullet List"})]}),ae.jsxs(Gr,{className:"item",onClick:()=>{zt()},children:[ae.jsx("img",{src:cN,height:21,width:21}),ae.jsx("span",{style:{marginLeft:"10px",marginTop:"2px"},children:"Numbered List"})]})]}),ae.jsx(pN,{})]}),h&&ae.jsxs(ae.Fragment,{children:[ae.jsx(Nd,{}),ae.jsx("button",{className:`toolbar-item ${e?"active":""}`,onClick:()=>{s(!e),console.log("line 616 ToolbarPlugin show comments button clicked")},title:e?"Hide Comments":"Show Comments",children:ae.jsx("i",{className:"comments"})})]}),ae.jsx(Nd,{}),ae.jsx(uN,{passedContent:Ce,source:"remote",onPaste:null,htmlPasteModalOpen:at,sethtmlPasteModalOpen:rt,onlUser:t,collabApiKey:""}),ae.jsxs(Il,{disabled:!ce,buttonClassName:"toolbar-item spaced",buttonLabel:"Export",buttonAriaLabel:"Insert specialized editor node",children:[ae.jsx(Gr,{onClick:()=>{var Be;const ct=new Date,Ot=(Be=ct==null?void 0:ct.toISOString())==null?void 0:Be.split("T")[0],we=`${p}-${Ot}`;nN(g,we||"sample-doc",n,c)},className:"item",children:ae.jsxs("div",{className:"div",style:{display:"flex",alignItems:"center"},children:[ae.jsx("img",{width:15,height:15,src:Hw,alt:"",style:{marginRight:"10px"}}),ae.jsx("span",{className:"text",children:"Word"})]})}),u&&ae.jsx(Gr,{onClick:m,className:"item",children:ae.jsxs("div",{className:"div",style:{display:"flex",alignItems:"center"},children:[ae.jsx("img",{width:15,height:15,src:Hw,alt:"",style:{marginRight:"10px"}}),ae.jsx("span",{className:"text",children:"Pdf"})]})})]}),ae.jsx(vN,{disabled:!ce,value:O,editor:g,isRTL:je}),ae.jsx("button",{style:{display:"none"},id:"pagination",onClick:()=>{oO(g)}}),ae.jsx("div",{className:"flex-container-onluser",children:t}),xe]})}const DD="",bN=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;function hx({ariaActiveDescendant:l,ariaAutoComplete:t,ariaControls:n,ariaDescribedBy:e,ariaExpanded:s,ariaLabel:r,ariaLabelledBy:o,ariaMultiline:a,ariaOwns:c,ariaRequired:i,autoCapitalize:u,className:d,id:f,role:p="textbox",spellCheck:h=!0,style:m,tabIndex:g,"data-testid":b,...v}){const[_]=yn(),[E,S]=he.useState(!1),w=he.useCallback(y=>{y&&y.ownerDocument&&y.ownerDocument.defaultView&&_.setRootElement(y)},[_]);return bN(()=>(S(_.isEditable()),_.registerEditableListener(y=>{S(y)})),[_]),ae.jsx("div",{...v,"aria-activedescendant":E?l:void 0,"aria-autocomplete":E?t:"none","aria-controls":E?n:void 0,"aria-describedby":e,"aria-expanded":E&&p==="combobox"?!!s:void 0,"aria-label":r,"aria-labelledby":o,"aria-multiline":a,"aria-owns":E?c:void 0,"aria-readonly":!E||void 0,"aria-required":i,autoCapitalize:u,className:d,contentEditable:E,"data-testid":b,id:f,ref:w,role:p,spellCheck:h,style:m,tabIndex:g})}function Pd({className:l}){return ae.jsx(hx,{className:l||"ContentEditable__root"})}const LD="";function Id({children:l,className:t}){return ae.jsx("div",{className:t||"Placeholder__root",children:l})}let Py=class tk extends Br{static getType(){return"mark"}static clone(t){return new tk(Array.from(t.__ids),t.__key)}static importDOM(){return null}static importJSON(t){const n=Qp(t.ids);return n.setFormat(t.format),n.setIndent(t.indent),n.setDirection(t.direction),n}exportJSON(){return{...super.exportJSON(),ids:this.getIDs(),type:"mark",version:1}}constructor(t,n){super(n),this.__ids=t||[]}createDOM(t){const n=document.createElement("mark");return zr(n,t.theme.mark),this.__ids.length>1&&zr(n,t.theme.markOverlap),n}updateDOM(t,n,e){const s=t.__ids,r=this.__ids,o=s.length,a=r.length,c=e.theme.markOverlap;return o!==a&&(o===1?a===2&&zr(n,c):a===1&&xc(n,c)),!1}hasID(t){const n=this.getIDs();for(let e=0;e<n.length;e++)if(t===n[e])return!0;return!1}getIDs(){const t=this.getLatest();return Rl(t)?t.__ids:[]}addID(t){const n=this.getWritable();if(Rl(n)){const e=n.__ids;n.__ids=e;for(let s=0;s<e.length;s++)if(t===e[s])return;e.push(t)}}deleteID(t){const n=this.getWritable();if(Rl(n)){const e=n.__ids;n.__ids=e;for(let s=0;s<e.length;s++)if(t===e[s])return void e.splice(s,1)}}insertNewAfter(t,n=!0){const e=Qp(this.__ids);return this.insertAfter(e,n),e}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(t,n,e){if(!St(n)||e==="html")return!1;const s=n.anchor,r=n.focus,o=s.getNode(),a=r.getNode(),c=n.isBackward()?s.offset-r.offset:r.offset-s.offset;return this.isParentOf(o)&&this.isParentOf(a)&&this.getTextContent().length===c}excludeFromCopy(t){return t!=="clone"}};function Qp(l){return Pr(new Py(l))}function Rl(l){return l instanceof Py}function _N(l){const t=l.getChildren();let n=null;for(let e=0;e<t.length;e++){const s=t[e];n===null?l.insertBefore(s):n.insertAfter(s),n=s}l.remove()}function wN(l,t,n,e){const s=l.getNodes(),r=l.anchor.offset,o=l.focus.offset,a=s.length,c=t?o:r,i=t?r:o;let u,d;for(let f=0;f<a;f++){const p=s[f];if(Tt(d)&&d.isParentOf(p))continue;const h=f===0,m=f===a-1;let g=null;if(Jt(p)){const b=p.getTextContentSize(),v=h?c:0,_=m?i:b;if(v===0&&_===0)continue;const E=p.splitText(v,_);g=E.length>1&&(E.length===3||h&&!m||_===b)?E[1]:E[0]}else{if(Rl(p))continue;Tt(p)&&p.isInline()&&(g=p)}if(g!==null){if(g&&g.is(u))continue;const b=g.getParent();b!=null&&b.is(u)||(d=void 0),u=b,d===void 0&&(d=(e||Qp)([n]),g.insertBefore(d)),d.append(g)}else u=void 0,d=void 0}Tt(d)&&(t?d.selectStart():d.selectEnd())}function xN(l,t){let n=l;for(;n!==null;){if(Rl(n))return n.getIDs();if(Jt(n)&&t===n.getTextContentSize()){const e=n.getNextSibling();if(Rl(e))return e.getIDs()}n=n.getParent()}return null}const gx=[["Cat","rgb(125, 50, 0)"],["Dog","rgb(100, 0, 0)"],["Rabbit","rgb(150, 0, 0)"],["Frog","rgb(200, 0, 0)"],["Fox","rgb(200, 75, 0)"],["Hedgehog","rgb(0, 75, 0)"],["Pigeon","rgb(0, 125, 0)"],["Squirrel","rgb(75, 100, 0)"],["Bear","rgb(125, 100, 0)"],["Tiger","rgb(0, 0, 150)"],["Leopard","rgb(0, 0, 200)"],["Zebra","rgb(0, 0, 250)"],["Wolf","rgb(0, 100, 150)"],["Owl","rgb(0, 100, 100)"],["Gull","rgb(100, 0, 100)"],["Squid","rgb(150, 0, 150)"]],mx=gx[Math.floor(Math.random()*gx.length)],SN=he.createContext({clientID:0,color:mx[1],isCollabActive:!1,name:mx[0],yjsDocMap:new Map});function Md(l,t){const n=he.useContext(SN);return l!=null&&(n.name=l),t!=null&&(n.color=t),n}const EN=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;function yx({onClear:l}){const[t]=yn();return EN(()=>t.registerCommand(Mf,n=>(t.update(()=>{if(l==null){const e=Mn(),s=jt(),r=En();e.clear(),e.append(r),s!==null&&r.select(),St(s)&&(s.format=0)}else l()}),!0),Tn),[t,l]),null}function Iy(l,t){return Iy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,e){return n.__proto__=e,n},Iy(l,t)}var vx={error:null},CN=function(l){var t,n;function e(){for(var r,o=arguments.length,a=new Array(o),c=0;c<o;c++)a[c]=arguments[c];return(r=l.call.apply(l,[this].concat(a))||this).state=vx,r.resetErrorBoundary=function(){for(var i,u=arguments.length,d=new Array(u),f=0;f<u;f++)d[f]=arguments[f];r.props.onReset==null||(i=r.props).onReset.apply(i,d),r.reset()},r}n=l,(t=e).prototype=Object.create(n.prototype),t.prototype.constructor=t,Iy(t,n),e.getDerivedStateFromError=function(r){return{error:r}};var s=e.prototype;return s.reset=function(){this.setState(vx)},s.componentDidCatch=function(r,o){var a,c;(a=(c=this.props).onError)==null||a.call(c,r,o)},s.componentDidUpdate=function(r,o){var a,c,i,u,d=this.state.error,f=this.props.resetKeys;d!==null&&o.error!==null&&((i=r.resetKeys)===void 0&&(i=[]),(u=f)===void 0&&(u=[]),i.length!==u.length||i.some(function(p,h){return!Object.is(p,u[h])}))&&((a=(c=this.props).onResetKeysChange)==null||a.call(c,r.resetKeys,f),this.reset())},s.render=function(){var r=this.state.error,o=this.props,a=o.fallbackRender,c=o.FallbackComponent,i=o.fallback;if(r!==null){var u={error:r,resetErrorBoundary:this.resetErrorBoundary};if(ir.isValidElement(i))return i;if(typeof a=="function")return a(u);if(c)return ir.createElement(c,u);throw new Error("react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop")}return this.props.children},e}(ir.Component);function Dl({children:l,onError:t}){return ae.jsx(CN,{fallback:ae.jsx("div",{style:{border:"1px solid #f00",color:"#f00",padding:"8px"},children:"An error was thrown."}),onError:t,children:l})}const jN=Object.freeze(Object.defineProperty({__proto__:null,LexicalErrorBoundary:Dl,default:Dl},Symbol.toStringTag,{value:"Module"})),kN=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;function bx({ignoreHistoryMergeTagChange:l=!0,ignoreSelectionChange:t=!1,onChange:n}){const[e]=yn();return kN(()=>{if(n)return e.registerUpdateListener(({editorState:s,dirtyElements:r,dirtyLeaves:o,prevEditorState:a,tags:c})=>{t&&r.size===0&&o.size===0||l&&c.has("history-merge")||a.isEmpty()||n(s,e,c)})},[e,l,t,n]),null}const Bc=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0,TN=Bc&&"documentMode"in document?document.documentMode:null,AN=!(!Bc||!("InputEvent"in window)||TN)&&"getTargetRanges"in new window.InputEvent("input"),ON=Bc&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),NN=Bc&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,PN=Bc&&/^(?=.*Chrome).*/i.test(navigator.userAgent),IN=Bc&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!PN;function _x(l,t){t.update(()=>{if(l!==null){const n=Ws(l,KeyboardEvent)?null:l.clipboardData,e=jt();if(e!==null&&n!=null){l.preventDefault();const s=$1(t);s!==null&&n.setData("text/html",s),n.setData("text/plain",e.getTextContent())}}})}function MN(l){return wr(l.registerCommand(Yi,t=>{const n=jt();return!!St(n)&&(n.deleteCharacter(t),!0)},Tn),l.registerCommand(ml,t=>{const n=jt();return!!St(n)&&(n.deleteWord(t),!0)},Tn),l.registerCommand(xa,t=>{const n=jt();return!!St(n)&&(n.deleteLine(t),!0)},Tn),l.registerCommand(wa,t=>{const n=jt();if(!St(n))return!1;if(typeof t=="string")n.insertText(t);else{const e=t.dataTransfer;if(e!=null)Y1(e,n);else{const s=t.data;s&&n.insertText(s)}}return!0},Tn),l.registerCommand(Af,()=>{const t=jt();return!!St(t)&&(t.removeText(),!0)},Tn),l.registerCommand(_a,t=>{const n=jt();return!!St(n)&&(n.insertLineBreak(t),!0)},Tn),l.registerCommand(gl,()=>{const t=jt();return!!St(t)&&(t.insertLineBreak(),!0)},Tn),l.registerCommand(Nf,t=>{const n=jt();if(!St(n))return!1;const e=t,s=e.shiftKey;return!!hp(n,!0)&&(e.preventDefault(),gp(n,s,!0),!0)},Tn),l.registerCommand(Of,t=>{const n=jt();if(!St(n))return!1;const e=t,s=e.shiftKey;return!!hp(n,!1)&&(e.preventDefault(),gp(n,s,!1),!0)},Tn),l.registerCommand(Zi,t=>{const n=jt();return!!St(n)&&(t.preventDefault(),l.dispatchCommand(Yi,!0))},Tn),l.registerCommand(Qi,t=>{const n=jt();return!!St(n)&&(t.preventDefault(),l.dispatchCommand(Yi,!1))},Tn),l.registerCommand(Ls,t=>{const n=jt();if(!St(n))return!1;if(t!==null){if((NN||ON||IN)&&AN)return!1;t.preventDefault()}return l.dispatchCommand(_a,!1)},Tn),l.registerCommand(If,()=>(sb(),!0),Tn),l.registerCommand(Vu,t=>{const n=jt();return!!St(n)&&(_x(t,l),!0)},Tn),l.registerCommand(Ku,t=>{const n=jt();return!!St(n)&&(function(e,s){_x(e,s),s.update(()=>{const r=jt();St(r)&&r.removeText()})}(t,l),!0)},Tn),l.registerCommand(vs,t=>{const n=jt();return!!St(n)&&(function(e,s){e.preventDefault(),s.update(()=>{const r=jt(),{clipboardData:o}=e;o!=null&&St(r)&&Y1(o,r)},{tag:"paste"})}(t,l),!0)},Tn),l.registerCommand(Pf,t=>{const n=jt();return!!St(n)&&(t.preventDefault(),!0)},Tn),l.registerCommand(ac,t=>{const n=jt();return!!St(n)&&(t.preventDefault(),!0)},Tn))}const My=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;function wx(l){return l.getEditorState().read(B1(l.isComposing()))}function xx({contentEditable:l,placeholder:t,ErrorBoundary:n}){const[e]=yn(),s=function(r,o){const[a,c]=he.useState(()=>r.getDecorators());return My(()=>r.registerDecoratorListener(i=>{ao.flushSync(()=>{c(i)})}),[r]),he.useEffect(()=>{c(r.getDecorators())},[r]),he.useMemo(()=>{const i=[],u=Object.keys(a);for(let d=0;d<u.length;d++){const f=u[d],p=ae.jsx(o,{onError:m=>r._onError(m),children:ae.jsx(he.Suspense,{fallback:null,children:a[f]})}),h=r.getElementByKey(f);h!==null&&i.push(ao.createPortal(p,h,f))}return i},[o,a,r])}(e,n);return function(r){My(()=>wr(MN(r),q1(r)),[r])}(e),ae.jsxs(ae.Fragment,{children:[l,ae.jsx(RN,{content:t}),s]})}function RN({content:l}){const[t]=yn(),n=function(s){const[r,o]=he.useState(()=>wx(s));return My(()=>{function a(){const c=wx(s);o(c)}return a(),wr(s.registerUpdateListener(()=>{a()}),s.registerEditableListener(()=>{a()}))},[s]),r}(t),e=cy();return n?typeof l=="function"?l(e):l:null}var DN={155:(l,t,n)=>{n.r(t),n.d(t,{default:()=>i});const e=JSON.parse('{"UU":"@codoxhq/lexical-provider","rE":"1.1.0-rc.8"}');let s=()=>{},r=function(){return s};const o=r(),a=r(),c=r(),i={log:o,info:a,warn:r(),debug:c,error:r(),logProviderVersion:()=>{console.log(`${e.UU} version ${e.rE}`)}}},668:(l,t,n)=>{l.exports=function e(s,r,o){function a(u,d){if(!r[u]){if(!s[u]){var f=void 0;if(!d&&f)return require(u,!0);if(c)return c(u,!0);throw(d=new Error("Cannot find module '"+u+"'")).code="MODULE_NOT_FOUND",d}f=r[u]={exports:{}},s[u][0].call(f.exports,function(p){return a(s[u][1][p]||p)},f,f.exports,e,s,r,o)}return r[u].exports}for(var c=void 0,i=0;i<o.length;i++)a(o[i]);return a}({1:[function(e,s,r){s.exports=function(o,a){(a==null||a>o.length)&&(a=o.length);for(var c=0,i=new Array(a);c<a;c++)i[c]=o[c];return i},s.exports.__esModule=!0,s.exports.default=s.exports},{}],2:[function(e,s,r){s.exports=function(o){if(Array.isArray(o))return o},s.exports.__esModule=!0,s.exports.default=s.exports},{}],3:[function(e,s,r){var o=e("./arrayLikeToArray.js");s.exports=function(a){if(Array.isArray(a))return o(a)},s.exports.__esModule=!0,s.exports.default=s.exports},{"./arrayLikeToArray.js":1}],4:[function(e,s,r){s.exports=function(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o},s.exports.__esModule=!0,s.exports.default=s.exports},{}],5:[function(e,s,r){s.exports=function(o,a){if(!(o instanceof a))throw new TypeError("Cannot call a class as a function")},s.exports.__esModule=!0,s.exports.default=s.exports},{}],6:[function(e,s,r){var o=e("./setPrototypeOf.js"),a=e("./isNativeReflectConstruct.js");function c(i,u,d){return a()?s.exports=c=Reflect.construct.bind():s.exports=c=function(f,p,h){var m=[null];return m.push.apply(m,p),p=new(Function.bind.apply(f,m)),h&&o(p,h.prototype),p},s.exports.__esModule=!0,s.exports.default=s.exports,c.apply(null,arguments)}s.exports=c,s.exports.__esModule=!0,s.exports.default=s.exports},{"./isNativeReflectConstruct.js":13,"./setPrototypeOf.js":19}],7:[function(e,s,r){function o(a,c){for(var i=0;i<c.length;i++){var u=c[i];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(a,u.key,u)}}s.exports=function(a,c,i){return c&&o(a.prototype,c),i&&o(a,i),Object.defineProperty(a,"prototype",{writable:!1}),a},s.exports.__esModule=!0,s.exports.default=s.exports},{}],8:[function(e,s,r){s.exports=function(o,a,c){return a in o?Object.defineProperty(o,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):o[a]=c,o},s.exports.__esModule=!0,s.exports.default=s.exports},{}],9:[function(e,s,r){function o(a){return s.exports=o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(c){return c.__proto__||Object.getPrototypeOf(c)},s.exports.__esModule=!0,s.exports.default=s.exports,o(a)}s.exports=o,s.exports.__esModule=!0,s.exports.default=s.exports},{}],10:[function(e,s,r){var o=e("./setPrototypeOf.js");s.exports=function(a,c){if(typeof c!="function"&&c!==null)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(c&&c.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),c&&o(a,c)},s.exports.__esModule=!0,s.exports.default=s.exports},{"./setPrototypeOf.js":19}],11:[function(e,s,r){s.exports=function(o){return o&&o.__esModule?o:{default:o}},s.exports.__esModule=!0,s.exports.default=s.exports},{}],12:[function(e,s,r){s.exports=function(o){return Function.toString.call(o).indexOf("[native code]")!==-1},s.exports.__esModule=!0,s.exports.default=s.exports},{}],13:[function(e,s,r){s.exports=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}},s.exports.__esModule=!0,s.exports.default=s.exports},{}],14:[function(e,s,r){s.exports=function(o){if(typeof Symbol<"u"&&o[Symbol.iterator]!=null||o["@@iterator"]!=null)return Array.from(o)},s.exports.__esModule=!0,s.exports.default=s.exports},{}],15:[function(e,s,r){s.exports=function(o,a){var c=o==null?null:typeof Symbol<"u"&&o[Symbol.iterator]||o["@@iterator"];if(c!=null){var i,u,d=[],f=!0,p=!1;try{for(c=c.call(o);!(f=(i=c.next()).done)&&(d.push(i.value),!a||d.length!==a);f=!0);}catch(h){p=!0,u=h}finally{try{f||c.return==null||c.return()}finally{if(p)throw u}}return d}},s.exports.__esModule=!0,s.exports.default=s.exports},{}],16:[function(e,s,r){s.exports=function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
108
105
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)},s.exports.__esModule=!0,s.exports.default=s.exports},{}],17:[function(e,s,r){s.exports=function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
109
106
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)},s.exports.__esModule=!0,s.exports.default=s.exports},{}],18:[function(e,s,r){var o=e("./typeof.js").default,a=e("./assertThisInitialized.js");s.exports=function(c,i){if(i&&(o(i)==="object"||typeof i=="function"))return i;if(i!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return a(c)},s.exports.__esModule=!0,s.exports.default=s.exports},{"./assertThisInitialized.js":4,"./typeof.js":22}],19:[function(e,s,r){function o(a,c){return s.exports=o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,u){return i.__proto__=u,i},s.exports.__esModule=!0,s.exports.default=s.exports,o(a,c)}s.exports=o,s.exports.__esModule=!0,s.exports.default=s.exports},{}],20:[function(e,s,r){var o=e("./arrayWithHoles.js"),a=e("./iterableToArrayLimit.js"),c=e("./unsupportedIterableToArray.js"),i=e("./nonIterableRest.js");s.exports=function(u,d){return o(u)||a(u,d)||c(u,d)||i()},s.exports.__esModule=!0,s.exports.default=s.exports},{"./arrayWithHoles.js":2,"./iterableToArrayLimit.js":15,"./nonIterableRest.js":16,"./unsupportedIterableToArray.js":23}],21:[function(e,s,r){var o=e("./arrayWithoutHoles.js"),a=e("./iterableToArray.js"),c=e("./unsupportedIterableToArray.js"),i=e("./nonIterableSpread.js");s.exports=function(u){return o(u)||a(u)||c(u)||i()},s.exports.__esModule=!0,s.exports.default=s.exports},{"./arrayWithoutHoles.js":3,"./iterableToArray.js":14,"./nonIterableSpread.js":17,"./unsupportedIterableToArray.js":23}],22:[function(e,s,r){function o(a){return s.exports=o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(c){return typeof c}:function(c){return c&&typeof Symbol=="function"&&c.constructor===Symbol&&c!==Symbol.prototype?"symbol":typeof c},s.exports.__esModule=!0,s.exports.default=s.exports,o(a)}s.exports=o,s.exports.__esModule=!0,s.exports.default=s.exports},{}],23:[function(e,s,r){var o=e("./arrayLikeToArray.js");s.exports=function(a,c){var i;if(a)return typeof a=="string"?o(a,c):(i=(i=Object.prototype.toString.call(a).slice(8,-1))==="Object"&&a.constructor?a.constructor.name:i)==="Map"||i==="Set"?Array.from(a):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?o(a,c):void 0},s.exports.__esModule=!0,s.exports.default=s.exports},{"./arrayLikeToArray.js":1}],24:[function(e,s,r){var o=e("./getPrototypeOf.js"),a=e("./setPrototypeOf.js"),c=e("./isNativeFunction.js"),i=e("./construct.js");function u(d){var f=typeof Map=="function"?new Map:void 0;return s.exports=u=function(p){if(p===null||!c(p))return p;if(typeof p!="function")throw new TypeError("Super expression must either be null or a function");if(f!==void 0){if(f.has(p))return f.get(p);f.set(p,h)}function h(){return i(p,arguments,o(this).constructor)}return h.prototype=Object.create(p.prototype,{constructor:{value:h,enumerable:!1,writable:!0,configurable:!0}}),a(h,p)},s.exports.__esModule=!0,s.exports.default=s.exports,u(d)}s.exports=u,s.exports.__esModule=!0,s.exports.default=s.exports},{"./construct.js":6,"./getPrototypeOf.js":9,"./isNativeFunction.js":12,"./setPrototypeOf.js":19}],25:[function(e,s,r){s.exports=function o(a,c){if(a===c)return!0;if(a&&c&&typeof a=="object"&&typeof c=="object"){if(a.constructor!==c.constructor)return!1;var i,u,d;if(Array.isArray(a)){if((i=a.length)!=c.length)return!1;for(u=i;u--!=0;)if(!o(a[u],c[u]))return!1}else{if(a.constructor===RegExp)return a.source===c.source&&a.flags===c.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===c.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===c.toString();if((i=(d=Object.keys(a)).length)!==Object.keys(c).length)return!1;for(u=i;u--!=0;)if(!Object.prototype.hasOwnProperty.call(c,d[u]))return!1;for(u=i;u--!=0;){var f=d[u];if(!o(a[f],c[f]))return!1}}return!0}return a!=a&&c!=c}},{}],26:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"v1",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(r,"v3",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(r,"v4",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(r,"v5",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(r,"NIL",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(r,"version",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(r,"validate",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(r,"stringify",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(r,"parse",{enumerable:!0,get:function(){return h.default}});var o=m(e("./v1.js")),a=m(e("./v3.js")),c=m(e("./v4.js")),i=m(e("./v5.js")),u=m(e("./nil.js")),d=m(e("./version.js")),f=m(e("./validate.js")),p=m(e("./stringify.js")),h=m(e("./parse.js"));function m(g){return g&&g.__esModule?g:{default:g}}},{"./nil.js":28,"./parse.js":29,"./stringify.js":33,"./v1.js":34,"./v3.js":35,"./v4.js":37,"./v5.js":38,"./validate.js":39,"./version.js":40}],27:[function(e,s,r){function o(p){return 14+(p+64>>>9<<4)+1}function a(p,h){var m=(65535&p)+(65535&h);return(p>>16)+(h>>16)+(m>>16)<<16|65535&m}function c(p,h,m,g,b,v){return a((h=a(a(h,p),a(g,v)))<<b|h>>>32-b,m)}function i(p,h,m,g,b,v,_){return c(h&m|~h&g,p,h,b,v,_)}function u(p,h,m,g,b,v,_){return c(h&g|m&~g,p,h,b,v,_)}function d(p,h,m,g,b,v,_){return c(h^m^g,p,h,b,v,_)}function f(p,h,m,g,b,v,_){return c(m^(h|~g),p,h,b,v,_)}Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0,r.default=function(p){if(typeof p=="string"){var h=unescape(encodeURIComponent(p));p=new Uint8Array(h.length);for(let E=0;E<h.length;++E)p[E]=h.charCodeAt(E)}var m=((E,S)=>{E[S>>5]|=128<<S%32,E[o(S)-1]=S;let w=1732584193,y=-271733879,x=-1732584194,C=271733878;for(let B=0;B<E.length;B+=16){var T=w,R=y,F=x,I=C;w=i(w,y,x,C,E[B],7,-680876936),C=i(C,w,y,x,E[B+1],12,-389564586),x=i(x,C,w,y,E[B+2],17,606105819),y=i(y,x,C,w,E[B+3],22,-1044525330),w=i(w,y,x,C,E[B+4],7,-176418897),C=i(C,w,y,x,E[B+5],12,1200080426),x=i(x,C,w,y,E[B+6],17,-1473231341),y=i(y,x,C,w,E[B+7],22,-45705983),w=i(w,y,x,C,E[B+8],7,1770035416),C=i(C,w,y,x,E[B+9],12,-1958414417),x=i(x,C,w,y,E[B+10],17,-42063),y=i(y,x,C,w,E[B+11],22,-1990404162),w=i(w,y,x,C,E[B+12],7,1804603682),C=i(C,w,y,x,E[B+13],12,-40341101),x=i(x,C,w,y,E[B+14],17,-1502002290),y=i(y,x,C,w,E[B+15],22,1236535329),w=u(w,y,x,C,E[B+1],5,-165796510),C=u(C,w,y,x,E[B+6],9,-1069501632),x=u(x,C,w,y,E[B+11],14,643717713),y=u(y,x,C,w,E[B],20,-373897302),w=u(w,y,x,C,E[B+5],5,-701558691),C=u(C,w,y,x,E[B+10],9,38016083),x=u(x,C,w,y,E[B+15],14,-660478335),y=u(y,x,C,w,E[B+4],20,-405537848),w=u(w,y,x,C,E[B+9],5,568446438),C=u(C,w,y,x,E[B+14],9,-1019803690),x=u(x,C,w,y,E[B+3],14,-187363961),y=u(y,x,C,w,E[B+8],20,1163531501),w=u(w,y,x,C,E[B+13],5,-1444681467),C=u(C,w,y,x,E[B+2],9,-51403784),x=u(x,C,w,y,E[B+7],14,1735328473),y=u(y,x,C,w,E[B+12],20,-1926607734),w=d(w,y,x,C,E[B+5],4,-378558),C=d(C,w,y,x,E[B+8],11,-2022574463),x=d(x,C,w,y,E[B+11],16,1839030562),y=d(y,x,C,w,E[B+14],23,-35309556),w=d(w,y,x,C,E[B+1],4,-1530992060),C=d(C,w,y,x,E[B+4],11,1272893353),x=d(x,C,w,y,E[B+7],16,-155497632),y=d(y,x,C,w,E[B+10],23,-1094730640),w=d(w,y,x,C,E[B+13],4,681279174),C=d(C,w,y,x,E[B],11,-358537222),x=d(x,C,w,y,E[B+3],16,-722521979),y=d(y,x,C,w,E[B+6],23,76029189),w=d(w,y,x,C,E[B+9],4,-640364487),C=d(C,w,y,x,E[B+12],11,-421815835),x=d(x,C,w,y,E[B+15],16,530742520),y=d(y,x,C,w,E[B+2],23,-995338651),w=f(w,y,x,C,E[B],6,-198630844),C=f(C,w,y,x,E[B+7],10,1126891415),x=f(x,C,w,y,E[B+14],15,-1416354905),y=f(y,x,C,w,E[B+5],21,-57434055),w=f(w,y,x,C,E[B+12],6,1700485571),C=f(C,w,y,x,E[B+3],10,-1894986606),x=f(x,C,w,y,E[B+10],15,-1051523),y=f(y,x,C,w,E[B+1],21,-2054922799),w=f(w,y,x,C,E[B+8],6,1873313359),C=f(C,w,y,x,E[B+15],10,-30611744),x=f(x,C,w,y,E[B+6],15,-1560198380),y=f(y,x,C,w,E[B+13],21,1309151649),w=f(w,y,x,C,E[B+4],6,-145523070),C=f(C,w,y,x,E[B+11],10,-1120210379),x=f(x,C,w,y,E[B+2],15,718787259),y=f(y,x,C,w,E[B+9],21,-343485551),w=a(w,T),y=a(y,R),x=a(x,F),C=a(C,I)}return[w,y,x,C]})((E=>{if(E.length===0)return[];var S=8*E.length,w=new Uint32Array(o(S));for(let y=0;y<S;y+=8)w[y>>5]|=(255&E[y/8])<<y%32;return w})(p),8*p.length),g=[],b=32*m.length,v="0123456789abcdef";for(let E=0;E<b;E+=8){var _=m[E>>5]>>>E%32&255;_=parseInt(v.charAt(_>>>4&15)+v.charAt(15&_),16),g.push(_)}return g}},{}],28:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0,r.default="00000000-0000-0000-0000-000000000000"},{}],29:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o=(e=e("./validate.js"))&&e.__esModule?e:{default:e};r.default=function(a){var c,i;if((0,o.default)(a))return(i=new Uint8Array(16))[0]=(c=parseInt(a.slice(0,8),16))>>>24,i[1]=c>>>16&255,i[2]=c>>>8&255,i[3]=255&c,i[4]=(c=parseInt(a.slice(9,13),16))>>>8,i[5]=255&c,i[6]=(c=parseInt(a.slice(14,18),16))>>>8,i[7]=255&c,i[8]=(c=parseInt(a.slice(19,23),16))>>>8,i[9]=255&c,i[10]=(c=parseInt(a.slice(24,36),16))/1099511627776&255,i[11]=c/4294967296&255,i[12]=c>>>24&255,i[13]=c>>>16&255,i[14]=c>>>8&255,i[15]=255&c,i;throw TypeError("Invalid UUID")}},{"./validate.js":39}],30:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0,r.default=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i},{}],31:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(){if(!o&&!(o=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return o(a)};let o,a=new Uint8Array(16)},{}],32:[function(e,s,r){function o(a,c){return a<<c|a>>>32-c}Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0,r.default=function(a){var c=[1518500249,1859775393,2400959708,3395469782],i=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof a=="string"){var u=unescape(encodeURIComponent(a));a=[];for(let b=0;b<u.length;++b)a.push(u.charCodeAt(b))}else Array.isArray(a)||(a=Array.prototype.slice.call(a));a.push(128);var d=a.length/4+2,f=Math.ceil(d/16),p=new Array(f);for(let b=0;b<f;++b){var h=new Uint32Array(16);for(let v=0;v<16;++v)h[v]=a[64*b+4*v]<<24|a[64*b+4*v+1]<<16|a[64*b+4*v+2]<<8|a[64*b+4*v+3];p[b]=h}p[f-1][14]=8*(a.length-1)/Math.pow(2,32),p[f-1][14]=Math.floor(p[f-1][14]),p[f-1][15]=8*(a.length-1)&4294967295;for(let b=0;b<f;++b){var m=new Uint32Array(80);for(let y=0;y<16;++y)m[y]=p[b][y];for(let y=16;y<80;++y)m[y]=o(m[y-3]^m[y-8]^m[y-14]^m[y-16],1);let v=i[0],_=i[1],E=i[2],S=i[3],w=i[4];for(let y=0;y<80;++y){var g=Math.floor(y/20);g=o(v,5)+((x,C,T,R)=>{switch(x){case 0:return C&T^~C&R;case 1:case 3:return C^T^R;case 2:return C&T^C&R^T&R}})(g,_,E,S)+w+c[g]+m[y]>>>0,w=S,S=E,E=o(_,30)>>>0,_=v,v=g}i[0]=i[0]+v>>>0,i[1]=i[1]+_>>>0,i[2]=i[2]+E>>>0,i[3]=i[3]+S>>>0,i[4]=i[4]+w>>>0}return[i[0]>>24&255,i[0]>>16&255,i[0]>>8&255,255&i[0],i[1]>>24&255,i[1]>>16&255,i[1]>>8&255,255&i[1],i[2]>>24&255,i[2]>>16&255,i[2]>>8&255,255&i[2],i[3]>>24&255,i[3]>>16&255,i[3]>>8&255,255&i[3],i[4]>>24&255,i[4]>>16&255,i[4]>>8&255,255&i[4]]}},{}],33:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o=(e=e("./validate.js"))&&e.__esModule?e:{default:e};let a=[];for(let c=0;c<256;++c)a.push((c+256).toString(16).substr(1));r.default=function(c){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(c=(a[c[i+0]]+a[c[i+1]]+a[c[i+2]]+a[c[i+3]]+"-"+a[c[i+4]]+a[c[i+5]]+"-"+a[c[i+6]]+a[c[i+7]]+"-"+a[c[i+8]]+a[c[i+9]]+"-"+a[c[i+10]]+a[c[i+11]]+a[c[i+12]]+a[c[i+13]]+a[c[i+14]]+a[c[i+15]]).toLowerCase(),(0,o.default)(c))return c;throw TypeError("Stringified UUID is invalid")}},{"./validate.js":39}],34:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o=c(e("./rng.js")),a=c(e("./stringify.js"));function c(p){return p&&p.__esModule?p:{default:p}}let i,u,d=0,f=0;r.default=function(p,h,m){var g=h&&m||0,b=h||new Array(16);let v=(p=p||{}).node||i,_=p.clockseq!==void 0?p.clockseq:u,E=(v!=null&&_!=null||(m=p.random||(p.rng||o.default)(),v==null&&(v=i=[1|m[0],m[1],m[2],m[3],m[4],m[5]]),_==null&&(_=u=16383&(m[6]<<8|m[7]))),m=p.msecs!==void 0?p.msecs:Date.now(),p.nsecs!==void 0?p.nsecs:f+1);var S=m-d+(E-f)/1e4;if(S<0&&p.clockseq===void 0&&(_=_+1&16383),1e4<=(E=(S<0||m>d)&&p.nsecs===void 0?0:E))throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");d=m,f=E,u=_,S=(1e4*(268435455&(m+=122192928e5))+E)%4294967296,b[g++]=S>>>24&255,b[g++]=S>>>16&255,b[g++]=S>>>8&255,b[g++]=255&S,b[g++]=(p=m/4294967296*1e4&268435455)>>>8&255,b[g++]=255&p,b[g++]=p>>>24&15|16,b[g++]=p>>>16&255,b[g++]=_>>>8|128,b[g++]=255&_;for(let w=0;w<6;++w)b[g+w]=v[w];return h||(0,a.default)(b)}},{"./rng.js":31,"./stringify.js":33}],35:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o=a(e("./v35.js"));function a(c){return c&&c.__esModule?c:{default:c}}e=a(e("./md5.js")),o=(0,o.default)("v3",48,e.default),r.default=o},{"./md5.js":27,"./v35.js":36}],36:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(d,f,p){function h(m,g,b,v){if(typeof m=="string"&&(m=(E=>{E=unescape(encodeURIComponent(E));var S=[];for(let w=0;w<E.length;++w)S.push(E.charCodeAt(w));return S})(m)),(g=typeof g=="string"?(0,a.default)(g):g).length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let _=new Uint8Array(16+m.length);if(_.set(g),_.set(m,g.length),(_=p(_))[6]=15&_[6]|f,_[8]=63&_[8]|128,b){v=v||0;for(let E=0;E<16;++E)b[v+E]=_[E];return b}return(0,o.default)(_)}try{h.name=d}catch{}return h.DNS=i,h.URL=u,h},r.URL=r.DNS=void 0;var o=c(e("./stringify.js")),a=c(e("./parse.js"));function c(d){return d&&d.__esModule?d:{default:d}}let i="6ba7b810-9dad-11d1-80b4-00c04fd430c8",u=(r.DNS=i,"6ba7b811-9dad-11d1-80b4-00c04fd430c8");r.URL=u},{"./parse.js":29,"./stringify.js":33}],37:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o=c(e("./rng.js")),a=c(e("./stringify.js"));function c(i){return i&&i.__esModule?i:{default:i}}r.default=function(i,u,d){var f=(i=i||{}).random||(i.rng||o.default)();if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,u){d=d||0;for(let p=0;p<16;++p)u[d+p]=f[p];return u}return(0,a.default)(f)}},{"./rng.js":31,"./stringify.js":33}],38:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o=a(e("./v35.js"));function a(c){return c&&c.__esModule?c:{default:c}}e=a(e("./sha1.js")),o=(0,o.default)("v5",80,e.default),r.default=o},{"./sha1.js":32,"./v35.js":36}],39:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o=(e=e("./regex.js"))&&e.__esModule?e:{default:e};r.default=function(a){return typeof a=="string"&&o.default.test(a)}},{"./regex.js":30}],40:[function(e,s,r){Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var o=(e=e("./validate.js"))&&e.__esModule?e:{default:e};r.default=function(a){if((0,o.default)(a))return parseInt(a.substr(14,1),16);throw TypeError("Invalid UUID")}},{"./validate.js":39}],41:[function(e,s,r){var o=(c=e("@babel/runtime/helpers/interopRequireDefault"))(e("@babel/runtime/helpers/toConsumableArray")),a=c(e("@babel/runtime/helpers/classCallCheck")),c=c(e("@babel/runtime/helpers/createClass")),i=(E=e("./logger")).log4,u=(E=e("./type")).isRealObject,d=E.isObjectId,f=E.isDefined,p=E.isPrimitiveArray,h=E.getType,m=e("./configDepUtils"),g=(E=e("./utils")).deLabel,b=E.equal,v=e("./path").samePath,_=e("./errors").OperationError,E=(0,c.default)(function S(w){(0,a.default)(this,S),this._config=w,this._utils=new m(w)},[{key:"isMatchingObjects",value:function(S,w,y){return w=(S=this._utils.getObjectIdentifiers({input:S,output:w,path:y})).inputId,y=S.outputId,S=S.sameId,d(w)&&d(y)&&S}},{key:"haveObjectIds",value:function(S,w,y){return!!(S.li&&w.ld||S.ld&&w.li)&&(!!(Array.isArray(S.ld)&&Array.isArray(w.li)||Array.isArray(w.ld)&&Array.isArray(S.li))||(S=this._utils.getOpTargetObject(S),w=this._utils.getOpTargetObject(w),w=(S=this._utils.getObjectIdentifiers({input:S,output:w,path:y})).inputId,y=S.outputId,d(w)&&d(y)))}},{key:"isMatchingOpPair",value:function(S,w,y){return!!((S.li&&w.ld||S.ld&&w.li)&&(Array.isArray(S.ld)&&Array.isArray(w.li)&&this.sameTargetArray(S.ld,w.li)||Array.isArray(w.ld)&&Array.isArray(S.li)&&this.sameTargetArray(w.ld,S.li)||this.isMatchingObjects(this._utils.getOpTargetObject(S),this._utils.getOpTargetObject(w),y)))}},{key:"isObjReplace",value:function(S,w){return!(!S||!w||S.oi!=null||S.od===void 0||w.od!=null||w.oi===void 0||!v(S.p,w.p))}},{key:"isReplace",value:function(S,w){return!(!S||!w||!((S.li&&w.ld||S.ld&&w.li)&&v(S.p,w.p)&&this.haveObjectIds(S,w,S.p)))}},{key:"isMove",value:function(S,w){return!(!S||!w||v(S.p,w.p)||!this.isMatchingOpPair(S,w,S.p))}},{key:"isIdentity",value:function(S,w){return i("isIdentity",S,w,!0),!(!S||!w)&&v(S.p,w.p)&&this.isMatchingOpPair(S,w,S.p)}},{key:"arrayDiff",value:function(S,w){var y=2<arguments.length&&arguments[2]!==void 0?arguments[2]:[],x=3<arguments.length?arguments[3]:void 0;if(i("Start performing arrayDiff: beforeState = ",S,!0),i("Start performing arrayDiff: afterState",w,!0),!Array.isArray(S))throw new _("beforeState snapshot is not an array");if(!Array.isArray(w))throw new _("afterState snapshot is not an array");var C=[],T=0,R=0,F=0,I=0;for(T=0,R=0;R<w.length&&T<S.length;T++){i("arrayDiff: loop at",{i:T,j:R},!0);var B,A=S[T],j=T-F;j=[].concat((0,o.default)(y),[j]),this.isMatchingObjects(S[T],w[R],y)?(B=x(A,w[R],j),i("arrayDiff: same target object (id) -> recursively diff result = ",{r:B},!0),C=C.concat(B),R++):(B={p:j,ld:g(A)},C.push(B),i("arrayDiff: different target object (id) -> create a ld op = ",{op:B,i:T,dCount:++F},!0))}for(var O=T;O<S.length;O++){var L=S[O],N=O-F;N={p:[].concat((0,o.default)(y),[N]),ld:g(L)},C.push(N),i("arrayDiff: handle beforeState tail, create a ld op",{op:N,pos:O},!0),F++}for(var U=R;U<w.length;U++){var D=w[U],z=U;z={p:[].concat((0,o.default)(y),[z]),li:g(D)},C.push(z),i("arrayDiff: handle afterState tail, create a li op",{op:z,pos:U},!0),I++}return{ops:C,dCount:F,iCount:I}}},{key:"arrayOfArrayDiff",value:function(){var S,w,y=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},x=y.before,C=y.after,T=y.path,R=y.commonHeaderLen,F=y.diff,I=y.isObjectArray,B=y.isInternal,A=[],j=0,O=0,L=0;for(j=0,O=0;O<C.length&&j<x.length;j++)!I&&(this.sameTargetArray(x[j],C[O])||p(x[j])&&p(C[O])||h(x[j])=="array"&&h(C[O]=="array"))||I&&this.isMatchingObjects(x[j],C[O],T)?(i(`
110
107
  arrayOfArrayDiff: the same array -> recursive invocation of diff: i = `+j+"; j = "+O),i("before[i] = ",x[j]),i("after[j] = ",C[O]),S=F(x[j],C[O],[].concat((0,o.default)(T),[j+R-L]),B),A=A.concat(S),i("arrayOfArrayDiff: the same array -> recursively generate r = ",S),i("arrayOfArrayDiff: the same array -> ops = ",A),O++):(S=j-L+R,w={p:[].concat((0,o.default)(T),[S]),ld:x[j]},A.push(w),i(`
@@ -1445,7 +1442,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1445
1442
  display: none !important;
1446
1443
  }
1447
1444
  `,""]);const a=o},269:(l,t,n)=>{const e=n(962),s={};for(const a of Object.keys(e))s[e[a]]=a;const r={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};l.exports=r;for(const a of Object.keys(r)){if(!("channels"in r[a]))throw new Error("missing channels property: "+a);if(!("labels"in r[a]))throw new Error("missing channel labels property: "+a);if(r[a].labels.length!==r[a].channels)throw new Error("channel and label counts mismatch: "+a);const{channels:c,labels:i}=r[a];delete r[a].channels,delete r[a].labels,Object.defineProperty(r[a],"channels",{value:c}),Object.defineProperty(r[a],"labels",{value:i})}function o(a,c){return(a[0]-c[0])**2+(a[1]-c[1])**2+(a[2]-c[2])**2}r.rgb.hsl=function(a){const c=a[0]/255,i=a[1]/255,u=a[2]/255,d=Math.min(c,i,u),f=Math.max(c,i,u),p=f-d;let h,m;f===d?h=0:c===f?h=(i-u)/p:i===f?h=2+(u-c)/p:u===f&&(h=4+(c-i)/p),h=Math.min(60*h,360),h<0&&(h+=360);const g=(d+f)/2;return m=f===d?0:g<=.5?p/(f+d):p/(2-f-d),[h,100*m,100*g]},r.rgb.hsv=function(a){let c,i,u,d,f;const p=a[0]/255,h=a[1]/255,m=a[2]/255,g=Math.max(p,h,m),b=g-Math.min(p,h,m),v=function(_){return(g-_)/6/b+.5};return b===0?(d=0,f=0):(f=b/g,c=v(p),i=v(h),u=v(m),p===g?d=u-i:h===g?d=1/3+c-u:m===g&&(d=2/3+i-c),d<0?d+=1:d>1&&(d-=1)),[360*d,100*f,100*g]},r.rgb.hwb=function(a){const c=a[0],i=a[1];let u=a[2];const d=r.rgb.hsl(a)[0],f=1/255*Math.min(c,Math.min(i,u));return u=1-1/255*Math.max(c,Math.max(i,u)),[d,100*f,100*u]},r.rgb.cmyk=function(a){const c=a[0]/255,i=a[1]/255,u=a[2]/255,d=Math.min(1-c,1-i,1-u);return[100*((1-c-d)/(1-d)||0),100*((1-i-d)/(1-d)||0),100*((1-u-d)/(1-d)||0),100*d]},r.rgb.keyword=function(a){const c=s[a];if(c)return c;let i,u=1/0;for(const d of Object.keys(e)){const f=o(a,e[d]);f<u&&(u=f,i=d)}return i},r.keyword.rgb=function(a){return e[a]},r.rgb.xyz=function(a){let c=a[0]/255,i=a[1]/255,u=a[2]/255;return c=c>.04045?((c+.055)/1.055)**2.4:c/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92,u=u>.04045?((u+.055)/1.055)**2.4:u/12.92,[100*(.4124*c+.3576*i+.1805*u),100*(.2126*c+.7152*i+.0722*u),100*(.0193*c+.1192*i+.9505*u)]},r.rgb.lab=function(a){const c=r.rgb.xyz(a);let i=c[0],u=c[1],d=c[2];return i/=95.047,u/=100,d/=108.883,i=i>.008856?i**(1/3):7.787*i+16/116,u=u>.008856?u**(1/3):7.787*u+16/116,d=d>.008856?d**(1/3):7.787*d+16/116,[116*u-16,500*(i-u),200*(u-d)]},r.hsl.rgb=function(a){const c=a[0]/360,i=a[1]/100,u=a[2]/100;let d,f,p;if(i===0)return p=255*u,[p,p,p];d=u<.5?u*(1+i):u+i-u*i;const h=2*u-d,m=[0,0,0];for(let g=0;g<3;g++)f=c+1/3*-(g-1),f<0&&f++,f>1&&f--,p=6*f<1?h+6*(d-h)*f:2*f<1?d:3*f<2?h+(d-h)*(2/3-f)*6:h,m[g]=255*p;return m},r.hsl.hsv=function(a){const c=a[0];let i=a[1]/100,u=a[2]/100,d=i;const f=Math.max(u,.01);return u*=2,i*=u<=1?u:2-u,d*=f<=1?f:2-f,[c,100*(u===0?2*d/(f+d):2*i/(u+i)),(u+i)/2*100]},r.hsv.rgb=function(a){const c=a[0]/60,i=a[1]/100;let u=a[2]/100;const d=Math.floor(c)%6,f=c-Math.floor(c),p=255*u*(1-i),h=255*u*(1-i*f),m=255*u*(1-i*(1-f));switch(u*=255,d){case 0:return[u,m,p];case 1:return[h,u,p];case 2:return[p,u,m];case 3:return[p,h,u];case 4:return[m,p,u];case 5:return[u,p,h]}},r.hsv.hsl=function(a){const c=a[0],i=a[1]/100,u=a[2]/100,d=Math.max(u,.01);let f,p;p=(2-i)*u;const h=(2-i)*d;return f=i*d,f/=h<=1?h:2-h,f=f||0,p/=2,[c,100*f,100*p]},r.hwb.rgb=function(a){const c=a[0]/360;let i=a[1]/100,u=a[2]/100;const d=i+u;let f;d>1&&(i/=d,u/=d);const p=Math.floor(6*c),h=1-u;f=6*c-p,1&p&&(f=1-f);const m=i+f*(h-i);let g,b,v;switch(p){default:case 6:case 0:g=h,b=m,v=i;break;case 1:g=m,b=h,v=i;break;case 2:g=i,b=h,v=m;break;case 3:g=i,b=m,v=h;break;case 4:g=m,b=i,v=h;break;case 5:g=h,b=i,v=m}return[255*g,255*b,255*v]},r.cmyk.rgb=function(a){const c=a[0]/100,i=a[1]/100,u=a[2]/100,d=a[3]/100;return[255*(1-Math.min(1,c*(1-d)+d)),255*(1-Math.min(1,i*(1-d)+d)),255*(1-Math.min(1,u*(1-d)+d))]},r.xyz.rgb=function(a){const c=a[0]/100,i=a[1]/100,u=a[2]/100;let d,f,p;return d=3.2406*c+-1.5372*i+-.4986*u,f=-.9689*c+1.8758*i+.0415*u,p=.0557*c+-.204*i+1.057*u,d=d>.0031308?1.055*d**(1/2.4)-.055:12.92*d,f=f>.0031308?1.055*f**(1/2.4)-.055:12.92*f,p=p>.0031308?1.055*p**(1/2.4)-.055:12.92*p,d=Math.min(Math.max(0,d),1),f=Math.min(Math.max(0,f),1),p=Math.min(Math.max(0,p),1),[255*d,255*f,255*p]},r.xyz.lab=function(a){let c=a[0],i=a[1],u=a[2];return c/=95.047,i/=100,u/=108.883,c=c>.008856?c**(1/3):7.787*c+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,u=u>.008856?u**(1/3):7.787*u+16/116,[116*i-16,500*(c-i),200*(i-u)]},r.lab.xyz=function(a){let c,i,u;i=(a[0]+16)/116,c=a[1]/500+i,u=i-a[2]/200;const d=i**3,f=c**3,p=u**3;return i=d>.008856?d:(i-16/116)/7.787,c=f>.008856?f:(c-16/116)/7.787,u=p>.008856?p:(u-16/116)/7.787,c*=95.047,i*=100,u*=108.883,[c,i,u]},r.lab.lch=function(a){const c=a[0],i=a[1],u=a[2];let d;return d=360*Math.atan2(u,i)/2/Math.PI,d<0&&(d+=360),[c,Math.sqrt(i*i+u*u),d]},r.lch.lab=function(a){const c=a[0],i=a[1],u=a[2]/360*2*Math.PI;return[c,i*Math.cos(u),i*Math.sin(u)]},r.rgb.ansi16=function(a,c=null){const[i,u,d]=a;let f=c===null?r.rgb.hsv(a)[2]:c;if(f=Math.round(f/50),f===0)return 30;let p=30+(Math.round(d/255)<<2|Math.round(u/255)<<1|Math.round(i/255));return f===2&&(p+=60),p},r.hsv.ansi16=function(a){return r.rgb.ansi16(r.hsv.rgb(a),a[2])},r.rgb.ansi256=function(a){const c=a[0],i=a[1],u=a[2];return c===i&&i===u?c<8?16:c>248?231:Math.round((c-8)/247*24)+232:16+36*Math.round(c/255*5)+6*Math.round(i/255*5)+Math.round(u/255*5)},r.ansi16.rgb=function(a){let c=a%10;if(c===0||c===7)return a>50&&(c+=3.5),c=c/10.5*255,[c,c,c];const i=.5*(1+~~(a>50));return[(1&c)*i*255,(c>>1&1)*i*255,(c>>2&1)*i*255]},r.ansi256.rgb=function(a){if(a>=232){const i=10*(a-232)+8;return[i,i,i]}let c;return a-=16,[Math.floor(a/36)/5*255,Math.floor((c=a%36)/6)/5*255,c%6/5*255]},r.rgb.hex=function(a){const c=(((255&Math.round(a[0]))<<16)+((255&Math.round(a[1]))<<8)+(255&Math.round(a[2]))).toString(16).toUpperCase();return"000000".substring(c.length)+c},r.hex.rgb=function(a){const c=a.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!c)return[0,0,0];let i=c[0];c[0].length===3&&(i=i.split("").map(d=>d+d).join(""));const u=parseInt(i,16);return[u>>16&255,u>>8&255,255&u]},r.rgb.hcg=function(a){const c=a[0]/255,i=a[1]/255,u=a[2]/255,d=Math.max(Math.max(c,i),u),f=Math.min(Math.min(c,i),u),p=d-f;let h,m;return h=p<1?f/(1-p):0,m=p<=0?0:d===c?(i-u)/p%6:d===i?2+(u-c)/p:4+(c-i)/p,m/=6,m%=1,[360*m,100*p,100*h]},r.hsl.hcg=function(a){const c=a[1]/100,i=a[2]/100,u=i<.5?2*c*i:2*c*(1-i);let d=0;return u<1&&(d=(i-.5*u)/(1-u)),[a[0],100*u,100*d]},r.hsv.hcg=function(a){const c=a[1]/100,i=a[2]/100,u=c*i;let d=0;return u<1&&(d=(i-u)/(1-u)),[a[0],100*u,100*d]},r.hcg.rgb=function(a){const c=a[0]/360,i=a[1]/100,u=a[2]/100;if(i===0)return[255*u,255*u,255*u];const d=[0,0,0],f=c%1*6,p=f%1,h=1-p;let m=0;switch(Math.floor(f)){case 0:d[0]=1,d[1]=p,d[2]=0;break;case 1:d[0]=h,d[1]=1,d[2]=0;break;case 2:d[0]=0,d[1]=1,d[2]=p;break;case 3:d[0]=0,d[1]=h,d[2]=1;break;case 4:d[0]=p,d[1]=0,d[2]=1;break;default:d[0]=1,d[1]=0,d[2]=h}return m=(1-i)*u,[255*(i*d[0]+m),255*(i*d[1]+m),255*(i*d[2]+m)]},r.hcg.hsv=function(a){const c=a[1]/100,i=c+a[2]/100*(1-c);let u=0;return i>0&&(u=c/i),[a[0],100*u,100*i]},r.hcg.hsl=function(a){const c=a[1]/100,i=a[2]/100*(1-c)+.5*c;let u=0;return i>0&&i<.5?u=c/(2*i):i>=.5&&i<1&&(u=c/(2*(1-i))),[a[0],100*u,100*i]},r.hcg.hwb=function(a){const c=a[1]/100,i=c+a[2]/100*(1-c);return[a[0],100*(i-c),100*(1-i)]},r.hwb.hcg=function(a){const c=a[1]/100,i=1-a[2]/100,u=i-c;let d=0;return u<1&&(d=(i-u)/(1-u)),[a[0],100*u,100*d]},r.apple.rgb=function(a){return[a[0]/65535*255,a[1]/65535*255,a[2]/65535*255]},r.rgb.apple=function(a){return[a[0]/255*65535,a[1]/255*65535,a[2]/255*65535]},r.gray.rgb=function(a){return[a[0]/100*255,a[0]/100*255,a[0]/100*255]},r.gray.hsl=function(a){return[0,0,a[0]]},r.gray.hsv=r.gray.hsl,r.gray.hwb=function(a){return[0,100,a[0]]},r.gray.cmyk=function(a){return[0,0,0,a[0]]},r.gray.lab=function(a){return[a[0],0,0]},r.gray.hex=function(a){const c=255&Math.round(a[0]/100*255),i=((c<<16)+(c<<8)+c).toString(16).toUpperCase();return"000000".substring(i.length)+i},r.rgb.gray=function(a){return[(a[0]+a[1]+a[2])/3/255*100]}},256:(l,t,n)=>{const e=n(269),s=n(273),r={};Object.keys(e).forEach(o=>{r[o]={},Object.defineProperty(r[o],"channels",{value:e[o].channels}),Object.defineProperty(r[o],"labels",{value:e[o].labels});const a=s(o);Object.keys(a).forEach(c=>{const i=a[c];r[o][c]=function(u){const d=function(...f){const p=f[0];if(p==null)return p;p.length>1&&(f=p);const h=u(f);if(typeof h=="object")for(let m=h.length,g=0;g<m;g++)h[g]=Math.round(h[g]);return h};return"conversion"in u&&(d.conversion=u.conversion),d}(i),r[o][c].raw=function(u){const d=function(...f){const p=f[0];return p==null?p:(p.length>1&&(f=p),u(f))};return"conversion"in u&&(d.conversion=u.conversion),d}(i)})}),l.exports=r},273:(l,t,n)=>{const e=n(269);function s(o,a){return function(c){return a(o(c))}}function r(o,a){const c=[a[o].parent,o];let i=e[a[o].parent][o],u=a[o].parent;for(;a[u].parent;)c.unshift(a[u].parent),i=s(e[a[u].parent][u],i),u=a[u].parent;return i.conversion=c,i}l.exports=function(o){const a=function(u){const d=function(){const p={},h=Object.keys(e);for(let m=h.length,g=0;g<m;g++)p[h[g]]={distance:-1,parent:null};return p}(),f=[u];for(d[u].distance=0;f.length;){const p=f.pop(),h=Object.keys(e[p]);for(let m=h.length,g=0;g<m;g++){const b=h[g],v=d[b];v.distance===-1&&(v.distance=d[p].distance+1,v.parent=p,f.unshift(b))}}return d}(o),c={},i=Object.keys(a);for(let u=i.length,d=0;d<u;d++){const f=i[d];a[f].parent!==null&&(c[f]=r(f,a))}return c}},962:l=>{l.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},364:l=>{l.exports=function(t){var n=[];return n.toString=function(){return this.map(function(e){var s="",r=e[5]!==void 0;return e[4]&&(s+="@supports (".concat(e[4],") {")),e[2]&&(s+="@media ".concat(e[2]," {")),r&&(s+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),s+=t(e),r&&(s+="}"),e[2]&&(s+="}"),e[4]&&(s+="}"),s}).join("")},n.i=function(e,s,r,o,a){typeof e=="string"&&(e=[[null,e,void 0]]);var c={};if(r)for(var i=0;i<this.length;i++){var u=this[i][0];u!=null&&(c[u]=!0)}for(var d=0;d<e.length;d++){var f=[].concat(e[d]);r&&c[f[0]]||(a!==void 0&&(f[5]===void 0||(f[1]="@layer".concat(f[5].length>0?" ".concat(f[5]):""," {").concat(f[1],"}")),f[5]=a),s&&(f[2]&&(f[1]="@media ".concat(f[2]," {").concat(f[1],"}")),f[2]=s),o&&(f[4]?(f[1]="@supports (".concat(f[4],") {").concat(f[1],"}"),f[4]=o):f[4]="".concat(o)),n.push(f))}},n}},379:l=>{l.exports=function(t){return t[1]}},186:l=>{var t=[];function n(r){for(var o=-1,a=0;a<t.length;a++)if(t[a].identifier===r){o=a;break}return o}function e(r,o){for(var a={},c=[],i=0;i<r.length;i++){var u=r[i],d=o.base?u[0]+o.base:u[0],f=a[d]||0,p="".concat(d," ").concat(f);a[d]=f+1;var h=n(p),m={css:u[1],media:u[2],sourceMap:u[3],supports:u[4],layer:u[5]};if(h!==-1)t[h].references++,t[h].updater(m);else{var g=s(m,o);o.byIndex=i,t.splice(i,0,{identifier:p,updater:g,references:1})}c.push(p)}return c}function s(r,o){var a=o.domAPI(o);return a.update(r),function(c){if(c){if(c.css===r.css&&c.media===r.media&&c.sourceMap===r.sourceMap&&c.supports===r.supports&&c.layer===r.layer)return;a.update(r=c)}else a.remove()}}l.exports=function(r,o){var a=e(r=r||[],o=o||{});return function(c){c=c||[];for(var i=0;i<a.length;i++){var u=n(a[i]);t[u].references--}for(var d=e(c,o),f=0;f<a.length;f++){var p=n(a[f]);t[p].references===0&&(t[p].updater(),t.splice(p,1))}a=d}}},433:l=>{var t={};l.exports=function(n,e){var s=function(r){if(t[r]===void 0){var o=document.querySelector(r);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch{o=null}t[r]=o}return t[r]}(n);if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(e)}},990:l=>{l.exports=function(t){var n=document.createElement("style");return t.setAttributes(n,t.attributes),t.insert(n,t.options),n}},626:(l,t,n)=>{l.exports=function(e){var s=n.nc;s&&e.setAttribute("nonce",s)}},536:l=>{l.exports=function(t){if(typeof document>"u")return{update:function(){},remove:function(){}};var n=t.insertStyleElement(t);return{update:function(e){(function(s,r,o){var a="";o.supports&&(a+="@supports (".concat(o.supports,") {")),o.media&&(a+="@media ".concat(o.media," {"));var c=o.layer!==void 0;c&&(a+="@layer".concat(o.layer.length>0?" ".concat(o.layer):""," {")),a+=o.css,c&&(a+="}"),o.media&&(a+="}"),o.supports&&(a+="}");var i=o.sourceMap;i&&typeof btoa<"u"&&(a+=`
1448
- /*# sourceMappingURL=data:application/json;base64,`.concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),r.styleTagTransform(a,s,r.options)})(n,t,e)},remove:function(){(function(e){if(e.parentNode===null)return!1;e.parentNode.removeChild(e)})(n)}}}},827:l=>{l.exports=function(t,n){if(n.styleSheet)n.styleSheet.cssText=t;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(t))}}}},rx={};function An(l){var t=rx[l];if(t!==void 0)return t.exports;var n=rx[l]={id:l,exports:{}};return WO[l](n,n.exports,An),n.exports}An.n=l=>{var t=l&&l.__esModule?()=>l.default:()=>l;return An.d(t,{a:t}),t},An.d=(l,t)=>{for(var n in t)An.o(t,n)&&!An.o(l,n)&&Object.defineProperty(l,n,{enumerable:!0,get:t[n]})},An.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),An.o=(l,t)=>Object.prototype.hasOwnProperty.call(l,t),An.r=l=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})},An.nc=void 0;var Ba={};An.d(Ba,{yy:()=>NI,_U:()=>h6,a8:()=>N6,Vs:()=>A6,Cn:()=>Cy,gK:()=>lI,vv:()=>NP});var JO=l=>{var t={};return An.d(t,l),t};const Dt=JO({$addUpdateTag:()=>Dk,$createNodeSelection:()=>op,$createParagraphNode:()=>En,$createRangeSelection:()=>vc,$getEditor:()=>Wk,$getNodeByKey:()=>Dn,$getRoot:()=>Mn,$getSelection:()=>jt,$isDecoratorNode:()=>hr,$isElementNode:()=>Tt,$isLineBreakNode:()=>_s,$isNodeSelection:()=>fr,$isParagraphNode:()=>_r,$isRangeSelection:()=>St,$isTextNode:()=>Jt,$nodesOfType:()=>ab,$setSelection:()=>jr,CAN_REDO_COMMAND:()=>lc,CAN_UNDO_COMMAND:()=>cc,CLEAR_EDITOR_COMMAND:()=>Mf,COMMAND_PRIORITY_CRITICAL:()=>wo,COMMAND_PRIORITY_EDITOR:()=>Tn,CUT_COMMAND:()=>Ku,DecoratorNode:()=>qs,ElementNode:()=>Br,KEY_BACKSPACE_COMMAND:()=>Zi,KEY_DELETE_COMMAND:()=>Qi,KEY_ESCAPE_COMMAND:()=>Fs,LineBreakNode:()=>mc,PASTE_COMMAND:()=>vs,ParagraphNode:()=>Na,REDO_COMMAND:()=>sc,RootNode:()=>_c,TextNode:()=>Zr,UNDO_COMMAND:()=>ic,createCommand:()=>po,createEditor:()=>up});var VO=l=>{var t={};return An.d(t,l),t};const KO=VO({$isLinkNode:()=>ti});var GO=l=>{var t={};return An.d(t,l),t};const Bi=GO({$createMarkNode:()=>$p,$getMarkIDs:()=>OO,$isMarkNode:()=>Ml,$unwrapMarkNode:()=>TO,$wrapSelectionInMarkNode:()=>AO,MarkNode:()=>by});var $O=l=>{var t={};return An.d(t,l),t};const kr=$O({$createTableCellNode:()=>Si,$createTableRowNode:()=>kl,$createTableSelection:()=>Ep,$getTableColumnIndexFromTableCellNode:()=>qm,$isTableCellNode:()=>bn,$isTableNode:()=>dr,$isTableRowNode:()=>Dr,$isTableSelection:()=>ur,TableCellNode:()=>is,TableNode:()=>Ss,TableRowNode:()=>jl}),YO=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ox={randomUUID:YO};let Yp;const ZO=new Uint8Array(16);function QO(){if(!Yp&&(Yp=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Yp))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Yp(ZO)}const Io=[];for(let l=0;l<256;++l)Io.push((l+256).toString(16).slice(1));function XO(l,t=0){return Io[l[t+0]]+Io[l[t+1]]+Io[l[t+2]]+Io[l[t+3]]+"-"+Io[l[t+4]]+Io[l[t+5]]+"-"+Io[l[t+6]]+Io[l[t+7]]+"-"+Io[l[t+8]]+Io[l[t+9]]+"-"+Io[l[t+10]]+Io[l[t+11]]+Io[l[t+12]]+Io[l[t+13]]+Io[l[t+14]]+Io[l[t+15]]}function eN(l,t,n){if(ox.randomUUID&&!t&&!l)return ox.randomUUID();const e=(l=l||{}).random||(l.rng||QO)();if(e[6]=15&e[6]|64,e[8]=63&e[8]|128,t){n=n||0;for(let s=0;s<16;++s)t[n+s]=e[s];return t}return XO(e)}const tN=eN;var pt=An(155);const nN=[l=>l.hasFormat("bold")&&"bold",l=>l.hasFormat("code")&&"code",l=>l.hasFormat("italic")&&"italic",l=>l.hasFormat("strikethrough")&&"strikethrough",l=>l.hasFormat("subscript")&&"subscript",l=>l.hasFormat("superscript")&&"superscript",l=>l.hasFormat("underline")&&"underline",l=>l.hasFormat("highlight")&&"highlight"],ix={bold:1,code:16,highlight:128,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},rN={center:2,end:6,justify:4,left:1,right:3,start:5};function oN(l){if(!l||!l.length)return 0;let t=l.split(",");if(t=t.map(e=>e.trim()),t.length===1&&!ix[t[0]])return l;let n=0;for(const e of t){const s=ix[e];s&&(n^=s)}return n}function iN(l){return l?nN.map(t=>t(l)).filter(Boolean).join(","):""}function sN(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return l&&rN[l]||0}function Pd(l){return`__${l}`}function xy(l){return l.split("__")[1]||""}const as={historic:"historic",historyMerge:"history-merge",historyPush:"history-push"},Id="codox_comments_change",sx="codox_content_revert",aN={paste:"application/x-lexical-editor",drag:"application/x-lexical-drag",dragBlock:"application/x-lexical-drag-block",plainText:"text/plain"},Ei={created:"created",updated:"updated",destroyed:"destroyed"},za={text:"text",element:"element",whitelist:["text","element"]},xo={mouseover:"mouseover",mouseout:"mouseout",mousemove:"mousemove",keypress:"keypress",keyup:"keyup",resize:"resize",scroll:"scroll"},ax=[xo.mousemove,xo.mouseover,xo.mouseout],Zp={text:"text",linebreak:"linebreak",horizontalrule:"horizontalrule"},Md={local:"local",remote:"remote"},Dl={editorState:"editorState",root:"root"},Ua={BOTH:3,COLUMN:2,NO_STATUS:0,ROW:1},lx={horizontalrule:["table","image","inline-image","sticky"],"page-break":["image","inline-image","table","sticky"],"collapsible-container":["table","image","inline-image","collapsible-container","sticky"],"layout-container":["table","image","inline-image","layout-container","sticky"],image:["image","inline-image","sticky"],"inline-image":["image","inline-image","sticky"],table:["image","inline-image","table","sticky"],poll:["image","inline-image","sticky"],excalidraw:["image","inline-image","sticky"]},lN="Invalid state - forbidden content nesting found",cx={local:"local",remote:"remote"},cN={init:"init",syncRCS:"syncRCS",syncRemote:"syncRemote"},Sy={text:"text",paragraph:"paragraph",linebreak:"linebreak",heading:"heading",quote:"quote",table:"table",tablerow:"tablerow",tablecell:"tablecell",list:"list",listitem:"listitem",mark:"mark",link:"link",autolink:"autolink",code:"code","code-highlight":"code-highlight",hashtag:"hashtag",overflow:"overflow",horizontalrule:"horizontalrule","collapsible-container":"collapsible-container","collapsible-title":"collapsible-title","collapsible-content":"collapsible-content","layout-container":"layout-container","layout-item":"layout-item","page-break":"page-break",image:"image","inline-image":"inline-image",poll:"poll",sticky:"sticky",emoji:"emoji",excalidraw:"excalidraw",equation:"equation",keyword:"keyword",tweet:"tweet",figma:"figma",youtube:"youtube",mention:"mention",tab:"tab"},uN=["docId","username","apiKey","domain","hooks","editorInstanceHooks","appServer","demo"];function ux(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Ey(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ux(Object(n),!0).forEach(function(e){dN(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):ux(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function dN(l,t,n){return(t=fN(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function fN(l){var t=pN(l,"string");return typeof t=="symbol"?t:t+""}function pN(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}function hN(l,t){if(l==null)return{};var n,e,s=gN(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function gN(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}An(155);let dx;dx=An(668);class mN{constructor(t){this.codox=null}get instance(){return this.codox}createNewInstance(){this.codox,this.codox=new dx}conf(t){t.autoStart=!1,this.codox&&this.codox.init(t)}async start(t){if(this.codox)return this.codox,this.codox.start(t)}stop(t){this.codox&&(this.codox.stop(),this.codox=null)}diff(t,n){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(this.codox)return this.codox.diff({state1:t,state2:n,config:e})}sync(){if(this.codox)return this.codox.sync(...arguments)}initSync(t){return this.codox?this.codox.initSync(t):t}createConfig(t){let{docId:n,username:e,apiKey:s,domain:r,hooks:o,editorInstanceHooks:a,appServer:c={},demo:i=!1}=t;return Ey(Ey({},hN(t,uN)),{},{docId:n,username:e,apiKey:s,autoStart:!0,demo:i,domain:r,hooks:o,editorInstance:Ey({type:"lexical"},a),app:"json",json:{keyNames:{default:"codoxId"},filters:{version:!0},appServer:c,semantics:{paths:{"state.root.children.children.text":"MERGE","state.root.children.children.children.text":"MERGE"},string:"MERGE"}}})}}var yN=l=>{var t={};return An.d(t,l),t};const ht=yN({Fragment:()=>ir.Fragment,createContext:()=>ir.createContext,createElement:()=>ir.createElement,forwardRef:()=>ir.forwardRef,useCallback:()=>ir.useCallback,useContext:()=>ir.useContext,useEffect:()=>ir.useEffect,useImperativeHandle:()=>ir.useImperativeHandle,useLayoutEffect:()=>ir.useLayoutEffect,useMemo:()=>ir.useMemo,useRef:()=>ir.useRef,useState:()=>ir.useState});class vN{constructor(){this.subscribers={}}on(t,n){t&&n&&(this.subscribers[t]||(this.subscribers[t]=[]),this.subscribers[t].push(n))}emit(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.subscribers[t]&&this.subscribers[t].length)for(const e of this.subscribers[t])typeof e=="function"&&e(n)}clear(){this.subscribers={}}}const fx=vN;function px(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function hx(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?px(Object(n),!0).forEach(function(e){bN(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):px(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function bN(l,t,n){return(t=_N(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function _N(l){var t=wN(l,"string");return typeof t=="symbol"?t:t+""}function wN(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}const Cy=(0,Dt.createCommand)("INSERT_COMMENT");class xN extends fx{constructor(t){super(),pt.default.debug("[CodoxComments] constructor invoked for editor key: ",t),this.initialCommentThreads=[],this.commentThreads=[],this.dataTypes={comment:"comment",thread:"thread"},this.ID_PREFIX="codox",this.relatedNodeKeys={},this.activeThreadIds={},this._uiRefreshTriggered=!1}_triggerUIRefresh(){this._uiRefreshTriggered||(this._uiRefreshTriggered=!0,Promise.resolve().then(()=>{this.emit("comments_change"),this._uiRefreshTriggered=!1}))}_copyThreads(t){return[...t]}getActiveCommentThreads(){return this.commentThreads.filter(t=>!!this.activeThreadIds[t.codoxId])}_setCommentThreads(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.commentThreads=[...t],this._triggerUIRefresh()}clear(){this.resetComments(),super.clear()}gcInternalStates(){this.relatedNodeKeys={},this.activeThreadIds={}}resetComments(){this.gcInternalStates(),this._setCommentThreads([])}getAllComments(){return this.commentThreads}setAllComments(t){Array.isArray(t)?(pt.default.debug("[CodoxComments][setAllComments]: ",t),this._setCommentThreads(t)):pt.default.warn("[setAllComments]: incomming comments are not array: ",{newCommentThreads:t})}addRelatedNodeKey(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],e=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(!Array.isArray(n)||!n.length)return;let s=n.filter(r=>typeof r=="string"&&r.startsWith(this.ID_PREFIX));if(s.length){if(e)for(let r of s)this.activeThreadIds[r]?this.activeThreadIds[r].add(t):this.activeThreadIds[r]=new Set([t]);else if(this.relatedNodeKeys[t]){let r=[...this.relatedNodeKeys[t]],o=s,a=o.length>r.length,c=r.length>o.length;a?o.filter(i=>!r.includes(i)).forEach(i=>{this.activeThreadIds[i].add(t)}):c&&r.filter(i=>!o.includes(i)).forEach(i=>{this.activeThreadIds[i].size>1?this.activeThreadIds[i].delete(t):delete this.activeThreadIds[i]})}this.relatedNodeKeys[t]=s,this._triggerUIRefresh()}}removeRelatedNodeKey(t){if(this.relatedNodeKeys[t]){let n=this.relatedNodeKeys[t];pt.default.debug("[CodoxComments][removeRelatedNodeKey]: ",{nodeKey:t,threadIds:n,activeThreads:this.activeThreadIds}),n.forEach(e=>{this.activeThreadIds[e]&&(this.activeThreadIds[e].size>1?this.activeThreadIds[e].delete(t):delete this.activeThreadIds[e])}),delete this.relatedNodeKeys[t],this._triggerUIRefresh()}}createCommentId(){return`${this.ID_PREFIX}-${rh()}`}createNewCommentObj(t){let{content:n,author:e,codoxId:s,timeStamp:r}=t;return{author:e,content:n,codoxId:s||this.createCommentId(),timeStamp:r,type:this.dataTypes.comment}}createNewThreadObj(t){let{quote:n,comments:e,codoxId:s}=t;return{comments:e,codoxId:s||this.createCommentId(),quote:n,type:this.dataTypes.thread}}addCommentThread(t){let n=[...this.commentThreads,t];this._setCommentThreads(n)}addComment(t,n){let e=this.commentThreads.map(s=>{if(s.codoxId===t){let r=hx({},s);return r.comments=[...r.comments,n],r}return s});this._setCommentThreads(e)}removeCommentThread(t){}removeComment(t,n){pt.default.debug("[CodoxComments][removeCommentFromPlugin]: ",{commentId:n,threadId:t});let e=this.commentThreads.map(s=>{if(s.codoxId===t){let r=hx({},s);return r.comments=r.comments.filter(o=>o.codoxId!==n),r}return s});this._setCommentThreads(e)}gcAbandonedNodeKeys(t){let n=Object.keys(this.relatedNodeKeys);for(let e of n)t.has(e)||this.removeRelatedNodeKey(e)}refreshComments(){this._triggerUIRefresh()}setInitialComments(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];Array.isArray(t)&&(pt.default.debug("[CodoxComments][setInitialComments]: ",[...t]),this.initialCommentThreads=[...t])}activateInitialComments(t){this.setAllComments(this.initialCommentThreads),t.getEditorState().read(()=>{let n=(0,Dt.$nodesOfType)(Bi.MarkNode);for(let e of n)this.addRelatedNodeKey(e.__key,e.__ids,!0)}),this.initialCommentThreads=[]}initialCommentsExist(){return!!this.initialCommentThreads.length}}function SN(l){let t=Un.getCodoxComments(l),n=t.getActiveCommentThreads.bind(t);const[e,s]=(0,ht.useState)(n());return(0,ht.useEffect)(()=>{t.on("comments_change",()=>{let r=n();pt.default.debug("[CodoxComments UI][useCodoxComments]: ",r),s(r)})},[]),e}var EN=Object.getOwnPropertyNames,CN=Object.getOwnPropertySymbols,jN=Object.prototype.hasOwnProperty;function gx(l,t){return function(n,e,s){return l(n,e,s)&&t(n,e,s)}}function Qp(l){return function(t,n,e){if(!t||!n||typeof t!="object"||typeof n!="object")return l(t,n,e);var s=e.cache,r=s.get(t),o=s.get(n);if(r&&o)return r===n&&o===t;s.set(t,n),s.set(n,t);var a=l(t,n,e);return s.delete(t),s.delete(n),a}}function mx(l){return EN(l).concat(CN(l))}var yx=Object.hasOwn||function(l,t){return jN.call(l,t)};function Fc(l,t){return l||t?l===t:l===t||l!=l&&t!=t}var vx="_owner",bx=Object.getOwnPropertyDescriptor,_x=Object.keys;function kN(l,t,n){var e=l.length;if(t.length!==e)return!1;for(;e-- >0;)if(!n.equals(l[e],t[e],e,e,l,t,n))return!1;return!0}function TN(l,t){return Fc(l.getTime(),t.getTime())}function wx(l,t,n){if(l.size!==t.size)return!1;for(var e,s,r={},o=l.entries(),a=0;(e=o.next())&&!e.done;){for(var c=t.entries(),i=!1,u=0;(s=c.next())&&!s.done;){var d=e.value,f=d[0],p=d[1],h=s.value,m=h[0],g=h[1];i||r[u]||!(i=n.equals(f,m,a,u,l,t,n)&&n.equals(p,g,f,m,l,t,n))||(r[u]=!0),u++}if(!i)return!1;a++}return!0}function AN(l,t,n){var e,s=_x(l),r=s.length;if(_x(t).length!==r)return!1;for(;r-- >0;)if((e=s[r])===vx&&(l.$$typeof||t.$$typeof)&&l.$$typeof!==t.$$typeof||!yx(t,e)||!n.equals(l[e],t[e],e,e,l,t,n))return!1;return!0}function Rd(l,t,n){var e,s,r,o=mx(l),a=o.length;if(mx(t).length!==a)return!1;for(;a-- >0;)if((e=o[a])===vx&&(l.$$typeof||t.$$typeof)&&l.$$typeof!==t.$$typeof||!yx(t,e)||!n.equals(l[e],t[e],e,e,l,t,n)||(s=bx(l,e),r=bx(t,e),(s||r)&&(!s||!r||s.configurable!==r.configurable||s.enumerable!==r.enumerable||s.writable!==r.writable)))return!1;return!0}function ON(l,t){return Fc(l.valueOf(),t.valueOf())}function NN(l,t){return l.source===t.source&&l.flags===t.flags}function xx(l,t,n){if(l.size!==t.size)return!1;for(var e,s,r={},o=l.values();(e=o.next())&&!e.done;){for(var a=t.values(),c=!1,i=0;(s=a.next())&&!s.done;)c||r[i]||!(c=n.equals(e.value,s.value,e.value,s.value,l,t,n))||(r[i]=!0),i++;if(!c)return!1}return!0}function PN(l,t){var n=l.length;if(t.length!==n)return!1;for(;n-- >0;)if(l[n]!==t[n])return!1;return!0}var IN="[object Arguments]",MN="[object Boolean]",RN="[object Date]",DN="[object Map]",LN="[object Number]",FN="[object Object]",BN="[object RegExp]",zN="[object Set]",UN="[object String]",HN=Array.isArray,Sx=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,Ex=Object.assign,qN=Object.prototype.toString.call.bind(Object.prototype.toString);function WN(l){var t=l.areArraysEqual,n=l.areDatesEqual,e=l.areMapsEqual,s=l.areObjectsEqual,r=l.arePrimitiveWrappersEqual,o=l.areRegExpsEqual,a=l.areSetsEqual,c=l.areTypedArraysEqual;return function(i,u,d){if(i===u)return!0;if(i==null||u==null||typeof i!="object"||typeof u!="object")return i!=i&&u!=u;var f=i.constructor;if(f!==u.constructor)return!1;if(f===Object)return s(i,u,d);if(HN(i))return t(i,u,d);if(Sx!=null&&Sx(i))return c(i,u,d);if(f===Date)return n(i,u,d);if(f===RegExp)return o(i,u,d);if(f===Map)return e(i,u,d);if(f===Set)return a(i,u,d);var p=qN(i);return p===RN?n(i,u,d):p===BN?o(i,u,d):p===DN?e(i,u,d):p===zN?a(i,u,d):p===FN?typeof i.then!="function"&&typeof u.then!="function"&&s(i,u,d):p===IN?s(i,u,d):(p===MN||p===LN||p===UN)&&r(i,u,d)}}function JN(l){var t=l.circular,n=l.createCustomConfig,e=l.strict,s={areArraysEqual:e?Rd:kN,areDatesEqual:TN,areMapsEqual:e?gx(wx,Rd):wx,areObjectsEqual:e?Rd:AN,arePrimitiveWrappersEqual:ON,areRegExpsEqual:NN,areSetsEqual:e?gx(xx,Rd):xx,areTypedArraysEqual:e?Rd:PN};if(n&&(s=Ex({},s,n(s))),t){var r=Qp(s.areArraysEqual),o=Qp(s.areMapsEqual),a=Qp(s.areObjectsEqual),c=Qp(s.areSetsEqual);s=Ex({},s,{areArraysEqual:r,areMapsEqual:o,areObjectsEqual:a,areSetsEqual:c})}return s}function VN(l){return function(t,n,e,s,r,o,a){return l(t,n,a)}}function KN(l){var t=l.circular,n=l.comparator,e=l.createState,s=l.equals,r=l.strict;if(e)return function(a,c){var i=e(),u=i.cache,d=u===void 0?t?new WeakMap:void 0:u,f=i.meta;return n(a,c,{cache:d,equals:s,meta:f,strict:r})};if(t)return function(a,c){return n(a,c,{cache:new WeakMap,equals:s,meta:void 0,strict:r})};var o={cache:void 0,equals:s,meta:void 0,strict:r};return function(a,c){return n(a,c,o)}}var jy=Ha();Ha({strict:!0}),Ha({circular:!0}),Ha({circular:!0,strict:!0}),Ha({createInternalComparator:function(){return Fc}}),Ha({strict:!0,createInternalComparator:function(){return Fc}}),Ha({circular:!0,createInternalComparator:function(){return Fc}}),Ha({circular:!0,createInternalComparator:function(){return Fc},strict:!0});function Ha(l){l===void 0&&(l={});var t=l.circular,n=t!==void 0&&t,e=l.createInternalComparator,s=l.createState,r=l.strict,o=r!==void 0&&r,a=WN(JN(l));return KN({circular:n,comparator:a,createState:s,equals:e?e(a):VN(a),strict:o})}function Bc(l,t){let n=t;for(const e of l){if(!n)return null;n=n[e]}return n}function Dd(l){const t=l.getParents();let n=[],e=l;for(let s of t){let r=e.getIndexWithinParent();if(n.push(r),n.push("children"),e=s,s.__type==="root"){n.push("root");break}}return n.reverse(),n}function Xp(l){return l&&typeof l=="object"&&!!l.setEditorState}function Cx(l){for(let t in l)if(Xp(l[t]))return t;return""}function jx(l,t){return l.size===0&&t.size===0}function ky(){let{isSameState:l,fromNestedEditor:t=!1,updateTags:n=[]}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(n.length)for(const e of n)pt.default.debug(`[applyUpdateTags] explicit add of tag "${e}" `),(0,Dt.$addUpdateTag)(e);else{if(t)return pt.default.debug(`[applyUpdateTags] add "${as.historic}" tag - change invoked by nested editor`),void(0,Dt.$addUpdateTag)(as.historic);l?(pt.default.debug(`[applyUpdateTags] add "${as.historic}" tag - state is same`),(0,Dt.$addUpdateTag)(as.historic)):(pt.default.debug(`[applyUpdateTags] add "${as.historyMerge}" tag - state is different`),(0,Dt.$addUpdateTag)(as.historyMerge))}}function Ll(l){return l.toJSON()}function kx(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Tx(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?kx(Object(n),!0).forEach(function(e){GN(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):kx(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function GN(l,t,n){return(t=$N(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function $N(l){var t=YN(l,"string");return typeof t=="symbol"?t:t+""}function YN(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}class fn{static equalSelectionsJSON(t,n){return!((t||n)&&(t&&!n||n&&!t||t.anchor.codoxId.toString()!==n.anchor.codoxId.toString()||t.anchor.offset!==n.anchor.offset||t.focus.codoxId.toString()!==n.focus.codoxId.toString()||t.focus.offset!==n.focus.offset))}static getNodeAncestorsList(t){return t.getParents()}static getAllNodeLeaves(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if($P(t))return n.push(t),n;let e=t.getChildren();if(!e.length)return n;for(const s of e)n=fn.getAllNodeLeaves(s,n);return n}static splitCodoxIdPathIntoMainAndNested(t){let n=t.findIndex(s=>s===Dl.editorState),e=n+1;return{mainPath:t.slice(0,n),nestedPath:t.slice(e+1)}}static getCodoxIdAndOffsetFromRootNode(t,n){let e=t.getChildren()[n];return{codoxIdArray:e&&e.codoxId?[e.codoxId]:[],offset:0}}static isNestedSelectionJSON(t){return!!t&&!(!t.anchor.codoxId.includes(Dl.editorState)||!t.focus.codoxId.includes(Dl.editorState))}static lexicalToJSONNested(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],s=fn.lexicalToJSON(t);if(!s)return null;let r=[...e,n,Dl.editorState,Dl.root];return s.anchor.codoxId=[...r,...s.anchor.codoxId],s.focus.codoxId=[...r,...s.focus.codoxId],s}static getNestedSelectionJSONFromMainSelectionJSON(t,n){let e={nestedSelectionJSON:null,nestedEditor:null},{mainPath:s,nestedPath:r}=fn.splitCodoxIdPathIntoMainAndNested(t.anchor.codoxId),{mainPath:o,nestedPath:a}=fn.splitCodoxIdPathIntoMainAndNested(t.focus.codoxId);s.toString()===o.toString()||pt.default.debug("[getNestedSelectionJSONFromMainSelectionJSON]: Nested selection main path part must point to same node in main editor: ",{anchorCodoxIds:t.anchor.codoxId,mainAnchorPath:s,nestedAnchorPath:r,focusCodoxIds:t.focus.codoxId,mainFocusPath:o,nestedFocusPath:a});let c=s,i=c[c.length-1],u=c[c.length-2],d=n.get(u);if(!d){let h=c[c.length-3];if(h){let m=n.get(h);m&&(d=m.getChildren().find(g=>g.codoxDId===u))}}if(!d)return pt.default.debug("[getNestedSelectionJSONFromMainSelectionJSON]: Lexical node with nested editor not found in codox nodes map - selection will be dropped",{jsonSelection:t,targetNodeCodoxId:u}),e;let f=Pd(i),p=d[f];return Xp(p)?(e.nestedSelectionJSON=Tx(Tx({},t),{},{anchor:{codoxId:r,offset:t.anchor.offset},focus:{codoxId:a,offset:t.focus.offset}}),e.nestedEditor=p,e):(pt.default.debug("[getNestedSelectionJSONFromMainSelectionJSON]: Found nested editor is not LexicalEditor instance",{jsonSelection:t,targetLexicalNode:d,targetLexicalNodeAttrName:f,nestedEditorCandidate:p}),e)}static getNodeAncestorsCodoxIds(t){let n=[],e=fn.getNodeAncestorsList(t);if(e.length===1&&e[0].__type==="root")return n.push(t.codoxId),n;for(let s=e.length-2;s>=0;s--){let r=e[s];r.codoxId&&n.push(r.codoxId)}return t.codoxId&&t.getChildren&&n.push(t.codoxId),n}static getParentOffsetOutOfNodeOffset(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(arguments.length>2&&arguments[2]!==void 0&&arguments[2]){if(t.getChildrenSize&&t.getChildrenSize()===0||n===0&&t.codoxId)return n;let o=n,a=!1,c=[];if(t.codoxId)c=t.getChildren(),a=!0;else{const u=t.getParents().find(f=>!!f.codoxId);let d=!1;for(const f of u.getChildren()){if(f.__key===t.__key&&(d=!!n&&(Fd(f)||Ld(f)),!d))break;if(qa(f))c.push(f),o+=f.getTextContentSize();else if(Tr(f))c.push(f),o++;else{let p=fn.getAllNodeLeaves(f),h=p.reduce((m,g)=>(qa(g)?m+=g.getTextContentSize():Tr(g)&&m++,m),0);c.push(...p),o+=h}if(d)break}}let i=0;for(const u of c){if(o<=0)break;let d=0;d=Tr(u)?1:u.getTextContentSize(),i+=d,Tr(u)||a?o--:o-=d}return i}let e=t.getParents().find(o=>!!o.codoxId);if(!e)return n;let s=[];for(const o of e.getChildren())if(qa(o)||Tr(o))s.push(o);else{let a=fn.getAllNodeLeaves(o);s.push(...a)}if(s.length===1&&s[0].__key===t.__key)return n;let r=0;for(const o of s){if(o.__key===t.__key){r+=n;break}let a=0;a=Tr(o)?1:o.getTextContentSize(),r+=a}return r}static lexicalToJSON(t){if(!t)return null;let n=[],e=0,s=[],r=0,o="",a=0,c=!0;if((0,Dt.$isRangeSelection)(t)){let i=(0,Dt.$getNodeByKey)(t.anchor.key);if(Bl(i)){let{codoxIdArray:d,offset:f}=fn.getCodoxIdAndOffsetFromRootNode(i,t.anchor.offset);n=d,e=f}else{if((0,kr.$isTableCellNode)(i)){let p=i.getFirstChild();p&&qc(p)&&(i=p)}n=fn.getNodeAncestorsCodoxIds(i);const d=t.anchor.offset,f=t.anchor.type===za.element;e=fn.getParentOffsetOutOfNodeOffset(i,d,f,"anchor","lexicalToJSON")}let u=(0,Dt.$getNodeByKey)(t.focus.key);if(Bl(u)){let{codoxIdArray:d,offset:f}=fn.getCodoxIdAndOffsetFromRootNode(u,t.focus.offset);s=d,r=f}else{if((0,kr.$isTableCellNode)(u)){let p=u.getFirstChild();p&&qc(p)&&(u=p)}s=fn.getNodeAncestorsCodoxIds(u);const d=t.focus.offset,f=t.focus.type===za.element;r=fn.getParentOffsetOutOfNodeOffset(u,d,f,"focus","lexicalToJSON")}o=t.style,a=t.format,c=t.dirty}else if((0,Dt.$isNodeSelection)(t)){let i=t.getNodes();if(!i.length)return null;let u=i[0],d=i[i.length-1],f=(0,Dt.$createRangeSelection)();f.anchor.set(u.getKey(),0,za.element),f.focus.set(d.getKey(),0,za.element);let p=f.isBackward();n=fn.getNodeAncestorsCodoxIds(u),s=fn.getNodeAncestorsCodoxIds(d);let h=p?1:0,m=p?0:1;e=fn.getParentOffsetOutOfNodeOffset(u,h),r=fn.getParentOffsetOutOfNodeOffset(d,m)}else if((0,kr.$isTableSelection)(t)){e=r=null;let i=(0,Dt.$getNodeByKey)(t.anchor.key),u=(0,Dt.$getNodeByKey)(t.focus.key);n=fn.getNodeAncestorsCodoxIds(i),s=fn.getNodeAncestorsCodoxIds(u)}return{anchor:{codoxId:n,offset:e},focus:{codoxId:s,offset:r},style:o,format:a,dirty:c}}static createTableSelection(t,n){if(!Wc(t)||!Wc(n))return pt.default.warn("[createTableSelection] invalid anchor/focus nodes - must be one of table nodes: ",{anchorNode:t,focusNode:n}),null;let e=(0,kr.$isTableNode)(t)?t:t.getParents().find(r=>(0,kr.$isTableNode)(r)),s=(0,kr.$createTableSelection)();return s.set(e.getKey(),t.getKey(),n.getKey()),s}static createNodeSelection(t,n){if(n||(n=t),!Tr(t)||!Tr(n))return pt.default.warn("[createNodeSelection] invalid anchor/focus - must be decorators: ",{anchorNode:t,focusNode:n}),null;let e=(0,Dt.$createNodeSelection)(),s=t.getNodesBetween(n),r=s.filter(o=>Tr(o));return s.length!==r.length?(pt.default.warn("[createNodeSelection] nodes list contains unexpected nodes: ",{allNodes:s,decoratorNodes:r}),null):(r.forEach(o=>{e.add(o.__key)}),e)}static findClosestParentElementNode(t){if(!t)return null;let n=t.getParent();return n?qc(n)?n:fn.findClosestParentElementNode(n):null}static createRangeSelection(t,n,e,s,r,o){if(!(arguments.length>6&&arguments[6]!==void 0&&arguments[6])){if(!(Lr(t)||qc(t)||(pt.default.warn("[createRangeSelection] anchor node is not text or element node - finding closest parent element node "),t=fn.findClosestParentElementNode(t))))return pt.default.warn("[createRangeSelection] unable to find anchor closest parent element node - dropping to null"),null;if(!(Lr(n)||qc(n)||(pt.default.warn("[createRangeSelection] focus node is not text or element node - finding closest parent element node "),n=fn.findClosestParentElementNode(n))))return pt.default.warn("[createRangeSelection] unable to find focus closest parent element node - dropping to null"),null}let a=(0,Dt.$createRangeSelection)();a.dirty=!1,a.format=r,a.setStyle(o);let c=Lr(t)?za.text:za.element,i=Lr(n)?za.text:za.element;return a.anchor.set(t.getKey(),e,c),a.focus.set(n.getKey(),s,i),a}static getSelectedCandidateFromParentChildren(t,n){let e=arguments.length>2&&arguments[2]!==void 0&&arguments[2],s=null,r=n;if(n===0){const o=t.getFirstChild();s=Lr(o)?o:t}else{let o=t.getChildren(),a=[];for(let i of o)if(qa(i)||Tr(i))a.push(i);else{let u=fn.getAllNodeLeaves(i);a.push(...u)}let c=n;for(let i of a)if(qa(i)||Tr(i)){let u=Tr(i)?1:i.getTextContentSize();if(c<=u){if(Oy(i)){let d=i.getNextSibling();d&&Lr(d)?(s=d,r=0):(s=t,r=i.getPreviousSiblings().length+1);break}Tr(i)&&(e||(c=0)),s=i,r=c;break}c-=u}if(!s){const i=t.getLastChild();Lr(i)?(s=i,r=i.getTextContentSize()):(s=t,r=t.getChildrenSize())}}return{candidate:s,candidateOffset:r}}static getSelectedParentAndOffset(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=t.getParent(),s=t.getPreviousSiblings().length+1;return(Wc(e)||!Tr(t)&&Bl(e))&&(e=t,s=n),{parent:e,parentOffset:s}}static JSONToLexical(t,n){if(!t)return null;let{anchor:{codoxId:e,offset:s},focus:{codoxId:r,offset:o},format:a,style:c}=t,i=!e.length,u=null;if(i)u=(0,Dt.$getRoot)();else{let N=e[e.length-1];u=N?n.get(N):null}let d=!r.length,f=null;if(d)f=(0,Dt.$getRoot)();else{let N=r[r.length-1];f=N?n.get(N):null}if(!u||!f)return pt.default.debug(" [JSONToLexical] anchorNode or focusNode not found in lexical nodes - selection will be dropped to null: ",{anchorParentNode:u,focusParentNode:f,anchorOffset:s,focusOffset:o,selectionJson:t}),null;if(u&&!u.isAttached()||f&&!f.isAttached())return pt.default.debug("[JSONToLexical] anchorNode or focusNode is no longer attached to editor - marked for GC: ",{anchorParentNode:u,focusParentNode:f,isAnchorNodeAttached:u.isAttached(),isFocusParentNodeAttached:f.isAttached()}),null;if(Wc(u)&&Wc(f)&&s===null&&o===null)return fn.createTableSelection(u,f);if(Tr(u)&&Tr(f)&&s!==o)return fn.createNodeSelection(u,f);if(Tr(u)&&Tr(f)&&s===o&&Lx(u)&&Lx(f)){let N=(0,Dt.$getRoot)(),U=N.getChildren(),D=U.findIndex(K=>K.getKey()===u.getKey()),z=U.findIndex(K=>K.getKey()===f.getKey());return fn.createRangeSelection(N,N,D,z,a,c)}let p,h,m,g,b=!!u.getChildrenSize,v=!!f.getChildrenSize,_=b&&u.getChildrenSize()===0,E=v&&f.getChildrenSize()===0;if(_&&E)return fn.createRangeSelection(u,f,s,o,a,c);let S=b&&u.getChildrenSize()>0,w=v&&f.getChildrenSize()>0;if(S){let{candidate:N,candidateOffset:U}=fn.getSelectedCandidateFromParentChildren(u,s);p=N,m=U}else{let{parent:N,parentOffset:U}=fn.getSelectedParentAndOffset(u,s);p=N,m=U}if(w){let{candidate:N,candidateOffset:U}=fn.getSelectedCandidateFromParentChildren(f,o,!0);h=N,g=U}else{let{parent:N,parentOffset:U}=fn.getSelectedParentAndOffset(f,o);h=N,g=U}if(!p||!h)return null;let y=Lr(p),x=Lr(h),C=Tr(p),T=Tr(h),R=u.getKey()===f.getKey(),F=R&&o-s==1,I=R&&o===s&&p.getKey()===h.getKey(),B=s!==o,A=p.getKey()===h.getKey();if(C&&T&&I){let N=p.getNextSibling();if(N&&Lr(N))return fn.createRangeSelection(N,N,0,0,a,c);if(N&&(0,Dt.$isParagraphNode)(N))return fn.createNodeSelection(p,h);let{parent:U,parentOffset:D}=fn.getSelectedParentAndOffset(p);return fn.createRangeSelection(U,U,D,D,a,c)}let j=fn.createRangeSelection(p,h,m,g,a,c,!0),O=j.isBackward(),L=j.getNodes();if(C&&T&&!A){if(F)return fn.createNodeSelection(h);if(L.every(N=>Tr(N)))return fn.createNodeSelection(p,h);{let N,U,D,z,K=p.getNextSibling();if(K&&Lr(K))N=K,D=0;else{let{parent:P,parentOffset:W}=fn.getSelectedParentAndOffset(p);N=P,D=W}let G=h.getNextSibling();if(G&&Lr(G))U=G,z=0;else{let{parent:P,parentOffset:W}=fn.getSelectedParentAndOffset(h);U=P,z=W}return fn.createRangeSelection(N,U,D,z,a,c)}}if(y&&x&&B)if(O){let N=g===h.getTextContentSize(),U=h.getNextSibling();if(N&&U&&Lr(U))return fn.createRangeSelection(p,U,m,0,a,c)}else{let N=m===p.getTextContentSize(),U=p.getNextSibling();if(N&&U&&Lr(U))return fn.createRangeSelection(U,h,0,g,a,c)}if(B&&!C&&T){if(F)return fn.createNodeSelection(h);let[N,...U]=L,D=U.every(K=>Tr(K));if(Lr(N)&&m===N.getTextContentSize()&&D)return fn.createNodeSelection(U[0],h);let z=h.getNextSibling();if(Lr(p)&&p.getTextContentSize()===m&&!O){let K=p.getNextSibling();K&&Lr(K)&&(p=K,m=0)}if(z&&Lr(z))return fn.createRangeSelection(p,z,m,0,a,c);{let{parent:K,parentOffset:G}=fn.getSelectedParentAndOffset(h);return fn.createRangeSelection(p,K,m,G,a,c)}}if(B&&C&&!T){let[N,...U]=L,D=U.every(K=>Tr(K));if(Lr(N)&&g===N.getTextContentSize()&&D)return fn.createNodeSelection(p,U[0]);let z=p.getNextSibling();if(z&&Lr(z))return fn.createRangeSelection(z,h,0,g,a,c);{let{parent:K,parentOffset:G}=fn.getSelectedParentAndOffset(p);return fn.createRangeSelection(K,h,G,g,a,c)}}return fn.createRangeSelection(p,h,m,g,a,c)}}const ZN=["comments"];function Ax(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Ty(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ax(Object(n),!0).forEach(function(e){QN(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Ax(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function QN(l,t,n){return(t=XN(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function XN(l){var t=eP(l,"string");return typeof t=="symbol"?t:t+""}function eP(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}function tP(l,t){if(l==null)return{};var n,e,s=nP(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function nP(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}class rP extends fx{constructor(t){super(),pt.default.debug("[CodoxLexicalEditorManager] constructor invoked for editor key: ",t),this.mainEditor=null,this.currentMainSelectionJSON=null,this.currentNestedSelectionJSON=null,this.localContentStateJSON=null,this._isCodoxStarted=!1,this._undoInvoked=!1,this._redoInvoked=!1,this._canUndo=!1,this._canRedo=!1,this.isEditorUpdateInProgress=!1}setCanUndo(t){this._canUndo=t}setCanRedo(t){this._canRedo=t}canUndo(){return this._canUndo}canRedo(){return this._canRedo}setUndoInvoked(t){this._undoInvoked=t}setRedoInvoked(t){this._redoInvoked=t}undoInvoked(){return this._undoInvoked}redoInvoked(){return this._redoInvoked}setIsCodoxStarted(){let t=arguments.length>0&&arguments[0]!==void 0&&arguments[0];this._isCodoxStarted=t}get isCodoxStarted(){return this._isCodoxStarted}setMainEditor(t){this.mainEditor=t}clearJSONs(){pt.default.debug("[CodoxLexicalEditorManager][clearJSONs] invoked"),this.currentMainSelectionJSON=null,this.currentNestedSelectionJSON=null,this.localContentStateJSON=null}removeMainEditor(){this.mainEditor=null,this._undoInvoked=!1,this._redoInvoked=!1,this._canUndo=!1,this._canRedo=!1,super.clear()}alignSelectionJSONFromLatestEditor(){this.getMainEditorState().read(()=>{this.setMainSelectionJSON(fn.lexicalToJSON((0,Dt.$getSelection)()))})}alignStateSelectionJSONsFromLatestEditor(){this.setLocalContentStateJSON(this.getContentStateJSONFromEditor(),"alignStateSelectionJSONsFromLatestEditor"),this.alignSelectionJSONFromLatestEditor()}getMainEditorState(){return this.mainEditor?this.mainEditor.getEditorState():{toJSON:()=>null}}getMainEditorNodesClassesMap(){return this.mainEditor?this.mainEditor._nodes:new Map}getMainEditorStateNodesMap(){return this.mainEditor?this.mainEditor.getEditorState()._nodeMap:new Map}isMainEditorStateEmptyRoot(){return this.getMainEditorStateNodesMap().size===1}getLexicalNodeByKey(t){return this.mainEditor?this.getMainEditorState()._nodeMap.get(t):null}getContentStateJSONFromEditor(){return Ll(this.getMainEditorState())}setLocalContentStateJSON(t,n){this.localContentStateJSON=t}getLocalContentStateJSON(){return this.localContentStateJSON}setMainSelectionJSON(t){this.currentMainSelectionJSON=t,this.currentMainSelectionJSON&&this.currentNestedSelectionJSON&&(this.currentNestedSelectionJSON=null)}setNestedSelectionJSON(t){this.currentNestedSelectionJSON=t,this.currentNestedSelectionJSON&&this.currentMainSelectionJSON&&(this.currentMainSelectionJSON=null)}getCurrentMainSelectionJSON(){return this.currentMainSelectionJSON}getCurrentNestedSelectionJSON(){return this.currentNestedSelectionJSON}getCurrentActiveSelectionJSON(){return!this.currentMainSelectionJSON&&this.currentNestedSelectionJSON?this.currentNestedSelectionJSON:this.currentMainSelectionJSON}clearSelectionJSON(){this.currentMainSelectionJSON=null,this.currentNestedSelectionJSON=null}extractStateAndCommentsFromSynced(t){let{state:{comments:n},selection:e,stateReplace:s}=t;return{stateFromSync:{state:Ty({},tP(t.state,ZN)),selection:e,stateReplace:s},commentsFromSync:n}}composeFullStateForSync(t){return{state:Ty(Ty({},Ll(this.getMainEditorState())),{},{comments:t.getAllComments()})}}isValidJSONState(t){let n=!1;try{if(!t)throw new Error("State is undefined");if(!t.root)throw new Error("State 'root' node is missing");if(!t.root.children)throw new Error("State 'root' node is missing children");if(!t.root.children.length)throw new Error("State 'root' node has empty children");let e=this.getMainEditorNodesClassesMap(),s=function(r){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",a=r,c=e.get(a.type);if(!c)throw new Error(`Node with type "${a.type}" is not registered in editor`);let{klass:i}=c;if(o==="root"){let u=i.prototype instanceof Dt.ElementNode,d=i.prototype instanceof Dt.DecoratorNode;if(!u&&!d)throw new Error("State root node can have only element nodes as children")}if(a.children)for(let u of a.children)s(u,a.type)};s(t.root),n=!0}catch(e){pt.default.error("[isValidJSONState] invalid state found: ",e.message),n=!1}return n}enableEditorReadOnlyMode(){this.mainEditor&&this.mainEditor.isEditable()&&this.mainEditor.setEditable(!1)}disableEditorReadOnlyMode(){this.mainEditor&&(this.mainEditor.isEditable()||this.mainEditor.setEditable(!0))}isSameContentStateJSON(t){const n=jy(this.getLocalContentStateJSON(),t);return pt.default.debug("[isSameContentStateJSON]: ",{currentState:this.getLocalContentStateJSON(),newState:t,isSame:n}),n}isSameSelectionJSON(t){const n=this.getCurrentActiveSelectionJSON();return fn.equalSelectionsJSON(n,t)}}class oP{constructor(t){pt.default.debug("[CodoxNodesMap] consstructor invoked for editor key: ",t),this._nodesMap=new Map,this._pastedNodesCodoxIds=new Set,this._decoratorsJsonMap=new Map}get size(){return this._nodesMap.size}add(t,n){this._nodesMap.set(t,n)}get(t){return this._nodesMap.get(t)||null}remove(t){this._nodesMap.delete(t)}has(t){return this._nodesMap.has(t)}nodesToArray(){return Array.from(this._nodesMap.values())}keysToArray(){return Array.from(this._nodesMap.keys())}toArray(){return Array.from(this._nodesMap.entries())}addPastedId(t){this._pastedNodesCodoxIds.add(t)}removePastedId(t){this._pastedNodesCodoxIds.delete(t)}hasPastedId(t){return this._pastedNodesCodoxIds.has(t)}clearPastedIds(){this._pastedNodesCodoxIds.size>0&&this._pastedNodesCodoxIds.clear()}isEmptyPastedIds(){return this._pastedNodesCodoxIds.size===0}getPastedIdsSize(){return this._pastedNodesCodoxIds.size}setDecoratorId(t,n){this._decoratorsJsonMap.set(t,n)}removeDecoratorId(t){this._decoratorsJsonMap.delete(t)}getDecoratorById(t){return this._decoratorsJsonMap.get(t)}clearAll(){this._nodesMap.clear(),this._pastedNodesCodoxIds.clear(),this._decoratorsJsonMap.clear()}gcAbandonedNodes(t){if(!t)return;let n=t.getEditorState();if(!n._nodeMap)return;let e=this.nodesToArray();for(let s of e)n._nodeMap.has(s.__key)||this.remove(s.codoxId)}}var iP=An(256),sP=An.n(iP),aP=l=>{var t={};return An.d(t,l),t};const Fl=aP({$getSelectionStyleValueForProperty:()=>cd,$patchStyleText:()=>Em,createDOMRange:()=>a_,createRectsFromDOMRange:()=>l_});class eh{static composeLexicalDOMNodeKeyAttrName(t){return`__lexicalKey_${t._key}`}static extractLexicalKeyFromLexicalDOMNodeKeyAttr(t){return t.split("__lexicalKey_")[1]||""}static extractSelectionUserId(t){return t.meta.author.id}static createRemoteSelectionColors(t){const n={caretColor:t,highlightColor:"",tooltipBGColor:""};if(t.startsWith("rgb")){let e=t,[s]=e.split(")");n.highlightColor=`${s},0.3)`,n.tooltipBGColor=`${s},0.85)`}else if(t.startsWith("#"))n.highlightColor=`${t}${Math.floor(76.5).toString(16).padStart(2,0)}`,n.tooltipBGColor=`${t}${Math.floor(216.75).toString(16).padStart(2,0)}`;else{const[e,s,r]=sP().keyword.rgb(t);n.highlightColor=`rgb(${e},${s}, ${r},0.3)`,n.tooltipBGColor=`rgb(${e},${s}, ${r},0.85)`}return n}static formatRemoteSelectionUsername(t){let n=t;return n=n.trim(),n.length>=17?`${n.substring(0,14)}...`:n}static isMousePositionWithinElementCords(t,n){return t.clientX>=n.x-5&&t.clientX<=n.x+n.width+5&&t.clientY>=n.y-5&&t.clientY<=n.y+n.height+5}static createDOMRange(t,n,e,s,r){return(0,Fl.createDOMRange)(t,n,e,s,r)}static createRectsFromDOMRange(t,n){let{keepFullWidthRects:e=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const s=t.getRootElement();if(s===null)return[];const r=s.getBoundingClientRect(),o=getComputedStyle(s),a=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight),c=Array.from(n.getClientRects());let i=f=>c.splice(f,1),u=new Set;for(let f=0;f<c.length;f++){let p=c[f],h=c[f-1];if(!p||!h)continue;let m=`${(d=p).top}_${d.left}_${d.width}_${d.height}`;if(u.has(m))i(f--);else if(u.add(m),p.top===h.top&&p.height===h.height&&p.left-(h.left+h.width)<5){let g=DOMRect.fromRect({x:h.x,y:h.y,width:h.width+p.width,height:h.height});c[f-1]=g,i(f--)}else p.width+a!==r.width||e?h.top<=p.top&&h.bottom>=p.bottom&&h.left<=p.left&&h.right>=p.right&&i(f--):i(f--)}var d;return c}static getEmptyRootRect(t){let n=t.getRootElement(),e=n.getBoundingClientRect();const s=getComputedStyle(n),r=parseFloat(s.paddingLeft),o=parseFloat(s.paddingTop),a=parseFloat(s.paddingBottom);return[new DOMRect(e.x+r,e.y+o,0,e.height-a-o)]}}Hn(eh,"remoteSelectionClassName","codox_remote_selection"),Hn(eh,"remoteSelectionRect","codox_remote_selection_rect"),Hn(eh,"tooltipAnimations",{hideAtOnce:"codox_hide_tooltip 0s linear 0s forwards",hideWithDelay:"codox_hide_tooltip 0s linear 2s forwards",showAtOnce:"codox_show_tooltip 0s linear 0s forwards",unset:"unset"});const lo=eh;function Ox(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function lP(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ox(Object(n),!0).forEach(function(e){cP(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Ox(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function cP(l,t,n){return(t=uP(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function uP(l){var t=dP(l,"string");return typeof t=="symbol"?t:t+""}function dP(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}class ci{static _logInvalid(t,n,e){for(var s=arguments.length,r=new Array(s>3?s-3:0),o=3;o<s;o++)r[o-3]=arguments[o];pt.default.warn("[JSON SELECTION VALIDATION]: ",lP({selectBelongsTo:t||"not provided",reason:n,jsonSelection:e},r))}static _isObject(t){return typeof t=="object"&&!Array.isArray(t)}static _validateSelectionSide(t){let{type:n,side:e,sideName:s,fullSelection:r,codoxNodesMap:o}=t;if(!ci._isObject(e))return ci._logInvalid(n,`selection.${s} must be object`,r),!1;let a=e.codoxId;if(!Array.isArray(a))return ci._logInvalid(n,`selection.${s}.codoxId must be array`,r),!1;if(a.length){let i=a.findIndex(d=>d===Dl.editorState),u=i!==-1;for(let d=0;d<a.length;d++){if(u){if(d===i||d===i+2)continue;if(d===i+1&&a[d]!=="root")return ci._logInvalid(n,`selection.${s}.codoxId path invalid: nested selection must include "editorState" and "root": [..."editorState", "root"...]`,r,o),!1;continue}let f=a[d];if(!o.has(f))return ci._logInvalid(n,`selection.${s}.codoxId path invalid: node for id ${f} does not exist`,r,o),!1}}let c=e.offset;return typeof c=="number"||c===null?c>=0||c===null||(ci._logInvalid(n,`selection.${s}.offset must be gte 0 or -1`,r),!1):(ci._logInvalid(n,`selection.${s}.offset must be number or null`,r),!1)}static validateJSONSelection(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Md.local,e=arguments.length>2?arguments[2]:void 0;if(t===null)return!0;if(!t)return ci._logInvalid(n,"invalid json selection data type",t),!1;if(!ci._isObject(t))return ci._logInvalid(n,"json selection must be object",t),!1;let{anchor:s,focus:r}=t;return!!ci._validateSelectionSide({type:n,side:s,sideName:"anchor",fullSelection:t,codoxNodesMap:e})&&!!ci._validateSelectionSide({type:n,side:r,sideName:"focus",fullSelection:t,codoxNodesMap:e})}}const th=ci;var fP=An(186),Gs=An.n(fP),pP=An(536),$s=An.n(pP),hP=An(433),Ys=An.n(hP),gP=An(626),Zs=An.n(gP),mP=An(990),Qs=An.n(mP),yP=An(827),Xs=An.n(yP),nh=An(500),zc={};zc.styleTagTransform=Xs(),zc.setAttributes=Zs(),zc.insert=Ys().bind(null,"head"),zc.domAPI=$s(),zc.insertStyleElement=Qs(),Gs()(nh.A,zc),nh.A&&nh.A.locals&&nh.A.locals;class vP{constructor(t){Hn(this,"paintSingleRemoteSelection",t=>{let{editor:n,selectionJSON:e,lexicalSelection:s,selectedNodes:r,isBackward:o}=t;this.activeEditorsKeys[n._key]||(this.activeEditorsKeys[n._key]=n._key);const a=lo.extractSelectionUserId(e),c=lo.formatRemoteSelectionUsername(e.meta.author.name),i=lo.createRemoteSelectionColors(e.meta.color);let u=null,d=null,f=0,p=0;(0,Dt.$isNodeSelection)(s)?(u=r[0],d=r[r.length-1],f=0,p=1):(u=n._editorState._nodeMap.get(s.anchor.key),d=n._editorState._nodeMap.get(s.focus.key),f=s.anchor.offset,p=s.focus.offset);let h=(0,kr.$isTableSelection)(s),m=(0,Dt.$isNodeSelection)(s),g=(0,Dt.$isRangeSelection)(s);for(let S of r)this.trackedNodesKeys.add(`${S.getKey()}__${n._key}`);r.length===1&&Oy(r[0])&&f===p&&p++;let b=null,v=[];if(h&&(0,kr.$isTableCellNode)(u)&&(0,kr.$isTableCellNode)(d)){let S=r.filter(w=>(0,kr.$isTableCellNode)(w));for(let w of S)if(f=(0,kr.$getTableColumnIndexFromTableCellNode)(w),p=(0,kr.$getTableColumnIndexFromTableCellNode)(w)+1,u=w.getParent(),d=w.getParent(),b=lo.createDOMRange(n,u,f,d,p),b){let[y]=lo.createRectsFromDOMRange(n,b);v.push(y)}}else if(m){let S=s.getNodes();for(let w of S)if(b=lo.createDOMRange(n,w,0,w,1),b){let[y]=lo.createRectsFromDOMRange(n,b);v.push(y)}}else g&&(Bl(u)&&Bl(d)&&f===0&&p===0?v=lo.getEmptyRootRect(n):(b=lo.createDOMRange(n,u,f,d,p),b&&(v=lo.createRectsFromDOMRange(n,b,{keepFullWidthRects:!0}))));v=this._filterRemoteSelectionRectsWithinEditor(v);let _=null,E=document.createElement("span");E.classList.add(lo.remoteSelectionClassName),E.setAttribute("codox_remote_user",a),document.body.append(E),this.remoteSelectionDOMsMap[a]=E;for(let S=0;S<v.length;S++){let w=v[S];if(!w)continue;let y=S===0,x=S===v.length-1,C=w.width,T=w.height,R=w.top,F=w.left,I=o&&y||!o&&x,B=document.createElement("span");if(E.append(B),B.classList.add(lo.remoteSelectionRect),B.style.cssText=`
1445
+ /*# sourceMappingURL=data:application/json;base64,`.concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),r.styleTagTransform(a,s,r.options)})(n,t,e)},remove:function(){(function(e){if(e.parentNode===null)return!1;e.parentNode.removeChild(e)})(n)}}}},827:l=>{l.exports=function(t,n){if(n.styleSheet)n.styleSheet.cssText=t;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(t))}}}},Sx={};function An(l){var t=Sx[l];if(t!==void 0)return t.exports;var n=Sx[l]={id:l,exports:{}};return DN[l](n,n.exports,An),n.exports}An.n=l=>{var t=l&&l.__esModule?()=>l.default:()=>l;return An.d(t,{a:t}),t},An.d=(l,t)=>{for(var n in t)An.o(t,n)&&!An.o(l,n)&&Object.defineProperty(l,n,{enumerable:!0,get:t[n]})},An.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),An.o=(l,t)=>Object.prototype.hasOwnProperty.call(l,t),An.r=l=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})},An.nc=void 0;var Ba={};An.d(Ba,{yy:()=>S6,_U:()=>s5,a8:()=>S5,Vs:()=>w5,Cn:()=>Fy,gK:()=>e6,vv:()=>SI});var LN=l=>{var t={};return An.d(t,l),t};const Dt=LN({$addUpdateTag:()=>Dk,$createNodeSelection:()=>op,$createParagraphNode:()=>En,$createRangeSelection:()=>vc,$getEditor:()=>Wk,$getNodeByKey:()=>Dn,$getRoot:()=>Mn,$getSelection:()=>jt,$isDecoratorNode:()=>hr,$isElementNode:()=>Tt,$isLineBreakNode:()=>_s,$isNodeSelection:()=>fr,$isParagraphNode:()=>_r,$isRangeSelection:()=>St,$isTextNode:()=>Jt,$nodesOfType:()=>ab,$setSelection:()=>jr,CAN_REDO_COMMAND:()=>lc,CAN_UNDO_COMMAND:()=>cc,CLEAR_EDITOR_COMMAND:()=>Mf,COMMAND_PRIORITY_CRITICAL:()=>wo,COMMAND_PRIORITY_EDITOR:()=>Tn,CUT_COMMAND:()=>Ku,DecoratorNode:()=>qs,ElementNode:()=>Br,KEY_BACKSPACE_COMMAND:()=>Zi,KEY_DELETE_COMMAND:()=>Qi,KEY_ESCAPE_COMMAND:()=>Fs,LineBreakNode:()=>mc,PASTE_COMMAND:()=>vs,ParagraphNode:()=>Na,REDO_COMMAND:()=>sc,RootNode:()=>_c,TextNode:()=>Zr,UNDO_COMMAND:()=>ic,createCommand:()=>po,createEditor:()=>up});var FN=l=>{var t={};return An.d(t,l),t};const BN=FN({$isLinkNode:()=>ti});var zN=l=>{var t={};return An.d(t,l),t};const Bi=zN({$createMarkNode:()=>Qp,$getMarkIDs:()=>xN,$isMarkNode:()=>Rl,$unwrapMarkNode:()=>_N,$wrapSelectionInMarkNode:()=>wN,MarkNode:()=>Py});var UN=l=>{var t={};return An.d(t,l),t};const kr=UN({$createTableCellNode:()=>Si,$createTableRowNode:()=>kl,$createTableSelection:()=>Ep,$getTableColumnIndexFromTableCellNode:()=>qm,$isTableCellNode:()=>bn,$isTableNode:()=>dr,$isTableRowNode:()=>Dr,$isTableSelection:()=>ur,TableCellNode:()=>is,TableNode:()=>Ss,TableRowNode:()=>jl}),HN=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Ex={randomUUID:HN};let Xp;const qN=new Uint8Array(16);function WN(){if(!Xp&&(Xp=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Xp))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Xp(qN)}const Io=[];for(let l=0;l<256;++l)Io.push((l+256).toString(16).slice(1));function JN(l,t=0){return Io[l[t+0]]+Io[l[t+1]]+Io[l[t+2]]+Io[l[t+3]]+"-"+Io[l[t+4]]+Io[l[t+5]]+"-"+Io[l[t+6]]+Io[l[t+7]]+"-"+Io[l[t+8]]+Io[l[t+9]]+"-"+Io[l[t+10]]+Io[l[t+11]]+Io[l[t+12]]+Io[l[t+13]]+Io[l[t+14]]+Io[l[t+15]]}function VN(l,t,n){if(Ex.randomUUID&&!t&&!l)return Ex.randomUUID();const e=(l=l||{}).random||(l.rng||WN)();if(e[6]=15&e[6]|64,e[8]=63&e[8]|128,t){n=n||0;for(let s=0;s<16;++s)t[n+s]=e[s];return t}return JN(e)}const KN=VN;var pt=An(155);const GN=[l=>l.hasFormat("bold")&&"bold",l=>l.hasFormat("code")&&"code",l=>l.hasFormat("italic")&&"italic",l=>l.hasFormat("strikethrough")&&"strikethrough",l=>l.hasFormat("subscript")&&"subscript",l=>l.hasFormat("superscript")&&"superscript",l=>l.hasFormat("underline")&&"underline",l=>l.hasFormat("highlight")&&"highlight"],Cx={bold:1,code:16,highlight:128,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},$N={center:2,end:6,justify:4,left:1,right:3,start:5};function YN(l){if(!l||!l.length)return 0;let t=l.split(",");if(t=t.map(e=>e.trim()),t.length===1&&!Cx[t[0]])return l;let n=0;for(const e of t){const s=Cx[e];s&&(n^=s)}return n}function ZN(l){return l?GN.map(t=>t(l)).filter(Boolean).join(","):""}function QN(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return l&&$N[l]||0}function Rd(l){return`__${l}`}function Ry(l){return l.split("__")[1]||""}const ls={historic:"historic",historyMerge:"history-merge",historyPush:"history-push"},Dd="codox_comments_change",jx="codox_content_revert",XN={paste:"application/x-lexical-editor",drag:"application/x-lexical-drag",dragBlock:"application/x-lexical-drag-block",plainText:"text/plain"},Ei={created:"created",updated:"updated",destroyed:"destroyed"},za={text:"text",element:"element",whitelist:["text","element"]},xo={mouseover:"mouseover",mouseout:"mouseout",mousemove:"mousemove",keypress:"keypress",keyup:"keyup",resize:"resize",scroll:"scroll"},kx=[xo.mousemove,xo.mouseover,xo.mouseout],eh={text:"text",linebreak:"linebreak",horizontalrule:"horizontalrule"},Ld={local:"local",remote:"remote"},Ll={editorState:"editorState",root:"root"},Ua={BOTH:3,COLUMN:2,NO_STATUS:0,ROW:1},Tx={horizontalrule:["table","image","inline-image","sticky"],"page-break":["image","inline-image","table","sticky"],"collapsible-container":["table","image","inline-image","collapsible-container","sticky"],"layout-container":["table","image","inline-image","layout-container","sticky"],image:["image","inline-image","sticky"],"inline-image":["image","inline-image","sticky"],table:["image","inline-image","table","sticky"],poll:["image","inline-image","sticky"],excalidraw:["image","inline-image","sticky"]},eP="Invalid state - forbidden content nesting found",Ax={local:"local",remote:"remote"},tP={init:"init",syncRCS:"syncRCS",syncRemote:"syncRemote"},Dy={text:"text",paragraph:"paragraph",linebreak:"linebreak",heading:"heading",quote:"quote",table:"table",tablerow:"tablerow",tablecell:"tablecell",list:"list",listitem:"listitem",mark:"mark",link:"link",autolink:"autolink",code:"code","code-highlight":"code-highlight",hashtag:"hashtag",overflow:"overflow",horizontalrule:"horizontalrule","collapsible-container":"collapsible-container","collapsible-title":"collapsible-title","collapsible-content":"collapsible-content","layout-container":"layout-container","layout-item":"layout-item","page-break":"page-break",image:"image","inline-image":"inline-image",poll:"poll",sticky:"sticky",emoji:"emoji",excalidraw:"excalidraw",equation:"equation",keyword:"keyword",tweet:"tweet",figma:"figma",youtube:"youtube",mention:"mention",tab:"tab"},nP=["docId","username","apiKey","domain","hooks","editorInstanceHooks","appServer","demo"];function Ox(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Ly(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ox(Object(n),!0).forEach(function(e){rP(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Ox(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function rP(l,t,n){return(t=oP(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function oP(l){var t=iP(l,"string");return typeof t=="symbol"?t:t+""}function iP(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}function sP(l,t){if(l==null)return{};var n,e,s=aP(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function aP(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}An(155);let Nx;Nx=An(668);class lP{constructor(t){this.codox=null}get instance(){return this.codox}createNewInstance(){this.codox,this.codox=new Nx}conf(t){t.autoStart=!1,this.codox&&this.codox.init(t)}async start(t){if(this.codox)return this.codox,this.codox.start(t)}stop(t){this.codox&&(this.codox.stop(),this.codox=null)}diff(t,n){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(this.codox)return this.codox.diff({state1:t,state2:n,config:e})}sync(){if(this.codox)return this.codox.sync(...arguments)}initSync(t){return this.codox?this.codox.initSync(t):t}createConfig(t){let{docId:n,username:e,apiKey:s,domain:r,hooks:o,editorInstanceHooks:a,appServer:c={},demo:i=!1}=t;return Ly(Ly({},sP(t,nP)),{},{docId:n,username:e,apiKey:s,autoStart:!0,demo:i,domain:r,hooks:o,editorInstance:Ly({type:"lexical"},a),app:"json",json:{keyNames:{default:"codoxId"},filters:{version:!0},appServer:c,semantics:{paths:{"state.root.children.children.text":"MERGE","state.root.children.children.children.text":"MERGE"},string:"MERGE"}}})}}var cP=l=>{var t={};return An.d(t,l),t};const ht=cP({Fragment:()=>ir.Fragment,createContext:()=>ir.createContext,createElement:()=>ir.createElement,forwardRef:()=>ir.forwardRef,useCallback:()=>ir.useCallback,useContext:()=>ir.useContext,useEffect:()=>ir.useEffect,useImperativeHandle:()=>ir.useImperativeHandle,useLayoutEffect:()=>ir.useLayoutEffect,useMemo:()=>ir.useMemo,useRef:()=>ir.useRef,useState:()=>ir.useState});class uP{constructor(){this.subscribers={}}on(t,n){t&&n&&(this.subscribers[t]||(this.subscribers[t]=[]),this.subscribers[t].push(n))}emit(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.subscribers[t]&&this.subscribers[t].length)for(const e of this.subscribers[t])typeof e=="function"&&e(n)}clear(){this.subscribers={}}}const Px=uP;function Ix(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Mx(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ix(Object(n),!0).forEach(function(e){dP(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Ix(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function dP(l,t,n){return(t=fP(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function fP(l){var t=pP(l,"string");return typeof t=="symbol"?t:t+""}function pP(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}const Fy=(0,Dt.createCommand)("INSERT_COMMENT");class hP extends Px{constructor(t){super(),pt.default.debug("[CodoxComments] constructor invoked for editor key: ",t),this.initialCommentThreads=[],this.commentThreads=[],this.dataTypes={comment:"comment",thread:"thread"},this.ID_PREFIX="codox",this.relatedNodeKeys={},this.activeThreadIds={},this._uiRefreshTriggered=!1}_triggerUIRefresh(){this._uiRefreshTriggered||(this._uiRefreshTriggered=!0,Promise.resolve().then(()=>{this.emit("comments_change"),this._uiRefreshTriggered=!1}))}_copyThreads(t){return[...t]}getActiveCommentThreads(){return this.commentThreads.filter(t=>!!this.activeThreadIds[t.codoxId])}_setCommentThreads(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.commentThreads=[...t],this._triggerUIRefresh()}clear(){this.resetComments(),super.clear()}gcInternalStates(){this.relatedNodeKeys={},this.activeThreadIds={}}resetComments(){this.gcInternalStates(),this._setCommentThreads([])}getAllComments(){return this.commentThreads}setAllComments(t){Array.isArray(t)?(pt.default.debug("[CodoxComments][setAllComments]: ",t),this._setCommentThreads(t)):pt.default.warn("[setAllComments]: incomming comments are not array: ",{newCommentThreads:t})}addRelatedNodeKey(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],e=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(!Array.isArray(n)||!n.length)return;let s=n.filter(r=>typeof r=="string"&&r.startsWith(this.ID_PREFIX));if(s.length){if(e)for(let r of s)this.activeThreadIds[r]?this.activeThreadIds[r].add(t):this.activeThreadIds[r]=new Set([t]);else if(this.relatedNodeKeys[t]){let r=[...this.relatedNodeKeys[t]],o=s,a=o.length>r.length,c=r.length>o.length;a?o.filter(i=>!r.includes(i)).forEach(i=>{this.activeThreadIds[i].add(t)}):c&&r.filter(i=>!o.includes(i)).forEach(i=>{this.activeThreadIds[i].size>1?this.activeThreadIds[i].delete(t):delete this.activeThreadIds[i]})}this.relatedNodeKeys[t]=s,this._triggerUIRefresh()}}removeRelatedNodeKey(t){if(this.relatedNodeKeys[t]){let n=this.relatedNodeKeys[t];pt.default.debug("[CodoxComments][removeRelatedNodeKey]: ",{nodeKey:t,threadIds:n,activeThreads:this.activeThreadIds}),n.forEach(e=>{this.activeThreadIds[e]&&(this.activeThreadIds[e].size>1?this.activeThreadIds[e].delete(t):delete this.activeThreadIds[e])}),delete this.relatedNodeKeys[t],this._triggerUIRefresh()}}createCommentId(){return`${this.ID_PREFIX}-${sh()}`}createNewCommentObj(t){let{content:n,author:e,codoxId:s,timeStamp:r}=t;return{author:e,content:n,codoxId:s||this.createCommentId(),timeStamp:r,type:this.dataTypes.comment}}createNewThreadObj(t){let{quote:n,comments:e,codoxId:s}=t;return{comments:e,codoxId:s||this.createCommentId(),quote:n,type:this.dataTypes.thread}}addCommentThread(t){let n=[...this.commentThreads,t];this._setCommentThreads(n)}addComment(t,n){let e=this.commentThreads.map(s=>{if(s.codoxId===t){let r=Mx({},s);return r.comments=[...r.comments,n],r}return s});this._setCommentThreads(e)}removeCommentThread(t){}removeComment(t,n){pt.default.debug("[CodoxComments][removeCommentFromPlugin]: ",{commentId:n,threadId:t});let e=this.commentThreads.map(s=>{if(s.codoxId===t){let r=Mx({},s);return r.comments=r.comments.filter(o=>o.codoxId!==n),r}return s});this._setCommentThreads(e)}gcAbandonedNodeKeys(t){let n=Object.keys(this.relatedNodeKeys);for(let e of n)t.has(e)||this.removeRelatedNodeKey(e)}refreshComments(){this._triggerUIRefresh()}setInitialComments(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];Array.isArray(t)&&(pt.default.debug("[CodoxComments][setInitialComments]: ",[...t]),this.initialCommentThreads=[...t])}activateInitialComments(t){this.setAllComments(this.initialCommentThreads),t.getEditorState().read(()=>{let n=(0,Dt.$nodesOfType)(Bi.MarkNode);for(let e of n)this.addRelatedNodeKey(e.__key,e.__ids,!0)}),this.initialCommentThreads=[]}initialCommentsExist(){return!!this.initialCommentThreads.length}}function gP(l){let t=Un.getCodoxComments(l),n=t.getActiveCommentThreads.bind(t);const[e,s]=(0,ht.useState)(n());return(0,ht.useEffect)(()=>{t.on("comments_change",()=>{let r=n();pt.default.debug("[CodoxComments UI][useCodoxComments]: ",r),s(r)})},[]),e}var mP=Object.getOwnPropertyNames,yP=Object.getOwnPropertySymbols,vP=Object.prototype.hasOwnProperty;function Rx(l,t){return function(n,e,s){return l(n,e,s)&&t(n,e,s)}}function th(l){return function(t,n,e){if(!t||!n||typeof t!="object"||typeof n!="object")return l(t,n,e);var s=e.cache,r=s.get(t),o=s.get(n);if(r&&o)return r===n&&o===t;s.set(t,n),s.set(n,t);var a=l(t,n,e);return s.delete(t),s.delete(n),a}}function Dx(l){return mP(l).concat(yP(l))}var Lx=Object.hasOwn||function(l,t){return vP.call(l,t)};function zc(l,t){return l||t?l===t:l===t||l!=l&&t!=t}var Fx="_owner",Bx=Object.getOwnPropertyDescriptor,zx=Object.keys;function bP(l,t,n){var e=l.length;if(t.length!==e)return!1;for(;e-- >0;)if(!n.equals(l[e],t[e],e,e,l,t,n))return!1;return!0}function _P(l,t){return zc(l.getTime(),t.getTime())}function Ux(l,t,n){if(l.size!==t.size)return!1;for(var e,s,r={},o=l.entries(),a=0;(e=o.next())&&!e.done;){for(var c=t.entries(),i=!1,u=0;(s=c.next())&&!s.done;){var d=e.value,f=d[0],p=d[1],h=s.value,m=h[0],g=h[1];i||r[u]||!(i=n.equals(f,m,a,u,l,t,n)&&n.equals(p,g,f,m,l,t,n))||(r[u]=!0),u++}if(!i)return!1;a++}return!0}function wP(l,t,n){var e,s=zx(l),r=s.length;if(zx(t).length!==r)return!1;for(;r-- >0;)if((e=s[r])===Fx&&(l.$$typeof||t.$$typeof)&&l.$$typeof!==t.$$typeof||!Lx(t,e)||!n.equals(l[e],t[e],e,e,l,t,n))return!1;return!0}function Fd(l,t,n){var e,s,r,o=Dx(l),a=o.length;if(Dx(t).length!==a)return!1;for(;a-- >0;)if((e=o[a])===Fx&&(l.$$typeof||t.$$typeof)&&l.$$typeof!==t.$$typeof||!Lx(t,e)||!n.equals(l[e],t[e],e,e,l,t,n)||(s=Bx(l,e),r=Bx(t,e),(s||r)&&(!s||!r||s.configurable!==r.configurable||s.enumerable!==r.enumerable||s.writable!==r.writable)))return!1;return!0}function xP(l,t){return zc(l.valueOf(),t.valueOf())}function SP(l,t){return l.source===t.source&&l.flags===t.flags}function Hx(l,t,n){if(l.size!==t.size)return!1;for(var e,s,r={},o=l.values();(e=o.next())&&!e.done;){for(var a=t.values(),c=!1,i=0;(s=a.next())&&!s.done;)c||r[i]||!(c=n.equals(e.value,s.value,e.value,s.value,l,t,n))||(r[i]=!0),i++;if(!c)return!1}return!0}function EP(l,t){var n=l.length;if(t.length!==n)return!1;for(;n-- >0;)if(l[n]!==t[n])return!1;return!0}var CP="[object Arguments]",jP="[object Boolean]",kP="[object Date]",TP="[object Map]",AP="[object Number]",OP="[object Object]",NP="[object RegExp]",PP="[object Set]",IP="[object String]",MP=Array.isArray,qx=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,Wx=Object.assign,RP=Object.prototype.toString.call.bind(Object.prototype.toString);function DP(l){var t=l.areArraysEqual,n=l.areDatesEqual,e=l.areMapsEqual,s=l.areObjectsEqual,r=l.arePrimitiveWrappersEqual,o=l.areRegExpsEqual,a=l.areSetsEqual,c=l.areTypedArraysEqual;return function(i,u,d){if(i===u)return!0;if(i==null||u==null||typeof i!="object"||typeof u!="object")return i!=i&&u!=u;var f=i.constructor;if(f!==u.constructor)return!1;if(f===Object)return s(i,u,d);if(MP(i))return t(i,u,d);if(qx!=null&&qx(i))return c(i,u,d);if(f===Date)return n(i,u,d);if(f===RegExp)return o(i,u,d);if(f===Map)return e(i,u,d);if(f===Set)return a(i,u,d);var p=RP(i);return p===kP?n(i,u,d):p===NP?o(i,u,d):p===TP?e(i,u,d):p===PP?a(i,u,d):p===OP?typeof i.then!="function"&&typeof u.then!="function"&&s(i,u,d):p===CP?s(i,u,d):(p===jP||p===AP||p===IP)&&r(i,u,d)}}function LP(l){var t=l.circular,n=l.createCustomConfig,e=l.strict,s={areArraysEqual:e?Fd:bP,areDatesEqual:_P,areMapsEqual:e?Rx(Ux,Fd):Ux,areObjectsEqual:e?Fd:wP,arePrimitiveWrappersEqual:xP,areRegExpsEqual:SP,areSetsEqual:e?Rx(Hx,Fd):Hx,areTypedArraysEqual:e?Fd:EP};if(n&&(s=Wx({},s,n(s))),t){var r=th(s.areArraysEqual),o=th(s.areMapsEqual),a=th(s.areObjectsEqual),c=th(s.areSetsEqual);s=Wx({},s,{areArraysEqual:r,areMapsEqual:o,areObjectsEqual:a,areSetsEqual:c})}return s}function FP(l){return function(t,n,e,s,r,o,a){return l(t,n,a)}}function BP(l){var t=l.circular,n=l.comparator,e=l.createState,s=l.equals,r=l.strict;if(e)return function(a,c){var i=e(),u=i.cache,d=u===void 0?t?new WeakMap:void 0:u,f=i.meta;return n(a,c,{cache:d,equals:s,meta:f,strict:r})};if(t)return function(a,c){return n(a,c,{cache:new WeakMap,equals:s,meta:void 0,strict:r})};var o={cache:void 0,equals:s,meta:void 0,strict:r};return function(a,c){return n(a,c,o)}}var By=Ha();Ha({strict:!0}),Ha({circular:!0}),Ha({circular:!0,strict:!0}),Ha({createInternalComparator:function(){return zc}}),Ha({strict:!0,createInternalComparator:function(){return zc}}),Ha({circular:!0,createInternalComparator:function(){return zc}}),Ha({circular:!0,createInternalComparator:function(){return zc},strict:!0});function Ha(l){l===void 0&&(l={});var t=l.circular,n=t!==void 0&&t,e=l.createInternalComparator,s=l.createState,r=l.strict,o=r!==void 0&&r,a=DP(LP(l));return BP({circular:n,comparator:a,createState:s,equals:e?e(a):FP(a),strict:o})}function Uc(l,t){let n=t;for(const e of l){if(!n)return null;n=n[e]}return n}function Bd(l){const t=l.getParents();let n=[],e=l;for(let s of t){let r=e.getIndexWithinParent();if(n.push(r),n.push("children"),e=s,s.__type==="root"){n.push("root");break}}return n.reverse(),n}function nh(l){return l&&typeof l=="object"&&!!l.setEditorState}function Jx(l){for(let t in l)if(nh(l[t]))return t;return""}function Vx(l,t){return l.size===0&&t.size===0}function zy(){let{isSameState:l,fromNestedEditor:t=!1,updateTags:n=[]}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(n.length)for(const e of n)pt.default.debug(`[applyUpdateTags] explicit add of tag "${e}" `),(0,Dt.$addUpdateTag)(e);else{if(t)return pt.default.debug(`[applyUpdateTags] add "${ls.historic}" tag - change invoked by nested editor`),void(0,Dt.$addUpdateTag)(ls.historic);l?(pt.default.debug(`[applyUpdateTags] add "${ls.historic}" tag - state is same`),(0,Dt.$addUpdateTag)(ls.historic)):(pt.default.debug(`[applyUpdateTags] add "${ls.historyMerge}" tag - state is different`),(0,Dt.$addUpdateTag)(ls.historyMerge))}}function Fl(l){return l.toJSON()}function Kx(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Gx(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Kx(Object(n),!0).forEach(function(e){zP(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Kx(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function zP(l,t,n){return(t=UP(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function UP(l){var t=HP(l,"string");return typeof t=="symbol"?t:t+""}function HP(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}class fn{static equalSelectionsJSON(t,n){return!((t||n)&&(t&&!n||n&&!t||t.anchor.codoxId.toString()!==n.anchor.codoxId.toString()||t.anchor.offset!==n.anchor.offset||t.focus.codoxId.toString()!==n.focus.codoxId.toString()||t.focus.offset!==n.focus.offset))}static getNodeAncestorsList(t){return t.getParents()}static getAllNodeLeaves(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(UI(t))return n.push(t),n;let e=t.getChildren();if(!e.length)return n;for(const s of e)n=fn.getAllNodeLeaves(s,n);return n}static splitCodoxIdPathIntoMainAndNested(t){let n=t.findIndex(s=>s===Ll.editorState),e=n+1;return{mainPath:t.slice(0,n),nestedPath:t.slice(e+1)}}static getCodoxIdAndOffsetFromRootNode(t,n){let e=t.getChildren()[n];return{codoxIdArray:e&&e.codoxId?[e.codoxId]:[],offset:0}}static isNestedSelectionJSON(t){return!!t&&!(!t.anchor.codoxId.includes(Ll.editorState)||!t.focus.codoxId.includes(Ll.editorState))}static lexicalToJSONNested(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],s=fn.lexicalToJSON(t);if(!s)return null;let r=[...e,n,Ll.editorState,Ll.root];return s.anchor.codoxId=[...r,...s.anchor.codoxId],s.focus.codoxId=[...r,...s.focus.codoxId],s}static getNestedSelectionJSONFromMainSelectionJSON(t,n){let e={nestedSelectionJSON:null,nestedEditor:null},{mainPath:s,nestedPath:r}=fn.splitCodoxIdPathIntoMainAndNested(t.anchor.codoxId),{mainPath:o,nestedPath:a}=fn.splitCodoxIdPathIntoMainAndNested(t.focus.codoxId);s.toString()===o.toString()||pt.default.debug("[getNestedSelectionJSONFromMainSelectionJSON]: Nested selection main path part must point to same node in main editor: ",{anchorCodoxIds:t.anchor.codoxId,mainAnchorPath:s,nestedAnchorPath:r,focusCodoxIds:t.focus.codoxId,mainFocusPath:o,nestedFocusPath:a});let c=s,i=c[c.length-1],u=c[c.length-2],d=n.get(u);if(!d){let h=c[c.length-3];if(h){let m=n.get(h);m&&(d=m.getChildren().find(g=>g.codoxDId===u))}}if(!d)return pt.default.debug("[getNestedSelectionJSONFromMainSelectionJSON]: Lexical node with nested editor not found in codox nodes map - selection will be dropped",{jsonSelection:t,targetNodeCodoxId:u}),e;let f=Rd(i),p=d[f];return nh(p)?(e.nestedSelectionJSON=Gx(Gx({},t),{},{anchor:{codoxId:r,offset:t.anchor.offset},focus:{codoxId:a,offset:t.focus.offset}}),e.nestedEditor=p,e):(pt.default.debug("[getNestedSelectionJSONFromMainSelectionJSON]: Found nested editor is not LexicalEditor instance",{jsonSelection:t,targetLexicalNode:d,targetLexicalNodeAttrName:f,nestedEditorCandidate:p}),e)}static getNodeAncestorsCodoxIds(t){let n=[],e=fn.getNodeAncestorsList(t);if(e.length===1&&e[0].__type==="root")return n.push(t.codoxId),n;for(let s=e.length-2;s>=0;s--){let r=e[s];r.codoxId&&n.push(r.codoxId)}return t.codoxId&&t.getChildren&&n.push(t.codoxId),n}static getParentOffsetOutOfNodeOffset(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(arguments.length>2&&arguments[2]!==void 0&&arguments[2]){if(t.getChildrenSize&&t.getChildrenSize()===0||n===0&&t.codoxId)return n;let o=n,a=!1,c=[];if(t.codoxId)c=t.getChildren(),a=!0;else{const u=t.getParents().find(f=>!!f.codoxId);let d=!1;for(const f of u.getChildren()){if(f.__key===t.__key&&(d=!!n&&(Ud(f)||zd(f)),!d))break;if(qa(f))c.push(f),o+=f.getTextContentSize();else if(Tr(f))c.push(f),o++;else{let p=fn.getAllNodeLeaves(f),h=p.reduce((m,g)=>(qa(g)?m+=g.getTextContentSize():Tr(g)&&m++,m),0);c.push(...p),o+=h}if(d)break}}let i=0;for(const u of c){if(o<=0)break;let d=0;d=Tr(u)?1:u.getTextContentSize(),i+=d,Tr(u)||a?o--:o-=d}return i}let e=t.getParents().find(o=>!!o.codoxId);if(!e)return n;let s=[];for(const o of e.getChildren())if(qa(o)||Tr(o))s.push(o);else{let a=fn.getAllNodeLeaves(o);s.push(...a)}if(s.length===1&&s[0].__key===t.__key)return n;let r=0;for(const o of s){if(o.__key===t.__key){r+=n;break}let a=0;a=Tr(o)?1:o.getTextContentSize(),r+=a}return r}static lexicalToJSON(t){if(!t)return null;let n=[],e=0,s=[],r=0,o="",a=0,c=!0;if((0,Dt.$isRangeSelection)(t)){let i=(0,Dt.$getNodeByKey)(t.anchor.key);if(zl(i)){let{codoxIdArray:d,offset:f}=fn.getCodoxIdAndOffsetFromRootNode(i,t.anchor.offset);n=d,e=f}else{if((0,kr.$isTableCellNode)(i)){let p=i.getFirstChild();p&&Jc(p)&&(i=p)}n=fn.getNodeAncestorsCodoxIds(i);const d=t.anchor.offset,f=t.anchor.type===za.element;e=fn.getParentOffsetOutOfNodeOffset(i,d,f,"anchor","lexicalToJSON")}let u=(0,Dt.$getNodeByKey)(t.focus.key);if(zl(u)){let{codoxIdArray:d,offset:f}=fn.getCodoxIdAndOffsetFromRootNode(u,t.focus.offset);s=d,r=f}else{if((0,kr.$isTableCellNode)(u)){let p=u.getFirstChild();p&&Jc(p)&&(u=p)}s=fn.getNodeAncestorsCodoxIds(u);const d=t.focus.offset,f=t.focus.type===za.element;r=fn.getParentOffsetOutOfNodeOffset(u,d,f,"focus","lexicalToJSON")}o=t.style,a=t.format,c=t.dirty}else if((0,Dt.$isNodeSelection)(t)){let i=t.getNodes();if(!i.length)return null;let u=i[0],d=i[i.length-1],f=(0,Dt.$createRangeSelection)();f.anchor.set(u.getKey(),0,za.element),f.focus.set(d.getKey(),0,za.element);let p=f.isBackward();n=fn.getNodeAncestorsCodoxIds(u),s=fn.getNodeAncestorsCodoxIds(d);let h=p?1:0,m=p?0:1;e=fn.getParentOffsetOutOfNodeOffset(u,h),r=fn.getParentOffsetOutOfNodeOffset(d,m)}else if((0,kr.$isTableSelection)(t)){e=r=null;let i=(0,Dt.$getNodeByKey)(t.anchor.key),u=(0,Dt.$getNodeByKey)(t.focus.key);n=fn.getNodeAncestorsCodoxIds(i),s=fn.getNodeAncestorsCodoxIds(u)}return{anchor:{codoxId:n,offset:e},focus:{codoxId:s,offset:r},style:o,format:a,dirty:c}}static createTableSelection(t,n){if(!Vc(t)||!Vc(n))return pt.default.warn("[createTableSelection] invalid anchor/focus nodes - must be one of table nodes: ",{anchorNode:t,focusNode:n}),null;let e=(0,kr.$isTableNode)(t)?t:t.getParents().find(r=>(0,kr.$isTableNode)(r)),s=(0,kr.$createTableSelection)();return s.set(e.getKey(),t.getKey(),n.getKey()),s}static createNodeSelection(t,n){if(n||(n=t),!Tr(t)||!Tr(n))return pt.default.warn("[createNodeSelection] invalid anchor/focus - must be decorators: ",{anchorNode:t,focusNode:n}),null;let e=(0,Dt.$createNodeSelection)(),s=t.getNodesBetween(n),r=s.filter(o=>Tr(o));return s.length!==r.length?(pt.default.warn("[createNodeSelection] nodes list contains unexpected nodes: ",{allNodes:s,decoratorNodes:r}),null):(r.forEach(o=>{e.add(o.__key)}),e)}static findClosestParentElementNode(t){if(!t)return null;let n=t.getParent();return n?Jc(n)?n:fn.findClosestParentElementNode(n):null}static createRangeSelection(t,n,e,s,r,o){if(!(arguments.length>6&&arguments[6]!==void 0&&arguments[6])){if(!(Lr(t)||Jc(t)||(pt.default.warn("[createRangeSelection] anchor node is not text or element node - finding closest parent element node "),t=fn.findClosestParentElementNode(t))))return pt.default.warn("[createRangeSelection] unable to find anchor closest parent element node - dropping to null"),null;if(!(Lr(n)||Jc(n)||(pt.default.warn("[createRangeSelection] focus node is not text or element node - finding closest parent element node "),n=fn.findClosestParentElementNode(n))))return pt.default.warn("[createRangeSelection] unable to find focus closest parent element node - dropping to null"),null}let a=(0,Dt.$createRangeSelection)();a.dirty=!1,a.format=r,a.setStyle(o);let c=Lr(t)?za.text:za.element,i=Lr(n)?za.text:za.element;return a.anchor.set(t.getKey(),e,c),a.focus.set(n.getKey(),s,i),a}static getSelectedCandidateFromParentChildren(t,n){let e=arguments.length>2&&arguments[2]!==void 0&&arguments[2],s=null,r=n;if(n===0){const o=t.getFirstChild();s=Lr(o)?o:t}else{let o=t.getChildren(),a=[];for(let i of o)if(qa(i)||Tr(i))a.push(i);else{let u=fn.getAllNodeLeaves(i);a.push(...u)}let c=n;for(let i of a)if(qa(i)||Tr(i)){let u=Tr(i)?1:i.getTextContentSize();if(c<=u){if(qy(i)){let d=i.getNextSibling();d&&Lr(d)?(s=d,r=0):(s=t,r=i.getPreviousSiblings().length+1);break}Tr(i)&&(e||(c=0)),s=i,r=c;break}c-=u}if(!s){const i=t.getLastChild();Lr(i)?(s=i,r=i.getTextContentSize()):(s=t,r=t.getChildrenSize())}}return{candidate:s,candidateOffset:r}}static getSelectedParentAndOffset(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=t.getParent(),s=t.getPreviousSiblings().length+1;return(Vc(e)||!Tr(t)&&zl(e))&&(e=t,s=n),{parent:e,parentOffset:s}}static JSONToLexical(t,n){if(!t)return null;let{anchor:{codoxId:e,offset:s},focus:{codoxId:r,offset:o},format:a,style:c}=t,i=!e.length,u=null;if(i)u=(0,Dt.$getRoot)();else{let N=e[e.length-1];u=N?n.get(N):null}let d=!r.length,f=null;if(d)f=(0,Dt.$getRoot)();else{let N=r[r.length-1];f=N?n.get(N):null}if(!u||!f)return pt.default.debug(" [JSONToLexical] anchorNode or focusNode not found in lexical nodes - selection will be dropped to null: ",{anchorParentNode:u,focusParentNode:f,anchorOffset:s,focusOffset:o,selectionJson:t}),null;if(u&&!u.isAttached()||f&&!f.isAttached())return pt.default.debug("[JSONToLexical] anchorNode or focusNode is no longer attached to editor - marked for GC: ",{anchorParentNode:u,focusParentNode:f,isAnchorNodeAttached:u.isAttached(),isFocusParentNodeAttached:f.isAttached()}),null;if(Vc(u)&&Vc(f)&&s===null&&o===null)return fn.createTableSelection(u,f);if(Tr(u)&&Tr(f)&&s!==o)return fn.createNodeSelection(u,f);if(Tr(u)&&Tr(f)&&s===o&&rS(u)&&rS(f)){let N=(0,Dt.$getRoot)(),U=N.getChildren(),D=U.findIndex(K=>K.getKey()===u.getKey()),z=U.findIndex(K=>K.getKey()===f.getKey());return fn.createRangeSelection(N,N,D,z,a,c)}let p,h,m,g,b=!!u.getChildrenSize,v=!!f.getChildrenSize,_=b&&u.getChildrenSize()===0,E=v&&f.getChildrenSize()===0;if(_&&E)return fn.createRangeSelection(u,f,s,o,a,c);let S=b&&u.getChildrenSize()>0,w=v&&f.getChildrenSize()>0;if(S){let{candidate:N,candidateOffset:U}=fn.getSelectedCandidateFromParentChildren(u,s);p=N,m=U}else{let{parent:N,parentOffset:U}=fn.getSelectedParentAndOffset(u,s);p=N,m=U}if(w){let{candidate:N,candidateOffset:U}=fn.getSelectedCandidateFromParentChildren(f,o,!0);h=N,g=U}else{let{parent:N,parentOffset:U}=fn.getSelectedParentAndOffset(f,o);h=N,g=U}if(!p||!h)return null;let y=Lr(p),x=Lr(h),C=Tr(p),T=Tr(h),R=u.getKey()===f.getKey(),F=R&&o-s==1,I=R&&o===s&&p.getKey()===h.getKey(),B=s!==o,A=p.getKey()===h.getKey();if(C&&T&&I){let N=p.getNextSibling();if(N&&Lr(N))return fn.createRangeSelection(N,N,0,0,a,c);if(N&&(0,Dt.$isParagraphNode)(N))return fn.createNodeSelection(p,h);let{parent:U,parentOffset:D}=fn.getSelectedParentAndOffset(p);return fn.createRangeSelection(U,U,D,D,a,c)}let j=fn.createRangeSelection(p,h,m,g,a,c,!0),O=j.isBackward(),L=j.getNodes();if(C&&T&&!A){if(F)return fn.createNodeSelection(h);if(L.every(N=>Tr(N)))return fn.createNodeSelection(p,h);{let N,U,D,z,K=p.getNextSibling();if(K&&Lr(K))N=K,D=0;else{let{parent:P,parentOffset:W}=fn.getSelectedParentAndOffset(p);N=P,D=W}let G=h.getNextSibling();if(G&&Lr(G))U=G,z=0;else{let{parent:P,parentOffset:W}=fn.getSelectedParentAndOffset(h);U=P,z=W}return fn.createRangeSelection(N,U,D,z,a,c)}}if(y&&x&&B)if(O){let N=g===h.getTextContentSize(),U=h.getNextSibling();if(N&&U&&Lr(U))return fn.createRangeSelection(p,U,m,0,a,c)}else{let N=m===p.getTextContentSize(),U=p.getNextSibling();if(N&&U&&Lr(U))return fn.createRangeSelection(U,h,0,g,a,c)}if(B&&!C&&T){if(F)return fn.createNodeSelection(h);let[N,...U]=L,D=U.every(K=>Tr(K));if(Lr(N)&&m===N.getTextContentSize()&&D)return fn.createNodeSelection(U[0],h);let z=h.getNextSibling();if(Lr(p)&&p.getTextContentSize()===m&&!O){let K=p.getNextSibling();K&&Lr(K)&&(p=K,m=0)}if(z&&Lr(z))return fn.createRangeSelection(p,z,m,0,a,c);{let{parent:K,parentOffset:G}=fn.getSelectedParentAndOffset(h);return fn.createRangeSelection(p,K,m,G,a,c)}}if(B&&C&&!T){let[N,...U]=L,D=U.every(K=>Tr(K));if(Lr(N)&&g===N.getTextContentSize()&&D)return fn.createNodeSelection(p,U[0]);let z=p.getNextSibling();if(z&&Lr(z))return fn.createRangeSelection(z,h,0,g,a,c);{let{parent:K,parentOffset:G}=fn.getSelectedParentAndOffset(p);return fn.createRangeSelection(K,h,G,g,a,c)}}return fn.createRangeSelection(p,h,m,g,a,c)}}const qP=["comments"];function $x(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Uy(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?$x(Object(n),!0).forEach(function(e){WP(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):$x(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function WP(l,t,n){return(t=JP(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function JP(l){var t=VP(l,"string");return typeof t=="symbol"?t:t+""}function VP(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}function KP(l,t){if(l==null)return{};var n,e,s=GP(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function GP(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}class $P extends Px{constructor(t){super(),pt.default.debug("[CodoxLexicalEditorManager] constructor invoked for editor key: ",t),this.mainEditor=null,this.currentMainSelectionJSON=null,this.currentNestedSelectionJSON=null,this.localContentStateJSON=null,this._isCodoxStarted=!1,this._undoInvoked=!1,this._redoInvoked=!1,this._canUndo=!1,this._canRedo=!1,this.isEditorUpdateInProgress=!1}setCanUndo(t){this._canUndo=t}setCanRedo(t){this._canRedo=t}canUndo(){return this._canUndo}canRedo(){return this._canRedo}setUndoInvoked(t){this._undoInvoked=t}setRedoInvoked(t){this._redoInvoked=t}undoInvoked(){return this._undoInvoked}redoInvoked(){return this._redoInvoked}setIsCodoxStarted(){let t=arguments.length>0&&arguments[0]!==void 0&&arguments[0];this._isCodoxStarted=t}get isCodoxStarted(){return this._isCodoxStarted}setMainEditor(t){this.mainEditor=t}clearJSONs(){pt.default.debug("[CodoxLexicalEditorManager][clearJSONs] invoked"),this.currentMainSelectionJSON=null,this.currentNestedSelectionJSON=null,this.localContentStateJSON=null}removeMainEditor(){this.mainEditor=null,this._undoInvoked=!1,this._redoInvoked=!1,this._canUndo=!1,this._canRedo=!1,super.clear()}alignSelectionJSONFromLatestEditor(){this.getMainEditorState().read(()=>{this.setMainSelectionJSON(fn.lexicalToJSON((0,Dt.$getSelection)()))})}alignStateSelectionJSONsFromLatestEditor(){this.setLocalContentStateJSON(this.getContentStateJSONFromEditor(),"alignStateSelectionJSONsFromLatestEditor"),this.alignSelectionJSONFromLatestEditor()}getMainEditorState(){return this.mainEditor?this.mainEditor.getEditorState():{toJSON:()=>null}}getMainEditorNodesClassesMap(){return this.mainEditor?this.mainEditor._nodes:new Map}getMainEditorStateNodesMap(){return this.mainEditor?this.mainEditor.getEditorState()._nodeMap:new Map}isMainEditorStateEmptyRoot(){return this.getMainEditorStateNodesMap().size===1}getLexicalNodeByKey(t){return this.mainEditor?this.getMainEditorState()._nodeMap.get(t):null}getContentStateJSONFromEditor(){return Fl(this.getMainEditorState())}setLocalContentStateJSON(t,n){this.localContentStateJSON=t}getLocalContentStateJSON(){return this.localContentStateJSON}setMainSelectionJSON(t){this.currentMainSelectionJSON=t,this.currentMainSelectionJSON&&this.currentNestedSelectionJSON&&(this.currentNestedSelectionJSON=null)}setNestedSelectionJSON(t){this.currentNestedSelectionJSON=t,this.currentNestedSelectionJSON&&this.currentMainSelectionJSON&&(this.currentMainSelectionJSON=null)}getCurrentMainSelectionJSON(){return this.currentMainSelectionJSON}getCurrentNestedSelectionJSON(){return this.currentNestedSelectionJSON}getCurrentActiveSelectionJSON(){return!this.currentMainSelectionJSON&&this.currentNestedSelectionJSON?this.currentNestedSelectionJSON:this.currentMainSelectionJSON}clearSelectionJSON(){this.currentMainSelectionJSON=null,this.currentNestedSelectionJSON=null}extractStateAndCommentsFromSynced(t){let{state:{comments:n},selection:e,stateReplace:s}=t;return{stateFromSync:{state:Uy({},KP(t.state,qP)),selection:e,stateReplace:s},commentsFromSync:n}}composeFullStateForSync(t){return{state:Uy(Uy({},Fl(this.getMainEditorState())),{},{comments:t.getAllComments()})}}isValidJSONState(t){let n=!1;try{if(!t)throw new Error("State is undefined");if(!t.root)throw new Error("State 'root' node is missing");if(!t.root.children)throw new Error("State 'root' node is missing children");if(!t.root.children.length)throw new Error("State 'root' node has empty children");let e=this.getMainEditorNodesClassesMap(),s=function(r){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",a=r,c=e.get(a.type);if(!c)throw new Error(`Node with type "${a.type}" is not registered in editor`);let{klass:i}=c;if(o==="root"){let u=i.prototype instanceof Dt.ElementNode,d=i.prototype instanceof Dt.DecoratorNode;if(!u&&!d)throw new Error("State root node can have only element nodes as children")}if(a.children)for(let u of a.children)s(u,a.type)};s(t.root),n=!0}catch(e){pt.default.error("[isValidJSONState] invalid state found: ",e.message),n=!1}return n}enableEditorReadOnlyMode(){this.mainEditor&&this.mainEditor.isEditable()&&this.mainEditor.setEditable(!1)}disableEditorReadOnlyMode(){this.mainEditor&&(this.mainEditor.isEditable()||this.mainEditor.setEditable(!0))}isSameContentStateJSON(t){const n=By(this.getLocalContentStateJSON(),t);return pt.default.debug("[isSameContentStateJSON]: ",{currentState:this.getLocalContentStateJSON(),newState:t,isSame:n}),n}isSameSelectionJSON(t){const n=this.getCurrentActiveSelectionJSON();return fn.equalSelectionsJSON(n,t)}}class YP{constructor(t){pt.default.debug("[CodoxNodesMap] consstructor invoked for editor key: ",t),this._nodesMap=new Map,this._pastedNodesCodoxIds=new Set,this._decoratorsJsonMap=new Map}get size(){return this._nodesMap.size}add(t,n){this._nodesMap.set(t,n)}get(t){return this._nodesMap.get(t)||null}remove(t){this._nodesMap.delete(t)}has(t){return this._nodesMap.has(t)}nodesToArray(){return Array.from(this._nodesMap.values())}keysToArray(){return Array.from(this._nodesMap.keys())}toArray(){return Array.from(this._nodesMap.entries())}addPastedId(t){this._pastedNodesCodoxIds.add(t)}removePastedId(t){this._pastedNodesCodoxIds.delete(t)}hasPastedId(t){return this._pastedNodesCodoxIds.has(t)}clearPastedIds(){this._pastedNodesCodoxIds.size>0&&this._pastedNodesCodoxIds.clear()}isEmptyPastedIds(){return this._pastedNodesCodoxIds.size===0}getPastedIdsSize(){return this._pastedNodesCodoxIds.size}setDecoratorId(t,n){this._decoratorsJsonMap.set(t,n)}removeDecoratorId(t){this._decoratorsJsonMap.delete(t)}getDecoratorById(t){return this._decoratorsJsonMap.get(t)}clearAll(){this._nodesMap.clear(),this._pastedNodesCodoxIds.clear(),this._decoratorsJsonMap.clear()}gcAbandonedNodes(t){if(!t)return;let n=t.getEditorState();if(!n._nodeMap)return;let e=this.nodesToArray();for(let s of e)n._nodeMap.has(s.__key)||this.remove(s.codoxId)}}var ZP=An(256),QP=An.n(ZP),XP=l=>{var t={};return An.d(t,l),t};const Bl=XP({$getSelectionStyleValueForProperty:()=>cd,$patchStyleText:()=>Em,createDOMRange:()=>a_,createRectsFromDOMRange:()=>l_});class rh{static composeLexicalDOMNodeKeyAttrName(t){return`__lexicalKey_${t._key}`}static extractLexicalKeyFromLexicalDOMNodeKeyAttr(t){return t.split("__lexicalKey_")[1]||""}static extractSelectionUserId(t){return t.meta.author.id}static createRemoteSelectionColors(t){const n={caretColor:t,highlightColor:"",tooltipBGColor:""};if(t.startsWith("rgb")){let e=t,[s]=e.split(")");n.highlightColor=`${s},0.3)`,n.tooltipBGColor=`${s},0.85)`}else if(t.startsWith("#"))n.highlightColor=`${t}${Math.floor(76.5).toString(16).padStart(2,0)}`,n.tooltipBGColor=`${t}${Math.floor(216.75).toString(16).padStart(2,0)}`;else{const[e,s,r]=QP().keyword.rgb(t);n.highlightColor=`rgb(${e},${s}, ${r},0.3)`,n.tooltipBGColor=`rgb(${e},${s}, ${r},0.85)`}return n}static formatRemoteSelectionUsername(t){let n=t;return n=n.trim(),n.length>=17?`${n.substring(0,14)}...`:n}static isMousePositionWithinElementCords(t,n){return t.clientX>=n.x-5&&t.clientX<=n.x+n.width+5&&t.clientY>=n.y-5&&t.clientY<=n.y+n.height+5}static createDOMRange(t,n,e,s,r){return(0,Bl.createDOMRange)(t,n,e,s,r)}static createRectsFromDOMRange(t,n){let{keepFullWidthRects:e=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const s=t.getRootElement();if(s===null)return[];const r=s.getBoundingClientRect(),o=getComputedStyle(s),a=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight),c=Array.from(n.getClientRects());let i=f=>c.splice(f,1),u=new Set;for(let f=0;f<c.length;f++){let p=c[f],h=c[f-1];if(!p||!h)continue;let m=`${(d=p).top}_${d.left}_${d.width}_${d.height}`;if(u.has(m))i(f--);else if(u.add(m),p.top===h.top&&p.height===h.height&&p.left-(h.left+h.width)<5){let g=DOMRect.fromRect({x:h.x,y:h.y,width:h.width+p.width,height:h.height});c[f-1]=g,i(f--)}else p.width+a!==r.width||e?h.top<=p.top&&h.bottom>=p.bottom&&h.left<=p.left&&h.right>=p.right&&i(f--):i(f--)}var d;return c}static getEmptyRootRect(t){let n=t.getRootElement(),e=n.getBoundingClientRect();const s=getComputedStyle(n),r=parseFloat(s.paddingLeft),o=parseFloat(s.paddingTop),a=parseFloat(s.paddingBottom);return[new DOMRect(e.x+r,e.y+o,0,e.height-a-o)]}}Hn(rh,"remoteSelectionClassName","codox_remote_selection"),Hn(rh,"remoteSelectionRect","codox_remote_selection_rect"),Hn(rh,"tooltipAnimations",{hideAtOnce:"codox_hide_tooltip 0s linear 0s forwards",hideWithDelay:"codox_hide_tooltip 0s linear 2s forwards",showAtOnce:"codox_show_tooltip 0s linear 0s forwards",unset:"unset"});const lo=rh;function Yx(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function eI(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Yx(Object(n),!0).forEach(function(e){tI(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Yx(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function tI(l,t,n){return(t=nI(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function nI(l){var t=rI(l,"string");return typeof t=="symbol"?t:t+""}function rI(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}class ui{static _logInvalid(t,n,e){for(var s=arguments.length,r=new Array(s>3?s-3:0),o=3;o<s;o++)r[o-3]=arguments[o];pt.default.warn("[JSON SELECTION VALIDATION]: ",eI({selectBelongsTo:t||"not provided",reason:n,jsonSelection:e},r))}static _isObject(t){return typeof t=="object"&&!Array.isArray(t)}static _validateSelectionSide(t){let{type:n,side:e,sideName:s,fullSelection:r,codoxNodesMap:o}=t;if(!ui._isObject(e))return ui._logInvalid(n,`selection.${s} must be object`,r),!1;let a=e.codoxId;if(!Array.isArray(a))return ui._logInvalid(n,`selection.${s}.codoxId must be array`,r),!1;if(a.length){let i=a.findIndex(d=>d===Ll.editorState),u=i!==-1;for(let d=0;d<a.length;d++){if(u){if(d===i||d===i+2)continue;if(d===i+1&&a[d]!=="root")return ui._logInvalid(n,`selection.${s}.codoxId path invalid: nested selection must include "editorState" and "root": [..."editorState", "root"...]`,r,o),!1;continue}let f=a[d];if(!o.has(f))return ui._logInvalid(n,`selection.${s}.codoxId path invalid: node for id ${f} does not exist`,r,o),!1}}let c=e.offset;return typeof c=="number"||c===null?c>=0||c===null||(ui._logInvalid(n,`selection.${s}.offset must be gte 0 or -1`,r),!1):(ui._logInvalid(n,`selection.${s}.offset must be number or null`,r),!1)}static validateJSONSelection(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ld.local,e=arguments.length>2?arguments[2]:void 0;if(t===null)return!0;if(!t)return ui._logInvalid(n,"invalid json selection data type",t),!1;if(!ui._isObject(t))return ui._logInvalid(n,"json selection must be object",t),!1;let{anchor:s,focus:r}=t;return!!ui._validateSelectionSide({type:n,side:s,sideName:"anchor",fullSelection:t,codoxNodesMap:e})&&!!ui._validateSelectionSide({type:n,side:r,sideName:"focus",fullSelection:t,codoxNodesMap:e})}}const oh=ui;var oI=An(186),$s=An.n(oI),iI=An(536),Ys=An.n(iI),sI=An(433),Zs=An.n(sI),aI=An(626),Qs=An.n(aI),lI=An(990),Xs=An.n(lI),cI=An(827),ea=An.n(cI),ih=An(500),Hc={};Hc.styleTagTransform=ea(),Hc.setAttributes=Qs(),Hc.insert=Zs().bind(null,"head"),Hc.domAPI=Ys(),Hc.insertStyleElement=Xs(),$s()(ih.A,Hc),ih.A&&ih.A.locals&&ih.A.locals;class uI{constructor(t){Hn(this,"paintSingleRemoteSelection",t=>{let{editor:n,selectionJSON:e,lexicalSelection:s,selectedNodes:r,isBackward:o}=t;this.activeEditorsKeys[n._key]||(this.activeEditorsKeys[n._key]=n._key);const a=lo.extractSelectionUserId(e),c=lo.formatRemoteSelectionUsername(e.meta.author.name),i=lo.createRemoteSelectionColors(e.meta.color);let u=null,d=null,f=0,p=0;(0,Dt.$isNodeSelection)(s)?(u=r[0],d=r[r.length-1],f=0,p=1):(u=n._editorState._nodeMap.get(s.anchor.key),d=n._editorState._nodeMap.get(s.focus.key),f=s.anchor.offset,p=s.focus.offset);let h=(0,kr.$isTableSelection)(s),m=(0,Dt.$isNodeSelection)(s),g=(0,Dt.$isRangeSelection)(s);for(let S of r)this.trackedNodesKeys.add(`${S.getKey()}__${n._key}`);r.length===1&&qy(r[0])&&f===p&&p++;let b=null,v=[];if(h&&(0,kr.$isTableCellNode)(u)&&(0,kr.$isTableCellNode)(d)){let S=r.filter(w=>(0,kr.$isTableCellNode)(w));for(let w of S)if(f=(0,kr.$getTableColumnIndexFromTableCellNode)(w),p=(0,kr.$getTableColumnIndexFromTableCellNode)(w)+1,u=w.getParent(),d=w.getParent(),b=lo.createDOMRange(n,u,f,d,p),b){let[y]=lo.createRectsFromDOMRange(n,b);v.push(y)}}else if(m){let S=s.getNodes();for(let w of S)if(b=lo.createDOMRange(n,w,0,w,1),b){let[y]=lo.createRectsFromDOMRange(n,b);v.push(y)}}else g&&(zl(u)&&zl(d)&&f===0&&p===0?v=lo.getEmptyRootRect(n):(b=lo.createDOMRange(n,u,f,d,p),b&&(v=lo.createRectsFromDOMRange(n,b,{keepFullWidthRects:!0}))));v=this._filterRemoteSelectionRectsWithinEditor(v);let _=null,E=document.createElement("span");E.classList.add(lo.remoteSelectionClassName),E.setAttribute("codox_remote_user",a),document.body.append(E),this.remoteSelectionDOMsMap[a]=E;for(let S=0;S<v.length;S++){let w=v[S];if(!w)continue;let y=S===0,x=S===v.length-1,C=w.width,T=w.height,R=w.top,F=w.left,I=o&&y||!o&&x,B=document.createElement("span");if(E.append(B),B.classList.add(lo.remoteSelectionRect),B.style.cssText=`
1449
1446
  display: block;
1450
1447
  pointer-events: none;
1451
1448
  user-select: none;
@@ -1482,24 +1479,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
1482
1479
  animation: ${this.isEditingInProgress?lo.tooltipAnimations.hideAtOnce:lo.tooltipAnimations.hideWithDelay};
1483
1480
  left: ${o?"0px":"100%"};
1484
1481
  z-index: 10;
1485
- `,B.append(j),_=j}!I&&w.width<1&&r.length>1&&(B.style.width="3px")}v.forEach(S=>{this.hoverList.push([S,_,a])})});pt.default.debug("[CodoxRemoteSelection][constructor] invoked for editor key: ",t),this.remoteSelections=[],this.isEditingInProgress=!1,this.hoverList=[],this.trackedNodesKeys=new Set,this.remoteSelectionDOMsMap={},this.activeEditorsKeys={},this.keyboardBindedListener=this._keyboardEventsListener.bind(this),this.mouseBindedListener=this._mouseEventsListener.bind(this),this.resizeBindedListener=this.hideInUI=!1,this.editorContainerHTMLElement=null}_mouseEventsListener(t){let n=!1,e=t.target,s=!1,r=3;for(;r&&e;){if(e.__codox_track){n=!0;break}if(e.__lexicalEditor){n=!0,s=!0;break}e=e.parentNode,r--}if(!n)return;let o=null;for(let i in this.activeEditorsKeys){if(e[`__lexicalKey_${i}`]){o=i;break}e.__lexicalEditor&&(o=e.__lexicalEditor._key)}if(!o)return;let a=s?"root":e[`__lexicalKey_${o}`];if(!a||!this.trackedNodesKeys.has(`${a}__${o}`))return;let c=new Set;for(let i=0;i<this.hoverList.length;i++){let u=this.hoverList[i],[d,f,p]=u;if(c.has(p))continue;let h=lo.isMousePositionWithinElementCords(t,d);t.type===xo.mouseover&&h&&(f.style.animation=this.isEditingInProgress?lo.tooltipAnimations.hideAtOnce:lo.tooltipAnimations.showAtOnce,c.add(p)),t.type===xo.mouseout&&(f.style.animation=lo.tooltipAnimations.hideWithDelay,c.add(p)),t.type===xo.mousemove&&h&&(f.style.animation=this.isEditingInProgress?lo.tooltipAnimations.hideAtOnce:lo.tooltipAnimations.showAtOnce,c.add(p))}}_keyboardEventsListener(t){t.type===xo.keypress&&(this.isEditingInProgress||(this.isEditingInProgress=!0)),t.type===xo.keyup&&this.isEditingInProgress&&(this.isEditingInProgress=!1)}_createResizeEventListener(t){return function(n){t&&this.paintRemoteSelections(this.remoteSelections,t)}}_filterRemoteSelectionRectsWithinEditor(t){if(!this.editorContainerHTMLElement)return t;const n=this.editorContainerHTMLElement.getBoundingClientRect();return t.filter(e=>!(e.top<n.top||e.bottom>n.bottom))}mount(t){this.resizeBindedListener=this._createResizeEventListener(t).bind(this),window.addEventListener(xo.keypress,this.keyboardBindedListener),window.addEventListener(xo.keyup,this.keyboardBindedListener),window.addEventListener(xo.resize,this.resizeBindedListener),window.addEventListener(xo.scroll,this.resizeBindedListener);for(const n of ax)window.addEventListener(n,this.mouseBindedListener);try{let n=t.getRootElement();n&&(this.editorContainerHTMLElement=n,this.editorContainerHTMLElement.addEventListener(xo.scroll,this.resizeBindedListener))}catch(n){pt.default.warn('[codoxRemoteSelections][mount] failed add scroll listener to ".editor-container" div: ',n)}}unmount(){window.removeEventListener(xo.keypress,this.keyboardBindedListener),window.removeEventListener(xo.keyup,this.keyboardBindedListener),window.removeEventListener(xo.resize,this.resizeBindedListener),window.removeEventListener(xo.scroll,this.resizeBindedListener);for(const t of ax)window.removeEventListener(t,this.mouseBindedListener);try{this.editorContainerHTMLElement&&(this.editorContainerHTMLElement.removeEventListener(xo.scroll,this.resizeBindedListener),this.editorContainerHTMLElement=null)}catch(t){pt.default.warn('[codoxRemoteSelections][unmount] failed remove scroll listener to ".editor-container" div: ',t)}this.gcPrevPaintedRemoteSelections()}shouldUpdateRemoteSelections(){return!0}gcPrevPaintedRemoteSelections(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];for(let n in this.remoteSelectionDOMsMap)this.remoteSelectionDOMsMap[n].remove();this.hoverList=[],this.trackedNodesKeys=new Set,this.remoteSelections=t||[],this.remoteSelectionDOMsMap={},this.activeEditorsKeys={}}paintRemoteSelections(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0;this.gcPrevPaintedRemoteSelections(t);let e=n.getEditorState(),s=Un.getCodoxNodesMap(n.getKey());e.read&&e.read(()=>{for(let r of this.remoteSelections)if(th.validateJSONSelection(r,Md.remote,s))if(fn.isNestedSelectionJSON(r)){let{nestedSelectionJSON:o,nestedEditor:a}=fn.getNestedSelectionJSONFromMainSelectionJSON(r,s);if(!a)continue;a.getEditorState().read(()=>{let c=Un.getCodoxNodesMap(a.getKey()),i=fn.JSONToLexical(o,c);if(i)try{this.paintSingleRemoteSelection({editor:a,selectionJSON:r,lexicalSelection:i,selectedNodes:i.getNodes(),isBackward:i.isBackward()})}catch(u){pt.default.warn("[PAINT REMOTE SELECTION] failed for nested editor - ",{error:u,nestedSelectionJSON:o,fullSelection:r,lexicalSelection:i})}else pt.default.error("DEBUGGER: [paintRemoteSelections] nested selection from json to lexical is null: ",{selection:r,nestedSelectionJSON:o,lexicalSelection:i})})}else{let o=fn.JSONToLexical(r,s);if(!o){pt.default.error("DEBUGGER: [paintRemoteSelections] selection from json to lexical is null: ",{selection:r,lexicalSelection:o});continue}try{this.paintSingleRemoteSelection({editor:n,selectionJSON:r,lexicalSelection:o,selectedNodes:o.getNodes(),isBackward:o.isBackward()})}catch(a){pt.default.warn("[PAINT REMOTE SELECTION] failed - ",{error:a,fullSelection:r,lexicalSelection:o})}}})}updateRemoteSelections(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",e=arguments.length>2?arguments[2]:void 0;this.shouldUpdateRemoteSelections(t)&&(pt.default.debug(`[updateRemoteSelections] caller: [${n}] editor key: `,e.getKey(),{newRemoteSelections:t}),Promise.resolve().then(()=>{this.paintRemoteSelections(t,e),this.hideInUI&&this.hideRemoteSelectionsFromUI()}))}clear(){this.gcPrevPaintedRemoteSelections()}getCurrentRemoteSelections(){return this.remoteSelections}hideRemoteSelectionsFromUI(){this.hideInUI||(this.hideInUI=!0);const t=document.querySelectorAll(".codox_remote_selection");for(let n of t)n.classList.add("hidden_codox_remote_selection")}showHiddenRemoteSelectionsInUI(){this.hideInUI=!1;const t=document.querySelectorAll(".hidden_codox_remote_selection");for(let n of t)n.classList.remove("hidden_codox_remote_selection")}}class Nx{constructor(){this.blacklist=Object.keys(lx).reduce((t,n)=>{let e=lx[n];return t[n]=e.reduce((s,r)=>(s[r]=r,s),{}),t},{}),this._isBlacklistedFound=!1,this._blacklistCallback=null}_shouldSkipNode(t){return t instanceof Dt.TextNode||t instanceof Dt.ParagraphNode||t instanceof Dt.RootNode}setBlacklistCallback(t){this._blacklistCallback=t}removeBlacklistCallback(){this._blacklistCallback=null}invokeBlacklistCallback(){this._blacklistCallback&&this._blacklistCallback()}trackBlacklisted(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",e=arguments.length>2?arguments[2]:void 0;if(n!==Ei.created||this._isBlacklistedFound||!t||!t.__type||this._shouldSkipNode(t))return;let s=t.__type,r=this.blacklist[s];r&&e.read(()=>{let o=t.getParent();for(;o!==null;){let a=o?o.__type:null;if(!a)return;if(r[a])return pt.default.debug("[ContentNestingsWatcher][trackBlacklisted] BLACKLISTED COMBINATION FOUND. nodes:",{targetNode:t,targetType:s,parent:o,parentType:a,mutationType:n}),void(this._isBlacklistedFound=!0);o=o.getParent()}})}trackBlacklistedInNestedEditor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",e=arguments.length>3?arguments[3]:void 0;if(n!==Ei.created||this._isBlacklistedFound||this._shouldSkipNode(t))return;let s=e.__type,r=t.__type;if(!s||!r)return;let o=this.blacklist[r];o&&o[s]&&(this._isBlacklistedFound=!0,pt.default.warn("[ContentNestingsWatcher][trackBlacklistedInNestedEditor] FOUND: ",{targetNode:t,targetType:r,rootNode:e,rootType:s,mutationType:n}))}isBlacklistedFound(){let t=this._isBlacklistedFound;return t&&(this._isBlacklistedFound=!1),t}}var bP=l=>{var t={};return An.d(t,l),t};const Uc=bP({mergeRegister:()=>wr,registerNestedElementResolver:()=>b_}),_P=["editorState","prevEditorState","dirtyElements","dirtyLeaves"];function wP(l,t){if(l==null)return{};var n,e,s=xP(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function xP(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}class SP{constructor(t){pt.default.debug("[NestedEditorsProcessor] constructor invoked for editor key: ",t),this.nestedEditorsListenersMap={}}_getListenersMap(){return this.nestedEditorsListenersMap}_createNestedEditorUpdatesListener(t,n,e){let s=!1;return function(r){let{editorState:o,prevEditorState:a,dirtyElements:c,dirtyLeaves:i}=r,u=(wP(r,_P),e.getEditorState()),d=Un.getCodoxLexicalEditorManager(e.getKey());if(!d.isCodoxStarted||!u._nodeMap.get(t.__key))return;let f=Ll(o),p=Ll(a),h=jy(f,p),m=o._selection,g=(a._selection,!1),b=null,v=(jx(c,i),t[n]),_=Un.getContentNestingsWatcher(e.getKey());if(_.isBlacklistedFound())return s=!0,pt.default.debug("[NESTED EDITOR LISTENER] BLACKLISTED FOUND - revert to prev state"),Cx(t)?(v.update(()=>{try{const E=v.parseEditorState(p);if(E.isEmpty())return(0,Dt.$getRoot)().clear(),!0;v.setEditorState(E)}catch(E){pt.default.error("[NESTED EDITOR LISTENER] BLACKLISTED FOUND - ROLLBACK ERROR: ",E)}}),void _.invokeBlacklistCallback()):void 0;if(s)s=!1;else{if(t.codoxId||t.codoxDId){let E=null;u.read(()=>{E=fn.getNodeAncestorsCodoxIds(t),!t.codoxId&&t.codoxDId&&E.push(t.codoxDId)}),o.read(()=>{let S=xy(n),w=fn.lexicalToJSONNested(m,S,E);b=d.getCurrentNestedSelectionJSON(),g=fn.equalSelectionsJSON(b,w),g||d.setNestedSelectionJSON(w)})}h&&g||setTimeout(()=>e.update(()=>{try{ky({fromNestedEditor:!0}),t.markDirty()}catch(E){pt.default.error("[NESTED EDITOR LISTENER] MARKING DIRTY TO TRIGGER UPDATE - ERROR: ",E)}}))}}}_isNestedEditorManaged(t){return!!this.nestedEditorsListenersMap[t]}gc(t){pt.default.debug("[nestedEditorsProcessor]: GC");for(let n in this.nestedEditorsListenersMap)if(!t.getEditorState()._nodeMap.get(n)){let e=this.nestedEditorsListenersMap[n];e&&e(),delete this.nestedEditorsListenersMap[n]}}manageNestedEditorInLexicalNode(t){let n=arguments.length>2?arguments[2]:void 0;if(this._isNestedEditorManaged(t.getKey()))return;let e=Cx(t);if(e){let s=t[e],r=this._createNestedEditorUpdatesListener(t,e,n);pt.default.debug("[NESTED EDITOR][registerMutationListener] : ",{nestedEditor:s,nestedEditorNodeClasses:s._nodes});let o=[],a=Un.getContentNestingsWatcher(n.getKey());s._nodes.forEach((u,d,f)=>{let{klass:p}=u,h=s.registerMutationListener(p,m=>{for(let[g,b]of m)if(b===Ei.created){let v=s.getEditorState()._nodeMap.get(g);v&&a.trackBlacklistedInNestedEditor(v,b,s.getEditorState(),t)}});o.push(h)});let c=(0,Uc.mergeRegister)(s.registerUpdateListener(r),...o),i=t.getKey();this.nestedEditorsListenersMap[i]=c}}gcNestedEditorListenerInLexicalNode(t){let n=t.getKey(),e=this.nestedEditorsListenersMap[n];e&&(e(),pt.default.debug("delete this.nestedEditorsListenersMap[nodeKey]: ",n),delete this.nestedEditorsListenersMap[n])}manageNestedEditorInClonedLexicalNode(t,n,e){let s=t.getKey();s!==n.getKey()&&this._isNestedEditorManaged(s)&&(this.gcNestedEditorListenerInLexicalNode(t),this.manageNestedEditorInLexicalNode(n,"",e))}setNestedEditorSelection(t,n){let{nestedSelectionJSON:e,nestedEditor:s}=fn.getNestedSelectionJSONFromMainSelectionJSON(t,n);if(!s)return!1;let r=!0;return s.update(()=>{try{const o=Un.getCodoxNodesMap(s.getKey());let a=fn.JSONToLexical(e,o);(0,Dt.$setSelection)(a),pt.default.debug("[setNestedEditorSelection]: lexical nested selection: ",a)}catch(o){pt.default.error("[setNestedEditorSelection] set nested selection error: ",o),r=!1}}),r}clearListeners(){pt.default.debug("[nestedEditorsProcessor]: clear listeners");for(let t in this.nestedEditorsListenersMap){let n=this.nestedEditorsListenersMap[t];n&&n(),pt.default.debug("delete this.nestedEditorsListenersMap[nodeKey]: ",t),delete this.nestedEditorsListenersMap[t]}}}const EP=["codox_metadata"];function CP(l,t){if(l==null)return{};var n,e,s=jP(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function jP(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}function Px(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Ay(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Px(Object(n),!0).forEach(function(e){kP(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Px(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function kP(l,t,n){return(t=TP(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function TP(l){var t=AP(l,"string");return typeof t=="symbol"?t:t+""}function AP(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}class OP{constructor(t){pt.default.debug("[CustomNodesConverter][constructor] invoked for editor key: ",t),this.nodesToTransform={}}_maintainCodoxIdsForConvertedNode(t,n){t.codoxId&&(n.codoxId=t.codoxId),t.codoxDId&&(n.codoxDId=t.codoxDId)}_validateLexicalNodeHasToCodoxNodeApi(t){if(!t.toCodoxNode)throw new Error(`Custom node "${t.__type}" invalid implementation: instance conversion api ".toCodoxNode()" is missing`)}_validateCustomNodeClassHasFromCodoxNodeApi(t){if(!t.fromCodoxNode)throw new Error(`Custom node class ${t} invalid implementation: class static conversion api ".fromCodoxNode()" is missing`)}untrackCustomNodeForConvert(t,n){this.nodesToTransform[t]&&delete this.nodesToTransform[t]}trackCustomNodeForConvert(t,n){if(Sy[t.__type])return;if(t.__type==="beautifulMention"){const s=Dd(t);return this.nodesToTransform[t.__key]={lexicalNode:t,path:s},void pt.default.debug("[customNodesConverter][saveNodeForTransform] node saved: ",{lexicalNode:t,path:s})}this._validateLexicalNodeHasToCodoxNodeApi(t);const e=Dd(t);this.nodesToTransform[t.__key]={lexicalNode:t,path:e}}convertCustomNodesForSyncInJsonState(t,n){if(!t)return null;let e=n._nodes,s=(0,Dt.createEditor)();s._nodes=e;for(let r in this.nodesToTransform){let{lexicalNode:o}=this.nodesToTransform[r],a=null,c=n.getEditorState();if(!c._nodeMap.get(o.__key))continue;c.read(()=>{a=Dd(o),this.nodesToTransform[r].path=a});let i,u=Bc(a,t);if(!u)continue;if(u.type==="beautifulMention"){u.codox_metadata={originalNodeTransformedByCodox:Ay({},u)},u.equation=`${u.trigger}${u.value}`,u.inline=!0,u.type="equation",u.version=1,delete u.trigger,delete u.value;continue}this._validateLexicalNodeHasToCodoxNodeApi(o),n.getEditorState().read(()=>{i=o.toCodoxNode()});let d,f,p=Sy[i.type],h=`Custom node "${o.__type}" invalid .toCodoxNode() implementation: `;if(!p)throw new Error(`${h}converted node type must be one of supported core and official playground nodes`);if(!i.hasOwnProperty("codox_metadata"))throw new Error(`${h} codox_metadata property is missing`);if(typeof i.codox_metadata!="object")throw new Error(`${h}codox_metadata property must be object`);if(!i.codox_metadata.hasOwnProperty("type"))throw new Error(`${h}codox_metadata property must contain original custom node type`);s.update(()=>{let{klass:S}=s._nodes.get(i.type);d=S.importJSON(Ay(Ay({},i),{},{___ignoreCodox:!0})),f=d.exportJSON()});const m=CP(i,EP);let g=Object.keys(m),b=Object.keys(f),v=[...new Set([...g,...b])];for(let S of v){if(f.type==="text"&&S==="text"&&!i[S])throw new Error(`${h}converted node must have non-empty "text" attrribute`);if(!i.hasOwnProperty(S)&&f.hasOwnProperty(S))i[S]=f[S];else if(i.hasOwnProperty(S)&&f.hasOwnProperty(S)&&typeof i[S]!=typeof f[S])i[S]=f[S];else if(i.hasOwnProperty(S)&&!f.hasOwnProperty(S)){if(S==="_ext_props")continue;delete i[S]}}this._maintainCodoxIdsForConvertedNode(o,i);const _=a[a.length-1];let E=Bc(a.slice(0,a.length-2),t);u.children&&(i.children=u.children),E.children[_]=i,pt.default.debug("[customNodesConverter][convertCustomNodesForSyncInJsonState] converted for sync: ",{jsonNode:u,convertedNode:i,validationConvertedLexicalNode:d,validationJsonNode:f,state:JSON.parse(JSON.stringify(t))})}return t}convertCustomNodesFromSyncInJsonState(t,n){if(!t)return null;for(let e in this.nodesToTransform){let{lexicalNode:s,path:r}=this.nodesToTransform[e],o=Bc(r,t);if(!o)continue;if(o.codox_metadata&&o.codox_metadata.originalNodeTransformedByCodox&&typeof o.codox_metadata.originalNodeTransformedByCodox=="object"&&o.type==="equation"&&o.codox_metadata.originalNodeTransformedByCodox.type==="beautifulMention"){const h=o.codox_metadata.originalNodeTransformedByCodox;let m=o.equation.split(h.trigger)[1];o.value=m,o.trigger=h.trigger,o.type=h.type,delete o.equation,delete o.inline,delete o.codox_metadata;continue}if(!o.codox_metadata||typeof o.codox_metadata!="object")continue;let a=n._nodes,c=o.codox_metadata;if(!c.type)continue;let{klass:i}=a.get(c.type)||{};if(!i)continue;this._validateCustomNodeClassHasFromCodoxNodeApi(i);let u=i.fromCodoxNode(o);this._maintainCodoxIdsForConvertedNode(o,u),o.children&&(u.children=o.children),pt.default.debug("[customNodesConverter][convertCustomNodesFromSyncInJsonState] transformed from sync: ",o,u);const d=r[r.length-1],f=r.slice(0,r.length-2);let p=Bc(f,t);p?p.children[d]=u:pt.default.warn("[customNodesConverter][convertCustomNodesFromSyncInJsonState] parent in json state not found: ",{jsonNode:o,convertedNode:u,parentPath:f})}return t}convertCustomJsonNodeFromSync(t,n){if(t.codox_metadata&&t.codox_metadata.originalNodeTransformedByCodox&&typeof t.codox_metadata.originalNodeTransformedByCodox=="object"&&t.type==="equation"&&t.codox_metadata.originalNodeTransformedByCodox.type==="beautifulMention"){let a=t.equation.split(originalJsonNode.trigger)[1];return originalJsonNode.value=a,originalJsonNode}if(!t.codox_metadata||typeof t.codox_metadata!="object")return t;let e=n._nodes,s=t.codox_metadata;if(!s.type)return t;let{klass:r}=e.get(s.type)||{};if(!r)return t;this._validateCustomNodeClassHasFromCodoxNodeApi(r);let o=r.fromCodoxNode(t);return this._maintainCodoxIdsForConvertedNode(t,o),t.children&&(o.children=t.children),pt.default.debug("[customNodesConverter][convertCustomJsonNodeFromSync] transformed single node from sync: ",{jsonNode:t,convertedNode:o}),o}}const NP=function(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];try{let n=(0,Dt.createEditor)({namespace:"validation",nodes:[...t],onError:a=>{throw a},parentEditor:null});const e=new Nx("validation_"+n.getKey()),s=n.parseEditorState(l);if(s.isEmpty())return;n.setEditorState(s);let r=n.getEditorState();const o=r._nodeMap[Symbol.iterator]();for(const a of o){let[c,i]=a;if(i&&(e.trackBlacklisted(i,Ei.created,r),e.isBlacklistedFound()))throw new Error(lN)}}catch(n){throw n}};class PP{constructor(t){pt.default.debug("[TablesValidator] constructor invoked for editor key: ",t),this.removeCandidateTableKeys=new Set,this.validateTableCandidateKeys=new Set,this.tableFixActions=[]}_scanForCellHeaderState(t,n,e,s){if(n.length<s)return null;let r,o=n.some(c=>c.__headerState===Ua.BOTH||c.__headerState===Ua.ROW),a=t.some((c,i)=>{if(c.__size<s)return!1;let u=c.getChildAtIndex(e);return!(!u||u.__headerState!==Ua.BOTH&&u.__headerState!==Ua.COLUMN)});return o&&a?r=Ua.BOTH:o&&!a?r=Ua.ROW:a&&!o&&(r=Ua.COLUMN),r}_isValidCellChildren(t){for(let n of t)if(Wc(n)||!qc(n))return!1;return!0}_createEmptyCell(){let t=(0,kr.$createTableCellNode)();return t.append((0,Dt.$createParagraphNode)()),t}_wrapInvalidCellChildrenIntoParagraph(t){let n=(0,Dt.$createParagraphNode)().getWritable(),e=t.getChildren();(t=t.getWritable()).__first=n.__key,t.__last=n.__key,t.__size=1,n.__parent=t.__key,e.forEach((s,r)=>{(s=s.getWritable()).__parent=null,n.append(s)})}_createFixAction_APPEND_CELLS_TO_ROW(t,n){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - APPEND_CELLS_TO_ROW] invoked: ",{rowKey:t,numOfCellsToAppend:n});let e=(0,Dt.$getNodeByKey)(t);for(;n;){let s=(0,kr.$createTableCellNode)().append((0,Dt.$createParagraphNode)());s.setRowSpan(1).setColSpan(1),e.append(s),n--}}}_createFixAction_ADD_PARAGRAPH_TO_EMPTY_CELL(t){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - ADD_PARAGRAPH_TO_EMPTY_CELL] invoked: ",{cellKey:t}),(0,Dt.$getNodeByKey)(t).append((0,Dt.$createParagraphNode)())}}_createFixAction_WRAP_CELL_CHILDREN_IN_PARAGRAPH(t){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - WRAP_CELL_CHILDREN_IN_PARAGRAPH] invoked: ",{cellKey:t});let n=(0,Dt.$getNodeByKey)(t);this._wrapInvalidCellChildrenIntoParagraph(n)}}_createFixAction_ADD_ROW_CELL_TO_TABLE_NODE(t){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - ADD_ROW_CELL_TO_EMPTY_TABLE_NODE] invoked: ",{tableKey:t});let n=(0,Dt.$getNodeByKey)(t),e=(0,kr.$createTableRowNode)();e.append(this._createEmptyCell()),n.append(e)}}_createFixAction_ADD_CELL_TO_EMPTY_ROW_NODE(t,n){return()=>{for(n||(n=1);n;)(0,Dt.$getNodeByKey)(t).append(this._createEmptyCell()),n--}}_createFixAction_WRAP_INVALID_ROW_NODE(t,n){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - WRAP_INVALID_ROW_NODE] invoked: ",{tableKey:t,rowKey:n});let e=(0,Dt.$getNodeByKey)(t);if(!e)return;let s=(0,Dt.$getNodeByKey)(n);if(!s)return;e=e.getWritable(),s=s.getWritable();let r=s.getPreviousSibling(),o=s.getNextSibling();s.__parent=null,s.__prev=null,s.__next=null;let a=(0,kr.$createTableRowNode)();if((0,kr.$isTableCellNode)(s)){let c=s.getChildren();c.length?this._isValidCellChildren(c)||this._wrapInvalidCellChildrenIntoParagraph(s):s.append((0,Dt.$createParagraphNode)()),a.append(s)}else{let c=this._isValidCellChildren([s]),i=(0,kr.$createTableCellNode)();if(a.append(i),c)i.append(s);else{let u=(0,Dt.$createParagraphNode)();u.append(s),i.append(u)}}a.__parent=e.__key,e.__first===s.__key&&(e.__first=a.__key),e.__last===s.__key&&(e.__last=a.__key),r&&(r=r.getWritable(),r.__next=a.__key,a.__prev=r.__key),o&&(o=o.getWritable(),o.__prev=a.__key,a.__next=o.__key)}}_createFixAction_WRAP_INVALID_CELL_NODE(t,n){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - WRAP_INVALID_CELL_NODE] invoked: ",{rowKey:t,cellKey:n});let e=(0,Dt.$getNodeByKey)(t);if(!e)return;let s=(0,Dt.$getNodeByKey)(n);if(s.remove(),s=(0,Dt.$createParagraphNode)(),!s)return;e=e.getWritable(),s=s.getWritable();let r=s.getPreviousSibling(),o=s.getNextSibling(),a=(0,kr.$createTableCellNode)();if(a.__parent=e.__key,e.__first===s.__key&&(e.__first=a.__key),e.__last===s.__key&&(e.__last=a.__key),r&&(r=r.getWritable(),r.__next=a.__key,a.__prev=r.__key),o&&(o=o.getWritable(),o.__prev=a.__key,a.__next=o.__key),s.__parent=null,s.__prev=null,s.__next=null,this._isValidCellChildren([s]))a.append(s);else{let c=(0,Dt.$createParagraphNode)();c.append(s),a.append(c)}}}_createFixAction_APPLY_HEADER_STATE_TO_CELL(t,n){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - APPLY_HEADER_STATE_TO_CELL] invoked: ",{cellKey:t,headerStateToApply:n});let e=(0,Dt.$getNodeByKey)(t);e&&(e=e.getWritable(),e.__headerState=n)}}clear(){this.removeCandidateTableKeys=new Set,this.validateTableCandidateKeys=new Set,this.tableFixActions=[]}tableRemoveEventListener(t,n){let e=n.getEditorState(),s=e._selection;if(pt.default.debug(`[${t}]`,{selection:s}),!(0,Dt.$isRangeSelection)(s))return;let r=[];try{let o=e._nodeMap.get(s.anchor.key),a=e._nodeMap.get(s.focus.key);o&&a&&(r=s.isBackward()?a.getNodesBetween(o):o.getNodesBetween(a))}catch(o){pt.default.warn("[TablesValidator][tableRemoveEventListener] get range selection nodes internal lexical error: ",o)}r.forEach(o=>{(0,kr.$isTableNode)(o)&&this.removeCandidateTableKeys.add(o.__key)})}tableNodeRemoveListener(t){this.removeCandidateTableKeys.has(t)&&this.removeCandidateTableKeys.delete(t)}shouldGCRemovedTables(){return!!this.removeCandidateTableKeys.size}gcRemovedTables(t){pt.default.debug("[TablesValidator][gcRemovedTable] candidate table keys ",{tableKeys:this.removeCandidateTableKeys}),t.update(()=>{Array.from(this.removeCandidateTableKeys).forEach(n=>{let e=(0,Dt.$getNodeByKey)(n);e&&e.remove()}),this.removeCandidateTableKeys.clear(),(0,Dt.$addUpdateTag)(as.historic)})}tableUpdateListener(t){this.validateTableCandidateKeys.add(t)}tableRowNodeChangesListener(t){let n=arguments.length>1&&arguments[1]!==void 0&&arguments[1],e=(arguments.length>2?arguments[2]:void 0).getEditorState()._nodeMap.get(t);if(!e)return void(n&&pt.default.debug("[TablesValidator][tableRowNodeChangesListener] no row node found in lexical: ",{tableRowNodeKey:t}));let s=e.__parent;s?this.validateTableCandidateKeys.add(s):pt.default.debug("[tableRowNodeChangesListener] no parent table for row node found in lexical: ",{rowNode:e})}tableCellNodeChangesListener(t,n){let e=n.getEditorState(),s=e._nodeMap.get(t);if(!s||!s.__parent)return;let r=e._nodeMap.get(s.__parent);r&&r.__parent&&this.validateTableCandidateKeys.add(r.__parent)}shouldValidateUpdatedTables(){return!!this.validateTableCandidateKeys.size}validateUpdatedTables(t){let n=Array.from(this.validateTableCandidateKeys);return t.getEditorState().read(()=>{for(let e of n){let s=(0,Dt.$getNodeByKey)(e);if(!s)continue;let r=s.getChildren();if(!r.length){this.tableFixActions.push(this._createFixAction_ADD_ROW_CELL_TO_TABLE_NODE(e));continue}let o=0;r.forEach(u=>{u.__size>o&&(o=u.__size)});let a=[],c=r.map((u,d)=>{if(!(0,kr.$isTableRowNode)(u))return this.tableFixActions.push(this._createFixAction_WRAP_INVALID_ROW_NODE(e,u.__key)),"invalid_row_node";let f=u.getChildren();if(!f.length&&!a.length)return this.tableFixActions.push(this._createFixAction_ADD_CELL_TO_EMPTY_ROW_NODE(u.__key,o)),"empty_row_should_add_cell";if(!f.length&&a.length)return a=[],"empty_row_should_be_empty";let p=0;if(a.length){let m=[];a.forEach(g=>{let[b,v]=g;p+=v,b--,b&&m.push([b,v])}),a=[...m]}let h=f.map((m,g)=>{if(!(0,kr.$isTableCellNode)(m))return this.tableFixActions.push(this._createFixAction_WRAP_INVALID_CELL_NODE(u.__key,m.__key)),p++,"invalid_cell_node_should_wrap_in_cell";let b,v=m.getChildren(),_=!v.length;if(_?this.tableFixActions.push(this._createFixAction_ADD_PARAGRAPH_TO_EMPTY_CELL(m.__key)):(b=this._isValidCellChildren(v),b||this.tableFixActions.push(this._createFixAction_WRAP_CELL_CHILDREN_IN_PARAGRAPH(m.__key))),m.__rowSpan>1){let E=m.__rowSpan,S=m.__colSpan;a.push([E-1,S])}if(p+=m.__colSpan,m.__headerState===Ua.NO_STATUS){let E=this._scanForCellHeaderState(r,f,g,o);E&&this.tableFixActions.push(this._createFixAction_APPLY_HEADER_STATE_TO_CELL(m.__key,E))}return{cellKey:m.__key,rowKey:u.__key,tableKey:e,colSpan:m.__colSpan,rowSpan:m.__rowSpan,headerState:m.__headerState,childrenAreValid:b,isEmptyCell:_}});if(p<o){let m=o-p;this.tableFixActions.push(this._createFixAction_APPEND_CELLS_TO_ROW(u.__key,m))}return{realRowLength:p,rowKey:u.__key,tableKey:e,cells:h}}),i=!this.tableFixActions.length;pt.default[i?"debug":"warn"](`[TablesValidator][validateUpdatedTables] IS TABLE VALID: ${i}`,{tableNodeKey:e,tableValidationMatrix:c,requiredRowLength:o}),this.validateTableCandidateKeys.delete(e)}}),!this.tableFixActions.length}shouldFixTablesStructure(){return!!this.tableFixActions.length}fixTablesStructure(t){this.tableFixActions.length&&(pt.default.debug("[TablesValidator][fixTablesStructure]: fix actions to apply - count: ",this.tableFixActions.length),t.update(()=>{for(let n of this.tableFixActions)n();this.tableFixActions=[],(0,Dt.$addUpdateTag)(as.historic)}))}ensureDocTablesAreValid(t){return this.shouldGCRemovedTables()?(pt.default.warn("[TablesValidator][GARBAGE COLLECT TABLE NODES AFTER TABLE REMOVAL ATTEMPT]"),this.gcRemovedTables(t),!1):!(this.shouldValidateUpdatedTables()&&(pt.default.debug("[TablesValidator][shouldValidateUpdatedTables] invoked"),!this.validateUpdatedTables(t)))||(pt.default.warn("[TablesValidator][shouldValidateUpdatedTables] INVALID LEXICAL TABLE(S) STRUCTURE FOUND - FIXING"),this.fixTablesStructure(t),!1)}}class IP{constructor(t){pt.default.debug("[UnsupportedNodesConverter][constructor] invoked for editor key: ",t),this.usupportedNodeTypesConvertMap={autolink:{checkForSync:n=>n.type==="autolink",forSync:n=>(n.type="link",n._ext_props={isUnlinked:n.isUnlinked},delete n.isUnlinked,n),checkFromSync:n=>n.type==="link"&&n._ext_props,fromSync:n=>(n.type="autolink",n.isUnlinked=n._ext_props.isUnlinked,delete n._ext_props,n)},overflow:{checkForSync:n=>n.type==="overflow",forSync:n=>(n.type="paragraph",n.textFormat=0,n._ext_props={overflow:!0},n),checkFromSync:n=>n.type==="paragraph"&&n._ext_props&&n._ext_props.overflow===!0,fromSync:n=>(n.type="overflow",delete n.textFormat,delete n._ext_props,n)}},this.trackedNodes={}}trackUnsupportedNode(t,n){if(!this.usupportedNodeTypesConvertMap[t.__type])return;const e=Dd(t);this.trackedNodes[t.__key]={lexicalNode:t,path:e}}untrackUnsupportedNode(t,n){this.trackedNodes[t]&&delete this.trackedNodes[t]}convertUnsupportedNodesForSyncInJsonState(t,n){if(!t)return null;for(let e in this.trackedNodes){let{lexicalNode:s}=this.trackedNodes[e],r=null,o=n.getEditorState();if(!o._nodeMap.get(s.__key))continue;o.read(()=>{r=Dd(s),this.trackedNodes[e].path=r});const a=r[r.length-1];let c=Bc(r.slice(0,r.length-2),t).children[a];c&&(this.usupportedNodeTypesConvertMap.autolink.checkForSync(c)&&(c=this.usupportedNodeTypesConvertMap.autolink.forSync(c)),this.usupportedNodeTypesConvertMap.overflow.checkForSync(c)&&(c=this.usupportedNodeTypesConvertMap.overflow.forSync(c)))}return t}convertUnsupportedNodesFromSyncInJsonState(t,n){if(!t)return null;for(let e in this.trackedNodes){let{lexicalNode:s,path:r}=this.trackedNodes[e],o=Bc(r,t);o&&(this.usupportedNodeTypesConvertMap.autolink.checkFromSync(o)&&(o=this.usupportedNodeTypesConvertMap.autolink.fromSync(o)),this.usupportedNodeTypesConvertMap.overflow.checkFromSync(o)&&(o=this.usupportedNodeTypesConvertMap.overflow.fromSync(o)))}return t}convertUnsupportedJsonNodeFromSync(t,n){return this.usupportedNodeTypesConvertMap.autolink.checkFromSync(t)&&(t=this.usupportedNodeTypesConvertMap.autolink.fromSync(t)),this.usupportedNodeTypesConvertMap.overflow.checkFromSync(t)&&(t=this.usupportedNodeTypesConvertMap.overflow.fromSync(t)),t}}const MP=IP;class RP{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};pt.default.debug("[NodesConversionsManager][constructor] invoked for editor key: ",t),this.customNodesConverter=n.customNodesConverter,this.unsupportedNodesConverter=n.unsupportedNodesConverter}trackNodeForConversion(t,n){this.customNodesConverter.trackCustomNodeForConvert(t,n),this.unsupportedNodesConverter.trackUnsupportedNode(t,n)}untrackNodeForConversion(t,n){this.customNodesConverter.untrackCustomNodeForConvert(t,n),this.unsupportedNodesConverter.untrackUnsupportedNode(t,n)}convertNodesForSyncInJsonState(t,n){return t=this.unsupportedNodesConverter.convertUnsupportedNodesForSyncInJsonState(t,n),this.customNodesConverter.convertCustomNodesForSyncInJsonState(t,n)}convertNodesFromSyncInJsonState(t,n){return t=this.unsupportedNodesConverter.convertUnsupportedNodesFromSyncInJsonState(t,n),this.customNodesConverter.convertCustomNodesFromSyncInJsonState(t,n)}convertJsonNodeFromSync(t,n){return t=this.unsupportedNodesConverter.convertUnsupportedJsonNodeFromSync(t,n),this.customNodesConverter.convertCustomJsonNodeFromSync(t,n)}}const DP=RP;function Ix(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function LP(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ix(Object(n),!0).forEach(function(e){FP(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Ix(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function FP(l,t,n){return(t=BP(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function BP(l){var t=zP(l,"string");return typeof t=="symbol"?t:t+""}function zP(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}class UP{constructor(){this._hub={}}initForEditor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(!t||this._hub[t])return;pt.default.debug("[Hub][initForEditor] invoked for editorKey: ",t);const n=new OP(t),e=new MP(t);this._hub[t]={codoxImpl:new mN(t),codoxRemoteSelection:new vP(t),tablesValidator:new PP(t),customNodesConverter:n,unsupportedNodesConverter:e,nodesConversionsManager:new DP(t,{customNodesConverter:n,unsupportedNodesConverter:e}),nestedEditorsProcessor:new SP(t),contentNestingsWatcher:new Nx(t),codoxLexicalEditorManager:new rP(t),codoxNodesMap:new oP(t),codoxComments:new xN(t),configBackup:{},clientEventListeners:{},contentChangedHookClientCallback:null}}getCodoxImpl(t){return this.initForEditor(t),this._hub[t].codoxImpl}getCodoxRemoteSelection(t){return this.initForEditor(t),this._hub[t].codoxRemoteSelection}getTablesValidator(t){return this.initForEditor(t),this._hub[t].tablesValidator}getCustomNodesConverter(t){return this.initForEditor(t),this._hub[t].customNodesConverter}getUnsupportedNodesConverter(t){return this.initForEditor(t),this._hub[t].unsupportedNodesConverter}getNodesConversionsManager(t){return this.initForEditor(t),this._hub[t].nodesConversionsManager}getNestedEditorsProcessor(t){return this.initForEditor(t),this._hub[t].nestedEditorsProcessor}getContentNestingsWatcher(t){return this.initForEditor(t),this._hub[t].contentNestingsWatcher}getCodoxLexicalEditorManager(t){return this.initForEditor(t),this._hub[t].codoxLexicalEditorManager}getCodoxNodesMap(t){return this.initForEditor(t),this._hub[t].codoxNodesMap}getCodoxComments(t){return this.initForEditor(t),this._hub[t].codoxComments}getConfigBackup(t){return this._hub[t].configBackup}setConfigBackup(t,n){this._hub[t].configBackup=LP({},n)}getClientEventListeners(t){return this._hub[t].clientEventListeners}getClientEventListenerByEvent(t,n){return this._hub[t].clientEventListeners[n]}setClientEventListener(t,n,e){this._hub[t].clientEventListeners[n]=e}getContentChangedHookClientCallback(t){return this._hub[t].contentChangedHookClientCallback}setContentChangedHookClientCallback(t,n){this._hub[t].contentChangedHookClientCallback=n}gc(t){delete this._hub[t]}}const HP=new UP,Un=HP,qP=["___ignoreCodox"];function WP(l,t){if(l==null)return{};var n,e,s=JP(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function JP(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}function Mx(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Rx(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Mx(Object(n),!0).forEach(function(e){VP(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Mx(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function VP(l,t,n){return(t=KP(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function KP(l){var t=GP(l,"string");return typeof t=="symbol"?t:t+""}function GP(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}const rh=()=>tN(),Dx=l=>typeof l=="number";function Hc(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const n=function(){for(var e=arguments.length,s=new Array(e),r=0;r<e;r++)s[r]=arguments[r];return l.apply(this,s)};return Object.defineProperty(n,"name",{value:t,writable:!0}),n}const Bl=l=>l.__type==="root"||l.type==="root",Lx=l=>Bl(l.getParent()),Lr=l=>l.__type===Zp.text||l.type===Zp.text||l.hasOwnProperty("__text")||l.hasOwnProperty("text"),qc=l=>(0,Dt.$isElementNode)(l),Wc=l=>(0,kr.$isTableNode)(l)||(0,kr.$isTableRowNode)(l)||(0,kr.$isTableCellNode)(l),$P=l=>!l.getChildren,Fx=l=>!!l.getChildren,Tr=l=>(0,Dt.$isDecoratorNode)(l),Ld=l=>(0,KO.$isLinkNode)(l),Fd=l=>l.__type==="mark"||l.type==="mark",Oy=l=>(0,Dt.$isLineBreakNode)(l),qa=l=>Lr(l)||Oy(l),Ny=l=>l.__type===Zp.horizontalrule||l.type===Zp.horizontalrule,YP=l=>l.__type==="image"||l.type==="image",ZP=l=>l.__type==="inline-image"||l.type==="inline-image",Bx=l=>{if(qa(l)||Ld(l)||Fd(l))return!1;if(!l.__parent||l.__parent==="root"||(0,Dt.$isParagraphNode)(l))return!0;let t=l.getParent().getChildren();return t.length===1&&t[0].__key===l.__key?!((Tr(l)||Ld(l)||Fd(l))&&!Ny(l)):!t.some(n=>{let e=Ny(n);return n.__key!==l.__key&&(qa(n)||Tr(n)&&!e||Ld(n)||Fd(n))})},zx=(l,t)=>{const n=Un.getCodoxNodesMap(t).get(l.codoxId);return!n||l.__key===n.__key},Jc=function(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,n=arguments.length>2?arguments[2]:void 0,e=arguments.length>3?arguments[3]:void 0;try{l.getWritable&&(l=l.getWritable());const s=t||rh();l.codoxId=s,Un.getCodoxNodesMap(e).add(s,l,n)}catch(s){pt.default.warn("[addCodoxIdToNode] Failed to add codoxId: ",{node:l,preparedCodoxId:t,wasIdGenerated:!t,err:s})}},Ux=(l,t)=>{Un.getCodoxNodesMap(t).remove(l.codoxId),delete l.codoxId},QP=(l,t)=>{if(!Fx(l)||!l.getChildrenSize())return;const n=l.getChildren();if(n.some(r=>!!(0,Dt.$isParagraphNode)(r)))return;let e=!1,s=[];for(let r of n)(qa(r)||Tr(r)||Ld(r)||Fd(r))&&!e&&(Ny(r)||(e=!0)),(Fx(r)||Tr(r))&&s.push(r);for(let r of s)e||r.codoxId?e&&r.codoxId&&(r=r.getWritable(),Ux(r,t)):(r=r.getWritable(),Jc(r,null,`${r.__type}_codoxIdMaintainance`,t))},Bd=function(l,t){let{setup:n=!1,update:e=!1,remove:s=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(YP(l)||ZP(l)){if(n&&t.setDecoratorId(l.codoxDId,l.exportJSON()),e){let r=t.getDecoratorById(l.codoxDId);if(!r)return;let o=!0,a=l.__src||"",c=r.src||"";if(a.length!==c.length)o=!1;else{let i=a,u=c;if(i.startsWith("data")&&u.startsWith("data")){let d=i.length-50;for(let f=i[i.length-1];f>d;f--)if(i[f]!==u[f]){o=!1;break}}else o=i===u}o||(t.removeDecoratorId(l.codoxDId),l.codoxDId=rh()),t.setDecoratorId(l.codoxDId,l.exportJSON())}s&&t.removeDecoratorId(l.codoxDId)}},XP=l=>{const t=Rx({},l);for(const n in l)l[n]===void 0&&l.hasOwnProperty(n)&&delete t[n];return t},eI=l=>{const t=`__nativeCreateDOM_${l.name}`;l.prototype[t]=Hc(l.prototype.createDOM,t),l.prototype.createDOM=function(n,e){let s=(0,Dt.$getEditor)(),r=s.getKey(),o=Un.getCodoxNodesMap(r),a=Un.getNodesConversionsManager(r);if(Bx(this))if(this.codoxId){if(!zx(this,r)){let i=o.get(this.codoxId);i.__type===this.__type&&this.isAttached()&&!i.isAttached()?(pt.default.warn("[createDOM][Non-unique codoxId] overwrite abandoned existing node with latest: ",{latestNode:this,existingNode:i}),o.add(this.codoxId,this,`${this.__type}_createDOM`)):Jc(this,null,`${this.__type}_createDOM`,r)}}else Jc(this,null,`${this.__type}_createDOM`,r);else this.codoxId&&Ux(this,r);Tr(this)&&!this.codoxDId&&(this.codoxDId=rh(),Bd(this,o,{setup:!0})),Un.getNestedEditorsProcessor(r).manageNestedEditorInLexicalNode(this,"createDOM",s);let c=this[t](n,s);return c.__codox_track=!0,a.trackNodeForConversion(this,s),c}},tI=l=>{const t=`__nativeUpdateDOM_${l.name}`;return l.prototype[t]=Hc(l.prototype.updateDOM,t),l.prototype.updateDOM=function(){let n=(0,Dt.$getEditor)().getKey(),e=(Un.getCodoxLexicalEditorManager(n),Un.getCodoxNodesMap(n));const s=this[t](...arguments);return QP(this,n),this.codoxDId&&Bd(this,e,{update:!0}),s},l},nI=l=>{const t=`__nativeRemove_${l.name}`;return l.prototype[t]=Hc(l.prototype.remove,t),l.prototype.remove=function(){let n=(0,Dt.$getEditor)(),e=n.getKey(),s=Un.getCodoxNodesMap(e),r=Un.getNodesConversionsManager(e);const o=this.codoxId,a=this.codoxDId;return o&&s.remove(o),a&&Bd(this,s,{remove:!0}),r.untrackNodeForConversion(this.__key,n),Un.getNestedEditorsProcessor(e).gcNestedEditorListenerInLexicalNode(this,"remove"),this[t](...arguments)},l},rI=l=>{const t=`__nativeExportJSON_${l.name}`;l.prototype[t]=Hc(l.prototype.exportJSON,t),l.prototype.exportJSON=function(){const n=this[t]();return this.codoxId&&(n.codoxId=this.codoxId),this.codoxDId&&(n.codoxDId=this.codoxDId),Lr(this)&&Dx(n.format)&&this.hasFormat&&(n.format=iN(this)),Lr(n)&&n.style&&(n.style.endsWith(";")||(n.style+=";")),XP(n)}},oI=l=>{const t="__nativeImportJSON";l[t]=Hc(l.importJSON,t),l.importJSON=function(n){let{___ignoreCodox:e}=n;const s=Rx({},WP(n,qP));Lr(s)&&!Dx(s.format)&&(s.format=oN(s.format)),Lr(s)&&s.style&&(s.style.endsWith(";")||(s.style+=";"));const r=l[t](s);if(e)return r;let o=(0,Dt.$getEditor)(),a=o.getKey(),c=Un.getNestedEditorsProcessor(a),i=Un.getCodoxNodesMap(a);c.manageNestedEditorInLexicalNode(r,"importJSON",o);const u=Bx(r);return u&&s.codoxId&&(i.hasPastedId(s.codoxId)&&i.has(s.codoxId)?(i.removePastedId(s.codoxId),Jc(r,null,`${r.__type}_importJSON_pasted`,a)):Jc(r,s.codoxId,`${r.__type}_importJSON`,a)),u&&!r.codoxId&&Jc(r,null,`${r.__type}_${r.__key}_importJSON_should_have_id`,a),s.codoxDId&&(r.codoxDId=s.codoxDId,Bd(r,i,{setup:!0})),r}},iI=l=>{const t="__nativeClone";l[t]=Hc(l.clone,t),l.clone=function(n){const e=l[t](n);let s=(0,Dt.$getEditor)(),r=Un.getNestedEditorsProcessor(s.getKey()),o=Un.getCodoxNodesMap(s.getKey());return n.codoxId&&(e.codoxId=n.codoxId),n.codoxDId&&(e.codoxDId=n.codoxDId,Bd(e,o,{setup:!0})),r.manageNestedEditorInClonedLexicalNode(n,e,s),e}},sI=l=>{let t=!1,n=!1,e=!1,s=!1;for(let o of l)typeof o=="object"&&o.replace&&o.with||(o.name===Dt.TextNode.name?t=!0:o.name===Dt.ParagraphNode.name?n=!0:o.name===Dt.LineBreakNode.name?e=!0:o.name===Bi.MarkNode.name&&(s=!0));let r=[];return t||r.push(Dt.TextNode),n||r.push(Dt.ParagraphNode),e||r.push(Dt.LineBreakNode),s||r.push(Bi.MarkNode),r.length?[...r,...l]:l},aI=l=>{let t=l.getType();if(t!=="beautifulMention"&&!Sy[t]){if(!l.prototype.toCodoxNode)return`"${t}" custom node implementation is missing instance conversion api .toCodoxNode()`;if(!l.fromCodoxNode)return`"${t}" custom node implementation is missing class static conversion api .fromCodoxNode()`;const n=(0,Dt.createEditor)({nodes:[l]});let e;if(n._headless=!0,n.update(()=>{let s=new l,r=1;for(let u in s)s[u]===void 0&&(s[u]=`${r}`,r++);let o=s.exportJSON(),a=s.toCodoxNode(),c=l.fromCodoxNode(a),i=jy(o,c);s.remove(),i||(e=`"${l.name}" custom node conversion api implementation is invalid. Input in .toCodoxNode() must match with output in .fromCodoxNode(). Check attributes preserving during conversion - must be same for .exportJSON() and for fromCodoxNode() outputs.
1482
+ `,B.append(j),_=j}!I&&w.width<1&&r.length>1&&(B.style.width="3px")}v.forEach(S=>{this.hoverList.push([S,_,a])})});pt.default.debug("[CodoxRemoteSelection][constructor] invoked for editor key: ",t),this.remoteSelections=[],this.isEditingInProgress=!1,this.hoverList=[],this.trackedNodesKeys=new Set,this.remoteSelectionDOMsMap={},this.activeEditorsKeys={},this.keyboardBindedListener=this._keyboardEventsListener.bind(this),this.mouseBindedListener=this._mouseEventsListener.bind(this),this.resizeBindedListener=this.hideInUI=!1,this.editorContainerHTMLElement=null}_mouseEventsListener(t){let n=!1,e=t.target,s=!1,r=3;for(;r&&e;){if(e.__codox_track){n=!0;break}if(e.__lexicalEditor){n=!0,s=!0;break}e=e.parentNode,r--}if(!n)return;let o=null;for(let i in this.activeEditorsKeys){if(e[`__lexicalKey_${i}`]){o=i;break}e.__lexicalEditor&&(o=e.__lexicalEditor._key)}if(!o)return;let a=s?"root":e[`__lexicalKey_${o}`];if(!a||!this.trackedNodesKeys.has(`${a}__${o}`))return;let c=new Set;for(let i=0;i<this.hoverList.length;i++){let u=this.hoverList[i],[d,f,p]=u;if(c.has(p))continue;let h=lo.isMousePositionWithinElementCords(t,d);t.type===xo.mouseover&&h&&(f.style.animation=this.isEditingInProgress?lo.tooltipAnimations.hideAtOnce:lo.tooltipAnimations.showAtOnce,c.add(p)),t.type===xo.mouseout&&(f.style.animation=lo.tooltipAnimations.hideWithDelay,c.add(p)),t.type===xo.mousemove&&h&&(f.style.animation=this.isEditingInProgress?lo.tooltipAnimations.hideAtOnce:lo.tooltipAnimations.showAtOnce,c.add(p))}}_keyboardEventsListener(t){t.type===xo.keypress&&(this.isEditingInProgress||(this.isEditingInProgress=!0)),t.type===xo.keyup&&this.isEditingInProgress&&(this.isEditingInProgress=!1)}_createResizeEventListener(t){return function(n){t&&this.paintRemoteSelections(this.remoteSelections,t)}}_filterRemoteSelectionRectsWithinEditor(t){if(!this.editorContainerHTMLElement)return t;const n=this.editorContainerHTMLElement.getBoundingClientRect();return t.filter(e=>!(e.top<n.top||e.bottom>n.bottom))}mount(t){this.resizeBindedListener=this._createResizeEventListener(t).bind(this),window.addEventListener(xo.keypress,this.keyboardBindedListener),window.addEventListener(xo.keyup,this.keyboardBindedListener),window.addEventListener(xo.resize,this.resizeBindedListener),window.addEventListener(xo.scroll,this.resizeBindedListener);for(const n of kx)window.addEventListener(n,this.mouseBindedListener);try{let n=t.getRootElement();n&&(this.editorContainerHTMLElement=n,this.editorContainerHTMLElement.addEventListener(xo.scroll,this.resizeBindedListener))}catch(n){pt.default.warn('[codoxRemoteSelections][mount] failed add scroll listener to ".editor-container" div: ',n)}}unmount(){window.removeEventListener(xo.keypress,this.keyboardBindedListener),window.removeEventListener(xo.keyup,this.keyboardBindedListener),window.removeEventListener(xo.resize,this.resizeBindedListener),window.removeEventListener(xo.scroll,this.resizeBindedListener);for(const t of kx)window.removeEventListener(t,this.mouseBindedListener);try{this.editorContainerHTMLElement&&(this.editorContainerHTMLElement.removeEventListener(xo.scroll,this.resizeBindedListener),this.editorContainerHTMLElement=null)}catch(t){pt.default.warn('[codoxRemoteSelections][unmount] failed remove scroll listener to ".editor-container" div: ',t)}this.gcPrevPaintedRemoteSelections()}shouldUpdateRemoteSelections(){return!0}gcPrevPaintedRemoteSelections(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];for(let n in this.remoteSelectionDOMsMap)this.remoteSelectionDOMsMap[n].remove();this.hoverList=[],this.trackedNodesKeys=new Set,this.remoteSelections=t||[],this.remoteSelectionDOMsMap={},this.activeEditorsKeys={}}paintRemoteSelections(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0;this.gcPrevPaintedRemoteSelections(t);let e=n.getEditorState(),s=Un.getCodoxNodesMap(n.getKey());e.read&&e.read(()=>{for(let r of this.remoteSelections)if(oh.validateJSONSelection(r,Ld.remote,s))if(fn.isNestedSelectionJSON(r)){let{nestedSelectionJSON:o,nestedEditor:a}=fn.getNestedSelectionJSONFromMainSelectionJSON(r,s);if(!a)continue;a.getEditorState().read(()=>{let c=Un.getCodoxNodesMap(a.getKey()),i=fn.JSONToLexical(o,c);if(i)try{this.paintSingleRemoteSelection({editor:a,selectionJSON:r,lexicalSelection:i,selectedNodes:i.getNodes(),isBackward:i.isBackward()})}catch(u){pt.default.warn("[PAINT REMOTE SELECTION] failed for nested editor - ",{error:u,nestedSelectionJSON:o,fullSelection:r,lexicalSelection:i})}else pt.default.error("DEBUGGER: [paintRemoteSelections] nested selection from json to lexical is null: ",{selection:r,nestedSelectionJSON:o,lexicalSelection:i})})}else{let o=fn.JSONToLexical(r,s);if(!o){pt.default.error("DEBUGGER: [paintRemoteSelections] selection from json to lexical is null: ",{selection:r,lexicalSelection:o});continue}try{this.paintSingleRemoteSelection({editor:n,selectionJSON:r,lexicalSelection:o,selectedNodes:o.getNodes(),isBackward:o.isBackward()})}catch(a){pt.default.warn("[PAINT REMOTE SELECTION] failed - ",{error:a,fullSelection:r,lexicalSelection:o})}}})}updateRemoteSelections(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",e=arguments.length>2?arguments[2]:void 0;this.shouldUpdateRemoteSelections(t)&&(pt.default.debug(`[updateRemoteSelections] caller: [${n}] editor key: `,e.getKey(),{newRemoteSelections:t}),Promise.resolve().then(()=>{this.paintRemoteSelections(t,e),this.hideInUI&&this.hideRemoteSelectionsFromUI()}))}clear(){this.gcPrevPaintedRemoteSelections()}getCurrentRemoteSelections(){return this.remoteSelections}hideRemoteSelectionsFromUI(){this.hideInUI||(this.hideInUI=!0);const t=document.querySelectorAll(".codox_remote_selection");for(let n of t)n.classList.add("hidden_codox_remote_selection")}showHiddenRemoteSelectionsInUI(){this.hideInUI=!1;const t=document.querySelectorAll(".hidden_codox_remote_selection");for(let n of t)n.classList.remove("hidden_codox_remote_selection")}}class Zx{constructor(){this.blacklist=Object.keys(Tx).reduce((t,n)=>{let e=Tx[n];return t[n]=e.reduce((s,r)=>(s[r]=r,s),{}),t},{}),this._isBlacklistedFound=!1,this._blacklistCallback=null}_shouldSkipNode(t){return t instanceof Dt.TextNode||t instanceof Dt.ParagraphNode||t instanceof Dt.RootNode}setBlacklistCallback(t){this._blacklistCallback=t}removeBlacklistCallback(){this._blacklistCallback=null}invokeBlacklistCallback(){this._blacklistCallback&&this._blacklistCallback()}trackBlacklisted(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",e=arguments.length>2?arguments[2]:void 0;if(n!==Ei.created||this._isBlacklistedFound||!t||!t.__type||this._shouldSkipNode(t))return;let s=t.__type,r=this.blacklist[s];r&&e.read(()=>{let o=t.getParent();for(;o!==null;){let a=o?o.__type:null;if(!a)return;if(r[a])return pt.default.debug("[ContentNestingsWatcher][trackBlacklisted] BLACKLISTED COMBINATION FOUND. nodes:",{targetNode:t,targetType:s,parent:o,parentType:a,mutationType:n}),void(this._isBlacklistedFound=!0);o=o.getParent()}})}trackBlacklistedInNestedEditor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",e=arguments.length>3?arguments[3]:void 0;if(n!==Ei.created||this._isBlacklistedFound||this._shouldSkipNode(t))return;let s=e.__type,r=t.__type;if(!s||!r)return;let o=this.blacklist[r];o&&o[s]&&(this._isBlacklistedFound=!0,pt.default.warn("[ContentNestingsWatcher][trackBlacklistedInNestedEditor] FOUND: ",{targetNode:t,targetType:r,rootNode:e,rootType:s,mutationType:n}))}isBlacklistedFound(){let t=this._isBlacklistedFound;return t&&(this._isBlacklistedFound=!1),t}}var dI=l=>{var t={};return An.d(t,l),t};const qc=dI({mergeRegister:()=>wr,registerNestedElementResolver:()=>b_}),fI=["editorState","prevEditorState","dirtyElements","dirtyLeaves"];function pI(l,t){if(l==null)return{};var n,e,s=hI(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function hI(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}class gI{constructor(t){pt.default.debug("[NestedEditorsProcessor] constructor invoked for editor key: ",t),this.nestedEditorsListenersMap={}}_getListenersMap(){return this.nestedEditorsListenersMap}_createNestedEditorUpdatesListener(t,n,e){let s=!1;return function(r){let{editorState:o,prevEditorState:a,dirtyElements:c,dirtyLeaves:i}=r,u=(pI(r,fI),e.getEditorState()),d=Un.getCodoxLexicalEditorManager(e.getKey());if(!d.isCodoxStarted||!u._nodeMap.get(t.__key))return;let f=Fl(o),p=Fl(a),h=By(f,p),m=o._selection,g=(a._selection,!1),b=null,v=(Vx(c,i),t[n]),_=Un.getContentNestingsWatcher(e.getKey());if(_.isBlacklistedFound())return s=!0,pt.default.debug("[NESTED EDITOR LISTENER] BLACKLISTED FOUND - revert to prev state"),Jx(t)?(v.update(()=>{try{const E=v.parseEditorState(p);if(E.isEmpty())return(0,Dt.$getRoot)().clear(),!0;v.setEditorState(E)}catch(E){pt.default.error("[NESTED EDITOR LISTENER] BLACKLISTED FOUND - ROLLBACK ERROR: ",E)}}),void _.invokeBlacklistCallback()):void 0;if(s)s=!1;else{if(t.codoxId||t.codoxDId){let E=null;u.read(()=>{E=fn.getNodeAncestorsCodoxIds(t),!t.codoxId&&t.codoxDId&&E.push(t.codoxDId)}),o.read(()=>{let S=Ry(n),w=fn.lexicalToJSONNested(m,S,E);b=d.getCurrentNestedSelectionJSON(),g=fn.equalSelectionsJSON(b,w),g||d.setNestedSelectionJSON(w)})}h&&g||setTimeout(()=>e.update(()=>{try{zy({fromNestedEditor:!0}),t.markDirty()}catch(E){pt.default.error("[NESTED EDITOR LISTENER] MARKING DIRTY TO TRIGGER UPDATE - ERROR: ",E)}}))}}}_isNestedEditorManaged(t){return!!this.nestedEditorsListenersMap[t]}gc(t){pt.default.debug("[nestedEditorsProcessor]: GC");for(let n in this.nestedEditorsListenersMap)if(!t.getEditorState()._nodeMap.get(n)){let e=this.nestedEditorsListenersMap[n];e&&e(),delete this.nestedEditorsListenersMap[n]}}manageNestedEditorInLexicalNode(t){let n=arguments.length>2?arguments[2]:void 0;if(this._isNestedEditorManaged(t.getKey()))return;let e=Jx(t);if(e){let s=t[e],r=this._createNestedEditorUpdatesListener(t,e,n);pt.default.debug("[NESTED EDITOR][registerMutationListener] : ",{nestedEditor:s,nestedEditorNodeClasses:s._nodes});let o=[],a=Un.getContentNestingsWatcher(n.getKey());s._nodes.forEach((u,d,f)=>{let{klass:p}=u,h=s.registerMutationListener(p,m=>{for(let[g,b]of m)if(b===Ei.created){let v=s.getEditorState()._nodeMap.get(g);v&&a.trackBlacklistedInNestedEditor(v,b,s.getEditorState(),t)}});o.push(h)});let c=(0,qc.mergeRegister)(s.registerUpdateListener(r),...o),i=t.getKey();this.nestedEditorsListenersMap[i]=c}}gcNestedEditorListenerInLexicalNode(t){let n=t.getKey(),e=this.nestedEditorsListenersMap[n];e&&(e(),pt.default.debug("delete this.nestedEditorsListenersMap[nodeKey]: ",n),delete this.nestedEditorsListenersMap[n])}manageNestedEditorInClonedLexicalNode(t,n,e){let s=t.getKey();s!==n.getKey()&&this._isNestedEditorManaged(s)&&(this.gcNestedEditorListenerInLexicalNode(t),this.manageNestedEditorInLexicalNode(n,"",e))}setNestedEditorSelection(t,n){let{nestedSelectionJSON:e,nestedEditor:s}=fn.getNestedSelectionJSONFromMainSelectionJSON(t,n);if(!s)return!1;let r=!0;return s.update(()=>{try{const o=Un.getCodoxNodesMap(s.getKey());let a=fn.JSONToLexical(e,o);(0,Dt.$setSelection)(a),pt.default.debug("[setNestedEditorSelection]: lexical nested selection: ",a)}catch(o){pt.default.error("[setNestedEditorSelection] set nested selection error: ",o),r=!1}}),r}clearListeners(){pt.default.debug("[nestedEditorsProcessor]: clear listeners");for(let t in this.nestedEditorsListenersMap){let n=this.nestedEditorsListenersMap[t];n&&n(),pt.default.debug("delete this.nestedEditorsListenersMap[nodeKey]: ",t),delete this.nestedEditorsListenersMap[t]}}}const mI=["codox_metadata"];function yI(l,t){if(l==null)return{};var n,e,s=vI(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function vI(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}function Qx(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Hy(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Qx(Object(n),!0).forEach(function(e){bI(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Qx(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function bI(l,t,n){return(t=_I(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function _I(l){var t=wI(l,"string");return typeof t=="symbol"?t:t+""}function wI(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}class xI{constructor(t){pt.default.debug("[CustomNodesConverter][constructor] invoked for editor key: ",t),this.nodesToTransform={}}_maintainCodoxIdsForConvertedNode(t,n){t.codoxId&&(n.codoxId=t.codoxId),t.codoxDId&&(n.codoxDId=t.codoxDId)}_validateLexicalNodeHasToCodoxNodeApi(t){if(!t.toCodoxNode)throw new Error(`Custom node "${t.__type}" invalid implementation: instance conversion api ".toCodoxNode()" is missing`)}_validateCustomNodeClassHasFromCodoxNodeApi(t){if(!t.fromCodoxNode)throw new Error(`Custom node class ${t} invalid implementation: class static conversion api ".fromCodoxNode()" is missing`)}untrackCustomNodeForConvert(t,n){this.nodesToTransform[t]&&delete this.nodesToTransform[t]}trackCustomNodeForConvert(t,n){if(Dy[t.__type])return;if(t.__type==="beautifulMention"){const s=Bd(t);return this.nodesToTransform[t.__key]={lexicalNode:t,path:s},void pt.default.debug("[customNodesConverter][saveNodeForTransform] node saved: ",{lexicalNode:t,path:s})}this._validateLexicalNodeHasToCodoxNodeApi(t);const e=Bd(t);this.nodesToTransform[t.__key]={lexicalNode:t,path:e}}convertCustomNodesForSyncInJsonState(t,n){if(!t)return null;let e=n._nodes,s=(0,Dt.createEditor)();s._nodes=e;for(let r in this.nodesToTransform){let{lexicalNode:o}=this.nodesToTransform[r],a=null,c=n.getEditorState();if(!c._nodeMap.get(o.__key))continue;c.read(()=>{a=Bd(o),this.nodesToTransform[r].path=a});let i,u=Uc(a,t);if(!u)continue;if(u.type==="beautifulMention"){u.codox_metadata={originalNodeTransformedByCodox:Hy({},u)},u.equation=`${u.trigger}${u.value}`,u.inline=!0,u.type="equation",u.version=1,delete u.trigger,delete u.value;continue}this._validateLexicalNodeHasToCodoxNodeApi(o),n.getEditorState().read(()=>{i=o.toCodoxNode()});let d,f,p=Dy[i.type],h=`Custom node "${o.__type}" invalid .toCodoxNode() implementation: `;if(!p)throw new Error(`${h}converted node type must be one of supported core and official playground nodes`);if(!i.hasOwnProperty("codox_metadata"))throw new Error(`${h} codox_metadata property is missing`);if(typeof i.codox_metadata!="object")throw new Error(`${h}codox_metadata property must be object`);if(!i.codox_metadata.hasOwnProperty("type"))throw new Error(`${h}codox_metadata property must contain original custom node type`);s.update(()=>{let{klass:S}=s._nodes.get(i.type);d=S.importJSON(Hy(Hy({},i),{},{___ignoreCodox:!0})),f=d.exportJSON()});const m=yI(i,mI);let g=Object.keys(m),b=Object.keys(f),v=[...new Set([...g,...b])];for(let S of v){if(f.type==="text"&&S==="text"&&!i[S])throw new Error(`${h}converted node must have non-empty "text" attrribute`);if(!i.hasOwnProperty(S)&&f.hasOwnProperty(S))i[S]=f[S];else if(i.hasOwnProperty(S)&&f.hasOwnProperty(S)&&typeof i[S]!=typeof f[S])i[S]=f[S];else if(i.hasOwnProperty(S)&&!f.hasOwnProperty(S)){if(S==="_ext_props")continue;delete i[S]}}this._maintainCodoxIdsForConvertedNode(o,i);const _=a[a.length-1];let E=Uc(a.slice(0,a.length-2),t);u.children&&(i.children=u.children),E.children[_]=i,pt.default.debug("[customNodesConverter][convertCustomNodesForSyncInJsonState] converted for sync: ",{jsonNode:u,convertedNode:i,validationConvertedLexicalNode:d,validationJsonNode:f,state:JSON.parse(JSON.stringify(t))})}return t}convertCustomNodesFromSyncInJsonState(t,n){if(!t)return null;for(let e in this.nodesToTransform){let{lexicalNode:s,path:r}=this.nodesToTransform[e],o=Uc(r,t);if(!o)continue;if(o.codox_metadata&&o.codox_metadata.originalNodeTransformedByCodox&&typeof o.codox_metadata.originalNodeTransformedByCodox=="object"&&o.type==="equation"&&o.codox_metadata.originalNodeTransformedByCodox.type==="beautifulMention"){const h=o.codox_metadata.originalNodeTransformedByCodox;let m=o.equation.split(h.trigger)[1];o.value=m,o.trigger=h.trigger,o.type=h.type,delete o.equation,delete o.inline,delete o.codox_metadata;continue}if(!o.codox_metadata||typeof o.codox_metadata!="object")continue;let a=n._nodes,c=o.codox_metadata;if(!c.type)continue;let{klass:i}=a.get(c.type)||{};if(!i)continue;this._validateCustomNodeClassHasFromCodoxNodeApi(i);let u=i.fromCodoxNode(o);this._maintainCodoxIdsForConvertedNode(o,u),o.children&&(u.children=o.children),pt.default.debug("[customNodesConverter][convertCustomNodesFromSyncInJsonState] transformed from sync: ",o,u);const d=r[r.length-1],f=r.slice(0,r.length-2);let p=Uc(f,t);p?p.children[d]=u:pt.default.warn("[customNodesConverter][convertCustomNodesFromSyncInJsonState] parent in json state not found: ",{jsonNode:o,convertedNode:u,parentPath:f})}return t}convertCustomJsonNodeFromSync(t,n){if(t.codox_metadata&&t.codox_metadata.originalNodeTransformedByCodox&&typeof t.codox_metadata.originalNodeTransformedByCodox=="object"&&t.type==="equation"&&t.codox_metadata.originalNodeTransformedByCodox.type==="beautifulMention"){let a=t.equation.split(originalJsonNode.trigger)[1];return originalJsonNode.value=a,originalJsonNode}if(!t.codox_metadata||typeof t.codox_metadata!="object")return t;let e=n._nodes,s=t.codox_metadata;if(!s.type)return t;let{klass:r}=e.get(s.type)||{};if(!r)return t;this._validateCustomNodeClassHasFromCodoxNodeApi(r);let o=r.fromCodoxNode(t);return this._maintainCodoxIdsForConvertedNode(t,o),t.children&&(o.children=t.children),pt.default.debug("[customNodesConverter][convertCustomJsonNodeFromSync] transformed single node from sync: ",{jsonNode:t,convertedNode:o}),o}}const SI=function(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];try{let n=(0,Dt.createEditor)({namespace:"validation",nodes:[...t],onError:a=>{throw a},parentEditor:null});const e=new Zx("validation_"+n.getKey()),s=n.parseEditorState(l);if(s.isEmpty())return;n.setEditorState(s);let r=n.getEditorState();const o=r._nodeMap[Symbol.iterator]();for(const a of o){let[c,i]=a;if(i&&(e.trackBlacklisted(i,Ei.created,r),e.isBlacklistedFound()))throw new Error(eP)}}catch(n){throw n}};class EI{constructor(t){pt.default.debug("[TablesValidator] constructor invoked for editor key: ",t),this.removeCandidateTableKeys=new Set,this.validateTableCandidateKeys=new Set,this.tableFixActions=[]}_scanForCellHeaderState(t,n,e,s){if(n.length<s)return null;let r,o=n.some(c=>c.__headerState===Ua.BOTH||c.__headerState===Ua.ROW),a=t.some((c,i)=>{if(c.__size<s)return!1;let u=c.getChildAtIndex(e);return!(!u||u.__headerState!==Ua.BOTH&&u.__headerState!==Ua.COLUMN)});return o&&a?r=Ua.BOTH:o&&!a?r=Ua.ROW:a&&!o&&(r=Ua.COLUMN),r}_isValidCellChildren(t){for(let n of t)if(Vc(n)||!Jc(n))return!1;return!0}_createEmptyCell(){let t=(0,kr.$createTableCellNode)();return t.append((0,Dt.$createParagraphNode)()),t}_wrapInvalidCellChildrenIntoParagraph(t){let n=(0,Dt.$createParagraphNode)().getWritable(),e=t.getChildren();(t=t.getWritable()).__first=n.__key,t.__last=n.__key,t.__size=1,n.__parent=t.__key,e.forEach((s,r)=>{(s=s.getWritable()).__parent=null,n.append(s)})}_createFixAction_APPEND_CELLS_TO_ROW(t,n){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - APPEND_CELLS_TO_ROW] invoked: ",{rowKey:t,numOfCellsToAppend:n});let e=(0,Dt.$getNodeByKey)(t);for(;n;){let s=(0,kr.$createTableCellNode)().append((0,Dt.$createParagraphNode)());s.setRowSpan(1).setColSpan(1),e.append(s),n--}}}_createFixAction_ADD_PARAGRAPH_TO_EMPTY_CELL(t){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - ADD_PARAGRAPH_TO_EMPTY_CELL] invoked: ",{cellKey:t}),(0,Dt.$getNodeByKey)(t).append((0,Dt.$createParagraphNode)())}}_createFixAction_WRAP_CELL_CHILDREN_IN_PARAGRAPH(t){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - WRAP_CELL_CHILDREN_IN_PARAGRAPH] invoked: ",{cellKey:t});let n=(0,Dt.$getNodeByKey)(t);this._wrapInvalidCellChildrenIntoParagraph(n)}}_createFixAction_ADD_ROW_CELL_TO_TABLE_NODE(t){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - ADD_ROW_CELL_TO_EMPTY_TABLE_NODE] invoked: ",{tableKey:t});let n=(0,Dt.$getNodeByKey)(t),e=(0,kr.$createTableRowNode)();e.append(this._createEmptyCell()),n.append(e)}}_createFixAction_ADD_CELL_TO_EMPTY_ROW_NODE(t,n){return()=>{for(n||(n=1);n;)(0,Dt.$getNodeByKey)(t).append(this._createEmptyCell()),n--}}_createFixAction_WRAP_INVALID_ROW_NODE(t,n){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - WRAP_INVALID_ROW_NODE] invoked: ",{tableKey:t,rowKey:n});let e=(0,Dt.$getNodeByKey)(t);if(!e)return;let s=(0,Dt.$getNodeByKey)(n);if(!s)return;e=e.getWritable(),s=s.getWritable();let r=s.getPreviousSibling(),o=s.getNextSibling();s.__parent=null,s.__prev=null,s.__next=null;let a=(0,kr.$createTableRowNode)();if((0,kr.$isTableCellNode)(s)){let c=s.getChildren();c.length?this._isValidCellChildren(c)||this._wrapInvalidCellChildrenIntoParagraph(s):s.append((0,Dt.$createParagraphNode)()),a.append(s)}else{let c=this._isValidCellChildren([s]),i=(0,kr.$createTableCellNode)();if(a.append(i),c)i.append(s);else{let u=(0,Dt.$createParagraphNode)();u.append(s),i.append(u)}}a.__parent=e.__key,e.__first===s.__key&&(e.__first=a.__key),e.__last===s.__key&&(e.__last=a.__key),r&&(r=r.getWritable(),r.__next=a.__key,a.__prev=r.__key),o&&(o=o.getWritable(),o.__prev=a.__key,a.__next=o.__key)}}_createFixAction_WRAP_INVALID_CELL_NODE(t,n){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - WRAP_INVALID_CELL_NODE] invoked: ",{rowKey:t,cellKey:n});let e=(0,Dt.$getNodeByKey)(t);if(!e)return;let s=(0,Dt.$getNodeByKey)(n);if(s.remove(),s=(0,Dt.$createParagraphNode)(),!s)return;e=e.getWritable(),s=s.getWritable();let r=s.getPreviousSibling(),o=s.getNextSibling(),a=(0,kr.$createTableCellNode)();if(a.__parent=e.__key,e.__first===s.__key&&(e.__first=a.__key),e.__last===s.__key&&(e.__last=a.__key),r&&(r=r.getWritable(),r.__next=a.__key,a.__prev=r.__key),o&&(o=o.getWritable(),o.__prev=a.__key,a.__next=o.__key),s.__parent=null,s.__prev=null,s.__next=null,this._isValidCellChildren([s]))a.append(s);else{let c=(0,Dt.$createParagraphNode)();c.append(s),a.append(c)}}}_createFixAction_APPLY_HEADER_STATE_TO_CELL(t,n){return()=>{pt.default.debug("[TablesValidator][FIX TABLE ACTION - APPLY_HEADER_STATE_TO_CELL] invoked: ",{cellKey:t,headerStateToApply:n});let e=(0,Dt.$getNodeByKey)(t);e&&(e=e.getWritable(),e.__headerState=n)}}clear(){this.removeCandidateTableKeys=new Set,this.validateTableCandidateKeys=new Set,this.tableFixActions=[]}tableRemoveEventListener(t,n){let e=n.getEditorState(),s=e._selection;if(pt.default.debug(`[${t}]`,{selection:s}),!(0,Dt.$isRangeSelection)(s))return;let r=[];try{let o=e._nodeMap.get(s.anchor.key),a=e._nodeMap.get(s.focus.key);o&&a&&(r=s.isBackward()?a.getNodesBetween(o):o.getNodesBetween(a))}catch(o){pt.default.warn("[TablesValidator][tableRemoveEventListener] get range selection nodes internal lexical error: ",o)}r.forEach(o=>{(0,kr.$isTableNode)(o)&&this.removeCandidateTableKeys.add(o.__key)})}tableNodeRemoveListener(t){this.removeCandidateTableKeys.has(t)&&this.removeCandidateTableKeys.delete(t)}shouldGCRemovedTables(){return!!this.removeCandidateTableKeys.size}gcRemovedTables(t){pt.default.debug("[TablesValidator][gcRemovedTable] candidate table keys ",{tableKeys:this.removeCandidateTableKeys}),t.update(()=>{Array.from(this.removeCandidateTableKeys).forEach(n=>{let e=(0,Dt.$getNodeByKey)(n);e&&e.remove()}),this.removeCandidateTableKeys.clear(),(0,Dt.$addUpdateTag)(ls.historic)})}tableUpdateListener(t){this.validateTableCandidateKeys.add(t)}tableRowNodeChangesListener(t){let n=arguments.length>1&&arguments[1]!==void 0&&arguments[1],e=(arguments.length>2?arguments[2]:void 0).getEditorState()._nodeMap.get(t);if(!e)return void(n&&pt.default.debug("[TablesValidator][tableRowNodeChangesListener] no row node found in lexical: ",{tableRowNodeKey:t}));let s=e.__parent;s?this.validateTableCandidateKeys.add(s):pt.default.debug("[tableRowNodeChangesListener] no parent table for row node found in lexical: ",{rowNode:e})}tableCellNodeChangesListener(t,n){let e=n.getEditorState(),s=e._nodeMap.get(t);if(!s||!s.__parent)return;let r=e._nodeMap.get(s.__parent);r&&r.__parent&&this.validateTableCandidateKeys.add(r.__parent)}shouldValidateUpdatedTables(){return!!this.validateTableCandidateKeys.size}validateUpdatedTables(t){let n=Array.from(this.validateTableCandidateKeys);return t.getEditorState().read(()=>{for(let e of n){let s=(0,Dt.$getNodeByKey)(e);if(!s)continue;let r=s.getChildren();if(!r.length){this.tableFixActions.push(this._createFixAction_ADD_ROW_CELL_TO_TABLE_NODE(e));continue}let o=0;r.forEach(u=>{u.__size>o&&(o=u.__size)});let a=[],c=r.map((u,d)=>{if(!(0,kr.$isTableRowNode)(u))return this.tableFixActions.push(this._createFixAction_WRAP_INVALID_ROW_NODE(e,u.__key)),"invalid_row_node";let f=u.getChildren();if(!f.length&&!a.length)return this.tableFixActions.push(this._createFixAction_ADD_CELL_TO_EMPTY_ROW_NODE(u.__key,o)),"empty_row_should_add_cell";if(!f.length&&a.length)return a=[],"empty_row_should_be_empty";let p=0;if(a.length){let m=[];a.forEach(g=>{let[b,v]=g;p+=v,b--,b&&m.push([b,v])}),a=[...m]}let h=f.map((m,g)=>{if(!(0,kr.$isTableCellNode)(m))return this.tableFixActions.push(this._createFixAction_WRAP_INVALID_CELL_NODE(u.__key,m.__key)),p++,"invalid_cell_node_should_wrap_in_cell";let b,v=m.getChildren(),_=!v.length;if(_?this.tableFixActions.push(this._createFixAction_ADD_PARAGRAPH_TO_EMPTY_CELL(m.__key)):(b=this._isValidCellChildren(v),b||this.tableFixActions.push(this._createFixAction_WRAP_CELL_CHILDREN_IN_PARAGRAPH(m.__key))),m.__rowSpan>1){let E=m.__rowSpan,S=m.__colSpan;a.push([E-1,S])}if(p+=m.__colSpan,m.__headerState===Ua.NO_STATUS){let E=this._scanForCellHeaderState(r,f,g,o);E&&this.tableFixActions.push(this._createFixAction_APPLY_HEADER_STATE_TO_CELL(m.__key,E))}return{cellKey:m.__key,rowKey:u.__key,tableKey:e,colSpan:m.__colSpan,rowSpan:m.__rowSpan,headerState:m.__headerState,childrenAreValid:b,isEmptyCell:_}});if(p<o){let m=o-p;this.tableFixActions.push(this._createFixAction_APPEND_CELLS_TO_ROW(u.__key,m))}return{realRowLength:p,rowKey:u.__key,tableKey:e,cells:h}}),i=!this.tableFixActions.length;pt.default[i?"debug":"warn"](`[TablesValidator][validateUpdatedTables] IS TABLE VALID: ${i}`,{tableNodeKey:e,tableValidationMatrix:c,requiredRowLength:o}),this.validateTableCandidateKeys.delete(e)}}),!this.tableFixActions.length}shouldFixTablesStructure(){return!!this.tableFixActions.length}fixTablesStructure(t){this.tableFixActions.length&&(pt.default.debug("[TablesValidator][fixTablesStructure]: fix actions to apply - count: ",this.tableFixActions.length),t.update(()=>{for(let n of this.tableFixActions)n();this.tableFixActions=[],(0,Dt.$addUpdateTag)(ls.historic)}))}ensureDocTablesAreValid(t){return this.shouldGCRemovedTables()?(pt.default.warn("[TablesValidator][GARBAGE COLLECT TABLE NODES AFTER TABLE REMOVAL ATTEMPT]"),this.gcRemovedTables(t),!1):!(this.shouldValidateUpdatedTables()&&(pt.default.debug("[TablesValidator][shouldValidateUpdatedTables] invoked"),!this.validateUpdatedTables(t)))||(pt.default.warn("[TablesValidator][shouldValidateUpdatedTables] INVALID LEXICAL TABLE(S) STRUCTURE FOUND - FIXING"),this.fixTablesStructure(t),!1)}}class CI{constructor(t){pt.default.debug("[UnsupportedNodesConverter][constructor] invoked for editor key: ",t),this.usupportedNodeTypesConvertMap={autolink:{checkForSync:n=>n.type==="autolink",forSync:n=>(n.type="link",n._ext_props={isUnlinked:n.isUnlinked},delete n.isUnlinked,n),checkFromSync:n=>n.type==="link"&&n._ext_props,fromSync:n=>(n.type="autolink",n.isUnlinked=n._ext_props.isUnlinked,delete n._ext_props,n)},overflow:{checkForSync:n=>n.type==="overflow",forSync:n=>(n.type="paragraph",n.textFormat=0,n._ext_props={overflow:!0},n),checkFromSync:n=>n.type==="paragraph"&&n._ext_props&&n._ext_props.overflow===!0,fromSync:n=>(n.type="overflow",delete n.textFormat,delete n._ext_props,n)}},this.trackedNodes={}}trackUnsupportedNode(t,n){if(!this.usupportedNodeTypesConvertMap[t.__type])return;const e=Bd(t);this.trackedNodes[t.__key]={lexicalNode:t,path:e}}untrackUnsupportedNode(t,n){this.trackedNodes[t]&&delete this.trackedNodes[t]}convertUnsupportedNodesForSyncInJsonState(t,n){if(!t)return null;for(let e in this.trackedNodes){let{lexicalNode:s}=this.trackedNodes[e],r=null,o=n.getEditorState();if(!o._nodeMap.get(s.__key))continue;o.read(()=>{r=Bd(s),this.trackedNodes[e].path=r});const a=r[r.length-1];let c=Uc(r.slice(0,r.length-2),t).children[a];c&&(this.usupportedNodeTypesConvertMap.autolink.checkForSync(c)&&(c=this.usupportedNodeTypesConvertMap.autolink.forSync(c)),this.usupportedNodeTypesConvertMap.overflow.checkForSync(c)&&(c=this.usupportedNodeTypesConvertMap.overflow.forSync(c)))}return t}convertUnsupportedNodesFromSyncInJsonState(t,n){if(!t)return null;for(let e in this.trackedNodes){let{lexicalNode:s,path:r}=this.trackedNodes[e],o=Uc(r,t);o&&(this.usupportedNodeTypesConvertMap.autolink.checkFromSync(o)&&(o=this.usupportedNodeTypesConvertMap.autolink.fromSync(o)),this.usupportedNodeTypesConvertMap.overflow.checkFromSync(o)&&(o=this.usupportedNodeTypesConvertMap.overflow.fromSync(o)))}return t}convertUnsupportedJsonNodeFromSync(t,n){return this.usupportedNodeTypesConvertMap.autolink.checkFromSync(t)&&(t=this.usupportedNodeTypesConvertMap.autolink.fromSync(t)),this.usupportedNodeTypesConvertMap.overflow.checkFromSync(t)&&(t=this.usupportedNodeTypesConvertMap.overflow.fromSync(t)),t}}const jI=CI;class kI{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};pt.default.debug("[NodesConversionsManager][constructor] invoked for editor key: ",t),this.customNodesConverter=n.customNodesConverter,this.unsupportedNodesConverter=n.unsupportedNodesConverter}trackNodeForConversion(t,n){this.customNodesConverter.trackCustomNodeForConvert(t,n),this.unsupportedNodesConverter.trackUnsupportedNode(t,n)}untrackNodeForConversion(t,n){this.customNodesConverter.untrackCustomNodeForConvert(t,n),this.unsupportedNodesConverter.untrackUnsupportedNode(t,n)}convertNodesForSyncInJsonState(t,n){return t=this.unsupportedNodesConverter.convertUnsupportedNodesForSyncInJsonState(t,n),this.customNodesConverter.convertCustomNodesForSyncInJsonState(t,n)}convertNodesFromSyncInJsonState(t,n){return t=this.unsupportedNodesConverter.convertUnsupportedNodesFromSyncInJsonState(t,n),this.customNodesConverter.convertCustomNodesFromSyncInJsonState(t,n)}convertJsonNodeFromSync(t,n){return t=this.unsupportedNodesConverter.convertUnsupportedJsonNodeFromSync(t,n),this.customNodesConverter.convertCustomJsonNodeFromSync(t,n)}}const TI=kI;function Xx(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function AI(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Xx(Object(n),!0).forEach(function(e){OI(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Xx(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function OI(l,t,n){return(t=NI(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function NI(l){var t=PI(l,"string");return typeof t=="symbol"?t:t+""}function PI(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}class II{constructor(){this._hub={}}initForEditor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(!t||this._hub[t])return;pt.default.debug("[Hub][initForEditor] invoked for editorKey: ",t);const n=new xI(t),e=new jI(t);this._hub[t]={codoxImpl:new lP(t),codoxRemoteSelection:new uI(t),tablesValidator:new EI(t),customNodesConverter:n,unsupportedNodesConverter:e,nodesConversionsManager:new TI(t,{customNodesConverter:n,unsupportedNodesConverter:e}),nestedEditorsProcessor:new gI(t),contentNestingsWatcher:new Zx(t),codoxLexicalEditorManager:new $P(t),codoxNodesMap:new YP(t),codoxComments:new hP(t),configBackup:{},clientEventListeners:{},contentChangedHookClientCallback:null}}getCodoxImpl(t){return this.initForEditor(t),this._hub[t].codoxImpl}getCodoxRemoteSelection(t){return this.initForEditor(t),this._hub[t].codoxRemoteSelection}getTablesValidator(t){return this.initForEditor(t),this._hub[t].tablesValidator}getCustomNodesConverter(t){return this.initForEditor(t),this._hub[t].customNodesConverter}getUnsupportedNodesConverter(t){return this.initForEditor(t),this._hub[t].unsupportedNodesConverter}getNodesConversionsManager(t){return this.initForEditor(t),this._hub[t].nodesConversionsManager}getNestedEditorsProcessor(t){return this.initForEditor(t),this._hub[t].nestedEditorsProcessor}getContentNestingsWatcher(t){return this.initForEditor(t),this._hub[t].contentNestingsWatcher}getCodoxLexicalEditorManager(t){return this.initForEditor(t),this._hub[t].codoxLexicalEditorManager}getCodoxNodesMap(t){return this.initForEditor(t),this._hub[t].codoxNodesMap}getCodoxComments(t){return this.initForEditor(t),this._hub[t].codoxComments}getConfigBackup(t){return this._hub[t].configBackup}setConfigBackup(t,n){this._hub[t].configBackup=AI({},n)}getClientEventListeners(t){return this._hub[t].clientEventListeners}getClientEventListenerByEvent(t,n){return this._hub[t].clientEventListeners[n]}setClientEventListener(t,n,e){this._hub[t].clientEventListeners[n]=e}getContentChangedHookClientCallback(t){return this._hub[t].contentChangedHookClientCallback}setContentChangedHookClientCallback(t,n){this._hub[t].contentChangedHookClientCallback=n}gc(t){delete this._hub[t]}}const MI=new II,Un=MI,RI=["___ignoreCodox"];function DI(l,t){if(l==null)return{};var n,e,s=LI(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function LI(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}function eS(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function tS(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?eS(Object(n),!0).forEach(function(e){FI(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):eS(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function FI(l,t,n){return(t=BI(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function BI(l){var t=zI(l,"string");return typeof t=="symbol"?t:t+""}function zI(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}const sh=()=>KN(),nS=l=>typeof l=="number";function Wc(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const n=function(){for(var e=arguments.length,s=new Array(e),r=0;r<e;r++)s[r]=arguments[r];return l.apply(this,s)};return Object.defineProperty(n,"name",{value:t,writable:!0}),n}const zl=l=>l.__type==="root"||l.type==="root",rS=l=>zl(l.getParent()),Lr=l=>l.__type===eh.text||l.type===eh.text||l.hasOwnProperty("__text")||l.hasOwnProperty("text"),Jc=l=>(0,Dt.$isElementNode)(l),Vc=l=>(0,kr.$isTableNode)(l)||(0,kr.$isTableRowNode)(l)||(0,kr.$isTableCellNode)(l),UI=l=>!l.getChildren,oS=l=>!!l.getChildren,Tr=l=>(0,Dt.$isDecoratorNode)(l),zd=l=>(0,BN.$isLinkNode)(l),Ud=l=>l.__type==="mark"||l.type==="mark",qy=l=>(0,Dt.$isLineBreakNode)(l),qa=l=>Lr(l)||qy(l),Wy=l=>l.__type===eh.horizontalrule||l.type===eh.horizontalrule,HI=l=>l.__type==="image"||l.type==="image",qI=l=>l.__type==="inline-image"||l.type==="inline-image",iS=l=>{if(qa(l)||zd(l)||Ud(l))return!1;if(!l.__parent||l.__parent==="root"||(0,Dt.$isParagraphNode)(l))return!0;let t=l.getParent().getChildren();return t.length===1&&t[0].__key===l.__key?!((Tr(l)||zd(l)||Ud(l))&&!Wy(l)):!t.some(n=>{let e=Wy(n);return n.__key!==l.__key&&(qa(n)||Tr(n)&&!e||zd(n)||Ud(n))})},sS=(l,t)=>{const n=Un.getCodoxNodesMap(t).get(l.codoxId);return!n||l.__key===n.__key},Kc=function(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,n=arguments.length>2?arguments[2]:void 0,e=arguments.length>3?arguments[3]:void 0;try{l.getWritable&&(l=l.getWritable());const s=t||sh();l.codoxId=s,Un.getCodoxNodesMap(e).add(s,l,n)}catch(s){pt.default.warn("[addCodoxIdToNode] Failed to add codoxId: ",{node:l,preparedCodoxId:t,wasIdGenerated:!t,err:s})}},aS=(l,t)=>{Un.getCodoxNodesMap(t).remove(l.codoxId),delete l.codoxId},WI=(l,t)=>{if(!oS(l)||!l.getChildrenSize())return;const n=l.getChildren();if(n.some(r=>!!(0,Dt.$isParagraphNode)(r)))return;let e=!1,s=[];for(let r of n)(qa(r)||Tr(r)||zd(r)||Ud(r))&&!e&&(Wy(r)||(e=!0)),(oS(r)||Tr(r))&&s.push(r);for(let r of s)e||r.codoxId?e&&r.codoxId&&(r=r.getWritable(),aS(r,t)):(r=r.getWritable(),Kc(r,null,`${r.__type}_codoxIdMaintainance`,t))},Hd=function(l,t){let{setup:n=!1,update:e=!1,remove:s=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(HI(l)||qI(l)){if(n&&t.setDecoratorId(l.codoxDId,l.exportJSON()),e){let r=t.getDecoratorById(l.codoxDId);if(!r)return;let o=!0,a=l.__src||"",c=r.src||"";if(a.length!==c.length)o=!1;else{let i=a,u=c;if(i.startsWith("data")&&u.startsWith("data")){let d=i.length-50;for(let f=i[i.length-1];f>d;f--)if(i[f]!==u[f]){o=!1;break}}else o=i===u}o||(t.removeDecoratorId(l.codoxDId),l.codoxDId=sh()),t.setDecoratorId(l.codoxDId,l.exportJSON())}s&&t.removeDecoratorId(l.codoxDId)}},JI=l=>{const t=tS({},l);for(const n in l)l[n]===void 0&&l.hasOwnProperty(n)&&delete t[n];return t},VI=l=>{const t=`__nativeCreateDOM_${l.name}`;l.prototype[t]=Wc(l.prototype.createDOM,t),l.prototype.createDOM=function(n,e){let s=(0,Dt.$getEditor)(),r=s.getKey(),o=Un.getCodoxNodesMap(r),a=Un.getNodesConversionsManager(r);if(iS(this))if(this.codoxId){if(!sS(this,r)){let i=o.get(this.codoxId);i.__type===this.__type&&this.isAttached()&&!i.isAttached()?(pt.default.warn("[createDOM][Non-unique codoxId] overwrite abandoned existing node with latest: ",{latestNode:this,existingNode:i}),o.add(this.codoxId,this,`${this.__type}_createDOM`)):Kc(this,null,`${this.__type}_createDOM`,r)}}else Kc(this,null,`${this.__type}_createDOM`,r);else this.codoxId&&aS(this,r);Tr(this)&&!this.codoxDId&&(this.codoxDId=sh(),Hd(this,o,{setup:!0})),Un.getNestedEditorsProcessor(r).manageNestedEditorInLexicalNode(this,"createDOM",s);let c=this[t](n,s);return c.__codox_track=!0,a.trackNodeForConversion(this,s),c}},KI=l=>{const t=`__nativeUpdateDOM_${l.name}`;return l.prototype[t]=Wc(l.prototype.updateDOM,t),l.prototype.updateDOM=function(){let n=(0,Dt.$getEditor)().getKey(),e=(Un.getCodoxLexicalEditorManager(n),Un.getCodoxNodesMap(n));const s=this[t](...arguments);return WI(this,n),this.codoxDId&&Hd(this,e,{update:!0}),s},l},GI=l=>{const t=`__nativeRemove_${l.name}`;return l.prototype[t]=Wc(l.prototype.remove,t),l.prototype.remove=function(){let n=(0,Dt.$getEditor)(),e=n.getKey(),s=Un.getCodoxNodesMap(e),r=Un.getNodesConversionsManager(e);const o=this.codoxId,a=this.codoxDId;return o&&s.remove(o),a&&Hd(this,s,{remove:!0}),r.untrackNodeForConversion(this.__key,n),Un.getNestedEditorsProcessor(e).gcNestedEditorListenerInLexicalNode(this,"remove"),this[t](...arguments)},l},$I=l=>{const t=`__nativeExportJSON_${l.name}`;l.prototype[t]=Wc(l.prototype.exportJSON,t),l.prototype.exportJSON=function(){const n=this[t]();return this.codoxId&&(n.codoxId=this.codoxId),this.codoxDId&&(n.codoxDId=this.codoxDId),Lr(this)&&nS(n.format)&&this.hasFormat&&(n.format=ZN(this)),Lr(n)&&n.style&&(n.style.endsWith(";")||(n.style+=";")),JI(n)}},YI=l=>{const t="__nativeImportJSON";l[t]=Wc(l.importJSON,t),l.importJSON=function(n){let{___ignoreCodox:e}=n;const s=tS({},DI(n,RI));Lr(s)&&!nS(s.format)&&(s.format=YN(s.format)),Lr(s)&&s.style&&(s.style.endsWith(";")||(s.style+=";"));const r=l[t](s);if(e)return r;let o=(0,Dt.$getEditor)(),a=o.getKey(),c=Un.getNestedEditorsProcessor(a),i=Un.getCodoxNodesMap(a);c.manageNestedEditorInLexicalNode(r,"importJSON",o);const u=iS(r);return u&&s.codoxId&&(i.hasPastedId(s.codoxId)&&i.has(s.codoxId)?(i.removePastedId(s.codoxId),Kc(r,null,`${r.__type}_importJSON_pasted`,a)):Kc(r,s.codoxId,`${r.__type}_importJSON`,a)),u&&!r.codoxId&&Kc(r,null,`${r.__type}_${r.__key}_importJSON_should_have_id`,a),s.codoxDId&&(r.codoxDId=s.codoxDId,Hd(r,i,{setup:!0})),r}},ZI=l=>{const t="__nativeClone";l[t]=Wc(l.clone,t),l.clone=function(n){const e=l[t](n);let s=(0,Dt.$getEditor)(),r=Un.getNestedEditorsProcessor(s.getKey()),o=Un.getCodoxNodesMap(s.getKey());return n.codoxId&&(e.codoxId=n.codoxId),n.codoxDId&&(e.codoxDId=n.codoxDId,Hd(e,o,{setup:!0})),r.manageNestedEditorInClonedLexicalNode(n,e,s),e}},QI=l=>{let t=!1,n=!1,e=!1,s=!1;for(let o of l)typeof o=="object"&&o.replace&&o.with||(o.name===Dt.TextNode.name?t=!0:o.name===Dt.ParagraphNode.name?n=!0:o.name===Dt.LineBreakNode.name?e=!0:o.name===Bi.MarkNode.name&&(s=!0));let r=[];return t||r.push(Dt.TextNode),n||r.push(Dt.ParagraphNode),e||r.push(Dt.LineBreakNode),s||r.push(Bi.MarkNode),r.length?[...r,...l]:l},XI=l=>{let t=l.getType();if(t!=="beautifulMention"&&!Dy[t]){if(!l.prototype.toCodoxNode)return`"${t}" custom node implementation is missing instance conversion api .toCodoxNode()`;if(!l.fromCodoxNode)return`"${t}" custom node implementation is missing class static conversion api .fromCodoxNode()`;const n=(0,Dt.createEditor)({nodes:[l]});let e;if(n._headless=!0,n.update(()=>{let s=new l,r=1;for(let u in s)s[u]===void 0&&(s[u]=`${r}`,r++);let o=s.exportJSON(),a=s.toCodoxNode(),c=l.fromCodoxNode(a),i=By(o,c);s.remove(),i||(e=`"${l.name}" custom node conversion api implementation is invalid. Input in .toCodoxNode() must match with output in .fromCodoxNode(). Check attributes preserving during conversion - must be same for .exportJSON() and for fromCodoxNode() outputs.
1486
1483
  Tested exportJSON output: ${JSON.stringify(o)}
1487
- Tested fromCodoxNode() output: ${JSON.stringify(c)}`)},{discrete:!0}),e)return e}},lI=function(){return sI(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(l=>{let t,n=typeof l=="object"&&l.replace&&l.with;if(t=n?l.replace:l,t.hasOwnProperty("__isCodoxExtended"))return n?l:t;let e=aI(t);if(e)throw new Error(`[registerNodesWithCodox] ${e}`);return eI(t),tI(t),rI(t),nI(t),oI(t),iI(t),Object.defineProperty(t,"__isCodoxExtended",{value:!0,writable:!1}),n?(l.replace=t,l):t})};function Hx(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function cI(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Hx(Object(n),!0).forEach(function(e){uI(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Hx(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function uI(l,t,n){return(t=dI(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function dI(l){var t=fI(l,"string");return typeof t=="symbol"?t:t+""}function fI(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}function pI(){let{node:l,codoxId:t=null,codoxDId:n=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!l)return null;const e=[l];for(;e.length;){const s=e.pop();if(t&&s.codoxId&&s.codoxId===t||n&&s.codoxDId&&s.codoxDId===n)return s;Array.isArray(s.children)&&e.push(...s.children)}return null}function oh(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,n=arguments.length>2?arguments[2]:void 0;l=Un.getNodesConversionsManager(n.getKey()).convertJsonNodeFromSync(l,n);let e=n._nodes;const{klass:s}=e.get(l.type)||{};if(!s)return;const r=s.importJSON(l);if(l.children&&l.children.length)for(const o of l.children)oh(o,r,n);return t&&t.getChildrenSize&&t.splice(t.getChildrenSize(),0,[r]),r}function ih(l){if(l.getChildren)for(let t of l.getChildren())ih(t);l.remove()}function qx(l){l.__parent=null,l.__next=null,l.__prev=null}function Wx(l,t){return!!Xp(l)&&!(typeof t!="object"||!t.editorState||(l.update(()=>{try{let n=(0,Dt.$getSelection)();const e=l.parseEditorState(t.editorState);if(e.isEmpty())return(0,Dt.$getRoot)().clear(),!0;(0,Dt.$setSelection)(n),l.setEditorState(e)}catch(n){pt.default.error("[stateUpdates][updateNestedEditorState] update nested state and selection error: ",n)}}),0))}function hI(l,t){let n=t;for(const e of l)n=n[e];return n}function ea(){let{pathArray:l,newStateJSON:t=null,searchInNewState:n=!1,editor:e=null,codoxNodesMap:s,currentStateJSON:r}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(n&&!t)return pt.default.debug("[getLexicalNodeByPathOutOfJSONState]: new state is not providerd for search - stop",{pathArray:l,newStateJSON:t,searchInNewState:n}),null;let o=null,a=null;if(a=n?t:r||(e?Ll(e.getEditorState()):null),!a)return null;let c=null;try{c=hI(l,a)}catch{}return c&&(o=Bl(c)?(0,Dt.$getRoot)():s.get(c.codoxId)),o||(n?o:ea({pathArray:l,newStateJSON:t,searchInNewState:!0,editor:e,codoxNodesMap:s,currentStateJSON:r}))}function Jx(l,t){pt.default.debug("[applyFullLexicalStateReplace] clear current state and apply new");const n=(0,Dt.$getRoot)();n.clear();let e=t._nodes,s=Un.getNodesConversionsManager(t.getKey());function r(o){o=s.convertJsonNodeFromSync(o,t);const a=e.get(o.type).klass.importJSON(o);if(o.children)for(const c of o.children)a.append(r(c));return a}for(const o of l.root.children)n.append(r(o))}function gI(){let{newStateJSON:l=null,deltas:t=[],belongsToNestedEditor:n=!1,editor:e,currentStateJSON:s}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!t.length)return void pt.default.debug("[applyDeltasToLexicalState] stop, no deltas: ",t);let r=Un.getCodoxNodesMap(e.getKey());for(const o of t){let{p:a}=o;const c=[...a],i=c[c.length-1],u=i==="children",d=typeof i=="number",f=!d&&!u,p=c.findIndex(_=>_===Dl.editorState),h=p!==-1,m=!c.length;let g=o.hasOwnProperty("lm"),b=typeof o.lm=="number"||Array.isArray(o.lm),v=g&&b;if(m){if(n){pt.default.warn("Nested editor delta is invalid: ",{delta:o});continue}if(o.oi&&o.oi.root)return Jx(o.oi,e)}else if(h){let _=p-1,E=ea({pathArray:c.slice(0,_),newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(E){let S=c[_],w=Pd(S),y=E.getWritable()[w],x=c.slice(0,p),C=l;for(const T of x)C=C[T];if(!C){const T=pI({node:l.root,codoxDId:E.codoxDId||null,codoxId:E.codoxId||null});T&&(C=T[S])}Wx(y,C)}}else if(u){let _=o.oi;if(!_){pt.default.warn("[applyDeltasToLexicalState][====WARNING====] SKIPPED. Delta oi attr expected for path",{delta:o});continue}if(_.some(S=>!(!S.hasOwnProperty("text")||typeof S.text=="string"))){pt.default.warn("[applyDeltasToLexicalState][====WARNING====] SKIPPED. Delta oi children contain invalid text value",{delta:o});continue}c.length=c.length-1;let E=ea({pathArray:c,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(!E){pt.default.warn("[applyDeltasToLexicalState][====WARNING====] SKIPPED. lexicalParentNode is not found",{delta:o});continue}if(!E.getChildren){pt.default.warn("[applyDeltasToLexicalState][====WARNING====] SKIPPED. lexicalParentNode is not valid parrent node",{delta:o,lexicalParentNode:E});continue}if(_.some(S=>!!S.codoxDId)){try{E=E.getWritable()}catch(x){pt.default.warn("[applyDeltasToLexicalState][shouldUpdateLeaves] getWritable error: ",{err:x,delta:o,newStateJSON:l});continue}let S={};for(let x of E.getChildren())x.codoxDId?S[x.codoxDId]=x:ih(x);let w=[],y=["codoxDId","codoxId","__key","__parent","__prev","__next"];for(let x=0;x<_.length;x++){let C=_[x],T=x===0,R=x===_.length-1,F=null,I=x>=0?w[x-1]:null;if(C.codoxDId){let B=S[C.codoxDId];if(B){B=B.getWritable();let A=oh(C,null,e);if(pt.default.debug("[DELTA_DECORATOR_UPDATE]: ",{exisingDecorator:B,tmpDecorator:A}),!A){pt.default.debug("[DELTA_DECORATOR_UPDATE] UPADATE SKIPPED: ",{exisingDecorator:B,tmpDecorator:A});continue}for(let j in A)if(A.hasOwnProperty(j)&&!y.includes(j))if(Xp(A[j])){let O={editorState:Ll(A[j].getEditorState())};Wx(B[j],O)}else{let O=xy(j),L=C[O];if(L===B[j]||!C.hasOwnProperty(O))continue;let N=L!==void 0&&A[j]!==L?L:A[j];O!=="height"&&O!=="width"||A[j]==="inherit"&&L===0&&(N=A[j]),B[j]=N}A.remove(),qx(B),F=B,delete S[C.codoxDId]}}F||(F=oh(C,null,e),F.codoxDId&&F.__type==="excalidraw"&&F.__data==="[]"&&(F.__data="{}")),F=F.getWritable(),w.push(F),F.__parent=E.__key,T?(E.__first=F.__key,F.__prev=null,R&&(E.__last=F.__key)):R?(E.__last=F.__key,F.__next=null,F.__prev=I.__key,I.__next=F.__key):(F.__prev=I.__key,I.__next=F.__key),E.__size=w.length}for(let x in S){let C=S[x];C=C.getWritable(),qx(C),ih(C),delete S[x]}}else{let S=E.getChildren();for(let w of S)w.remove();for(const w of _){const y=oh(w,null,e);E.append(y)}}}else if(d){let _=!!o.ld&&!!o.li;if(pt.default.debug("[stateUpdates][applyDeltasToLexicalState] shouldUpdateFullBlock: ",{shouldReplace:_,delta:o}),o.ld&&!_){const E=o.ld,S=r.get(E.codoxId);if(pt.default.debug("[stateUpdates][applyDeltasToLexicalState] remove node: ",{lexicalNodeToRemove:S}),!S){pt.default.warn("[stateUpdates][applyDeltasToLexicalState] Missing lexical node when remove node from delta: ",{path:c,delta:o,newStateJSON:l,currentStateJSON:s,stateJSONFromEditor:e.getEditorState().toJSON(),codoxNodesMap:r});continue}S.getChildrenSize&&S.getChildrenSize()?(pt.default.debug("[stateUpdates][applyDeltasToLexicalState] delta.ld remove node with children",{lexicalNodeToRemove:S}),ih(S)):S.remove()}if(o.li){let E=e._nodes,S=Un.getNodesConversionsManager(e.getKey()),w=o.li;w=S.convertJsonNodeFromSync(w,e);const y=E.get(w.type).klass.importJSON(w);if(c.length===1&&c[0]==="root")(0,Dt.$getRoot)().splice(0,0,[y]);else{const x=c[c.length-1];c.length=c.length-2;let C=ea({pathArray:c,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});C&&(C.splice(x,0,[y]),_&&C.splice(x+1,1,[]))}if(w.children&&w.children.length){let C=function(T,R){T=x.convertJsonNodeFromSync(T,e);const F=E.get(T.type).klass.importJSON(T);if(R.splice(R.getChildrenSize(),0,[F]),T.children&&T.children.length)for(const I of T.children)C(I,F)},x=Un.getNodesConversionsManager(e.getKey());for(const T of w.children)C(T,y)}pt.default.debug("[stateUpdates][applyDeltasToLexicalState] insert node: ",{delta:o,lexicalNode:y})}if(o.oi||o.od){let{p:E,oi:S,od:w}=o,y=ea({pathArray:E,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(y)try{let x=y.getWritable();if(S){let C=Object.keys(S);for(let T of C)x[Pd(T)]=S[T]}if(w){let C=Object.keys(w);for(let T of C)delete x[Pd(T)]}}catch(x){pt.default.debug("[applyDeltasToLexicalState][delta oi/od] getWritable error: ",{err:x,delta:o})}}if(v){let{p:E,lm:S}=o;if(typeof S=="number"){let w=E[E.length-1],y=S,x=y<w,C=ea({pathArray:E,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(!C){pt.default.warn("[applyDeltasToLexicalState] LM: Lexical node to move not found by delta path: ",{delta:o});continue}let T=C.getParent().getChildren(),R=T[w],F=T[y];x?F.insertBefore(R):F.insertAfter(R)}else if(Array.isArray(S)){let w=ea({pathArray:E,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(!w){pt.default.warn("[applyDeltasToLexicalState] LM: Lexical node to move not found by delta path: ",{delta:o,path:E});continue}let y=S[S.length-1],x=[...S];if(E.length===3){let F=E[2],I=x[2];F!==I&&I>F&&(pt.default.warn("[applyDeltasToLexicalState] LM: MOVE PATH UPDATE ",{path:E,movePathArrayBefore:[...x],movePathArray:x}),x[2]+=1)}x.length=x.length-2;let C=ea({pathArray:x,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(!C){pt.default.warn("[applyDeltasToLexicalState] LM: Lexical parent node for move into, is not found by delta path: ",{delta:o});continue}let T=C.getChildren(),R=!T.length;if(pt.default.warn("[applyDeltasToLexicalState] LM:: ",{delta:o,targetLexicalNode:w,insertParentLexicalNode:C,insertChildren:T,shouldAppendToParent:R,insertChildPosition:y,movePathArray:x}),R)C.append(w);else{let F=T[y];F?F.insertBefore(w):pt.default.warn("[applyDeltasToLexicalState] LM: childNodeToInsertBefore is missing")}}}}else if(f){const _=c[c.length-1];let E=Pd(_);c.length=c.length-1;let S,w=ea({pathArray:c,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(!w){pt.default.warn("[stateUpdates][applyDeltasToLexicalState] Missing lexical node when update node attr from delta: ",{path:c,delta:o,newStateJSON:l,currentStateJSON:s});continue}try{S=w.getWritable()}catch(x){pt.default.debug("[applyDeltasToLexicalState][shouldUpdateBlockAttr] getWritable error: ",{err:x,delta:o})}if(!S)continue;let y=o.oi;if(_==="format"&&(y=sN(y)),_==="direction"&&(E="__dir"),!S.hasOwnProperty(E)){let x=Object.keys(S);for(let C of x){let T=xy(C);if(_.startsWith(T)){E=C;break}}}S[E]=y,pt.default.debug("[STATE_UPDATES_DELTAS][update node attribute]: ",{lexicalAttrName:E,jsonedAttrName:_,attrNewValue:y,writableNode:S,delta:o})}}}const mI=function(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];const t=[];l.forEach((s,r)=>{const o=r===0,a=r===l.length-1;o&&t.push([]),t[t.length-1].push(s),(c=>c.hasOwnProperty("lm")||c.hasOwnProperty("li")||c.hasOwnProperty("ld"))(s)&&!a&&t.push([])});const n=t.length===1,e={segmentedDeltas:t,isSingleSegment:n};return pt.default.debug("[segmentDeltas]: ",cI({fullDeltas:l},e)),e},yI=l=>{l.update(()=>{(0,Dt.$getRoot)().append($createParagraphNode())})},vI={applyDeltasToLexicalState:gI,applyFullLexicalStateReplace:Jx,segmentDeltas:mI,fixStateEmptyRoot:yI},zd=vI;function bI(l){let t=Un.getCodoxNodesMap(l);return n=>{let e=null,s=!1;try{e=n.clipboardData.getData(aN.paste),pt.default.debug("[pasteContentListener] triggered",{payload:n,lexicalPayload:e}),e=JSON.parse(e),typeof e=="object"&&e.nodes&&Array.isArray(e.nodes)&&(s=!0)}catch{return!1}if(!s)return!1;if(s){t.clearPastedIds();const r=o=>{if(o.codoxId&&t.addPastedId(o.codoxId),o.children&&o.children.length)for(const a of o.children)r(a)};for(const o of e.nodes)r(o)}return!1}}function _I(l){let t=[],n=l._nodes,e=l.getKey(),s=Un.getTablesValidator(e),r=Un.getContentNestingsWatcher(e),o=Un.getCodoxNodesMap(e),a=Un.getCodoxComments(e);return n.forEach((c,i,u)=>{let{klass:d}=c,f=l.registerMutationListener(d,p=>{for(let[h,m]of p){if(!Ei[m])continue;const g=l.getEditorState()._nodeMap.get(h);if(m===Ei.created&&g&&r.trackBlacklisted(g,m,l.getEditorState()),d.name===kr.TableNode.name&&(m===Ei.destroyed?s.tableNodeRemoveListener(h):s.tableUpdateListener(h)),d.name===kr.TableRowNode.name&&m!==Ei.destroyed&&s.tableRowNodeChangesListener(h,m===Ei.updated,l),d.name===kr.TableCellNode.name&&m===Ei.updated&&s.tableCellNodeChangesListener(h,l),d.name===Bi.MarkNode.name&&(pt.default.debug("[MUTATION LISTENER] MARK node: ",{nodeKey:h,node:g,mutationType:m,codoxComments:a}),m===Ei.destroyed?a.removeRelatedNodeKey(h):g&&a.addRelatedNodeKey(g.__key,g.__ids,m===Ei.created)),g&&g.codoxId){if(m===Ei.destroyed)return void(g.codoxId&&o.remove(g.codoxId));zx(g,e)||pt.default.warn("[MutationListener Warning] duplicating codoxId detected - such codoxId already exists in codoxNodesMap - updating node ref to latest: ",{mutationType:m,node:g}),o.add(g.codoxId,g,`${d.name}_mutation_listener`)}}});t.push(f)}),t}function wI(l){let t=[];return l._nodes.forEach((n,e,s)=>{let{klass:r}=n,o=r;for(;o;){if(o===Dt.ElementNode){let a=l.registerNodeTransform(r,c=>{try{c.getDirection()==="rtl"&&c.setDirection("ltr")}catch{pt.default.warn(`[registerNodesTransforms][${r.name}]: element node no getDirection`,{node:c})}});t.push(a);break}o=Object.getPrototypeOf(o)}}),t}var xI=l=>{var t={};return An.d(t,l),t};const Vx=xI({useCollaborationContext:()=>Nd});var SI=l=>{var t={};return An.d(t,l),t};const Wa=SI({LexicalComposerContext:()=>Hu,useLexicalComposerContext:()=>yn}),EI=["contentChanged"],CI=["state","remoteSelection"];function Kx(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Py(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Kx(Object(n),!0).forEach(function(e){jI(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):Kx(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function jI(l,t,n){return(t=kI(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function kI(l){var t=TI(l,"string");return typeof t=="symbol"?t:t+""}function TI(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}function Gx(l,t){if(l==null)return{};var n,e,s=AI(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function AI(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}pt.default.logProviderVersion(),pt.default.debug("DEV MODE: ",!1);const OI=(0,ht.forwardRef)((l,t)=>{let{onBlacklistedInsert:n,debug:e=!1}=l;if(!(0,ht.useContext)(Wa.LexicalComposerContext))throw new Error("[CodoxCollabPlugin] CodoxCollabPlugin must be inited inside <LexicalComposer> component - LexicalComposerContext is missing");const[s]=(0,Wa.useLexicalComposerContext)();let r=s.getKey();const o=(0,Vx.useCollaborationContext)();let a=Un.getCodoxImpl(r),c=Un.getCodoxRemoteSelection(r),i=Un.getTablesValidator(r),u=Un.getNestedEditorsProcessor(r),d=Un.getContentNestingsWatcher(r),f=Un.getCodoxLexicalEditorManager(r),p=Un.getCodoxNodesMap(r),h=Un.getCodoxComments(r),m=Un.getNodesConversionsManager(r),g=!1;const b=function(){return f.isCodoxStarted},v=(j,O)=>{pt.default.debug("[notifyClientForContentChanged] trigger client hook and emit event");let L=j,N=h.getAllComments();N.length&&(L.commentThreads=N);let U={source:O,content:L},D=Un.getContentChangedHookClientCallback(r);D&&D(U),a.instance&&a.instance.emit("content_changed",U)};(0,ht.useEffect)(()=>{if(!s)return;f.setMainEditor(s);const j=(0,Uc.mergeRegister)(s.registerUpdateListener(B),s.registerCommand(Dt.PASTE_COMMAND,bI(s.getKey()),Dt.COMMAND_PRIORITY_CRITICAL),s.registerCommand(Dt.UNDO_COMMAND,()=>{f.setUndoInvoked(!0)},Dt.COMMAND_PRIORITY_CRITICAL),s.registerCommand(Dt.REDO_COMMAND,()=>{f.setRedoInvoked(!0)},Dt.COMMAND_PRIORITY_CRITICAL),s.registerCommand(Dt.KEY_DELETE_COMMAND,(D,z)=>{i.tableRemoveEventListener(Dt.KEY_DELETE_COMMAND,z)},Dt.COMMAND_PRIORITY_CRITICAL),s.registerCommand(Dt.KEY_BACKSPACE_COMMAND,(D,z)=>{i.tableRemoveEventListener(Dt.KEY_BACKSPACE_COMMAND,z)},Dt.COMMAND_PRIORITY_CRITICAL),s.registerCommand(Dt.CUT_COMMAND,(D,z)=>{i.tableRemoveEventListener(Dt.CUT_COMMAND,z)},Dt.COMMAND_PRIORITY_CRITICAL),..._I(s),...wI(s));c.mount(s),f.alignStateSelectionJSONsFromLatestEditor(),pt.default.debug("New editor mounted: ",{isCodoxStarted:f.isCodoxStarted,codoxLexicalEditorManager:f,nestedEditorsProcessor:u});let O=s._onError;s._onError=D=>{O&&O(D),e===!0?pt.default.debug("Prevent rollback state after lexical error"):I("lexical internal error")},n&&d.setBlacklistCallback(n);let L=()=>{g=!0},N=()=>{g=!1},U=s.getRootElement();return U.addEventListener("focus",L),U.addEventListener("blur",N),()=>{let D=s,z=s.getKey();U.removeEventListener("focus",L),U.removeEventListener("blur",N),z&&(pt.default.debug("Unmount prev editor"),j(),f.removeMainEditor(),c.unmount(),f.clearJSONs(),h.clear(),i.clear(),f.isCodoxStarted&&(pt.default.debug("EDITOR USE_EFFECT stopping codox"),S(),f.setIsCodoxStarted(!1)),d.removeBlacklistCallback()),p.gcAbandonedNodes(D),u.gc(D),i.clear(),Un.gc(z)}},[s]);const _=()=>{c.hideRemoteSelectionsFromUI()},E=()=>{c.showHiddenRemoteSelectionsInUI()},S=()=>{f.isCodoxStarted&&(pt.default.debug("[stopCodoxInstance] stopping codox"),f.setIsCodoxStarted(!1),a.stop(),f.clearJSONs(),c.clear(),h.resetComments(),u.clearListeners())},w=j=>{let{state:O=null,comments:L=null,selection:N=null,isNestedSelection:U=!1,remoteSelection:D=null,callerName:z=""}=j;O&&f.setLocalContentStateJSON(O,"postSyncLocalUpdates"),N&&(U?f.setNestedSelectionJSON(N):f.setMainSelectionJSON(N)),D&&c.updateRemoteSelections(D,z,s),L&&h.setAllComments(L)},y=function(){let{newContentStateJSON:j,shouldRepaceFullState:O=!1,newSelectionJSON:L,updateTagsToApply:N=[],useTag:U=!0,callerName:D="not_specified_caller"}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};pt.default.debug(`[updateLexicalEditor] invoked. Caller: [${D}]`),L||(L=f.getCurrentMainSelectionJSON());let z=!!j,K=null,G=null,P=z&&!O;if(pt.default.debug(`[updateLexicalEditor] caller: [${D}] update payload: `,{newContentStateJSON:j,shouldRepaceFullState:O,newSelectionJSON:L,updateTagsToApplyFromCaller:N,shouldUpdateState:z,shouldComputeStateDeltas:P}),P){W=f.getLocalContentStateJSON(),J=j,K=a.diff(W,J,{keyNames:{default:"codoxId"},filters:{codox_metadata:!0}}),pt.default.debug("[updateLexicalEditor] Performing a partial state replace - state deltas: ",K);const H=zd.segmentDeltas(K);H.isSingleSegment||(G=H.segmentedDeltas)}var W,J;return z&&!O&&G?((H=>{let{newSelectionJSON:$,finalUseTag:Z=!0,finalUpdateTagsToApply:X=[],segmentedDeltas:Y,newContentStateJSON:ee}=H;pt.default.debug("[updateLexicalEditorWithSegmentalDeltas] update lexical with segmented deltas invoked. segments count: ",Y.length),Y.forEach((ie,fe)=>{let de=fe===Y.length-1,ne=f.getContentStateJSONFromEditor();s.update(()=>{if(zd.applyDeltasToLexicalState({newStateJSON:ee,deltas:ie,editor:s,currentStateJSON:ne}),de){if(g){const Ee=fn.JSONToLexical($,p);(0,Dt.$setSelection)(Ee)}Z&&ky({updateTags:X,isSameState:!1})}else(0,Dt.$addUpdateTag)("codox_segmental_sync_state_changes")},{discrete:!0}),pt.default.debug(`[updateLexicalEditorWithSegmentalDeltas] segment ${fe} update ended `)})})({newSelectionJSON:L,finalUseTag:U,finalUpdateTagsToApply:N,segmentedDeltas:G,newContentStateJSON:j}),K):(s.update(()=>{if(z&&(O?zd.applyFullLexicalStateReplace(j,s):zd.applyDeltasToLexicalState({newStateJSON:j,deltas:K,editor:s,currentStateJSON:f.getLocalContentStateJSON()})),g){const H=fn.JSONToLexical(L,p);(0,Dt.$setSelection)(H)}U&&ky({updateTags:N,isSameState:!z})},{discrete:!0}),K)},x=j=>!0,C=j=>{if(!b())return;pt.default.debug("[SYNC_STATE - remote handling]: Before sync(), payload from core = ",j);let O={};try{O=a.sync({meta:j})}catch{return S()}const{state:L,remoteSelection:N=[]}=O;if(Gx(O,CI),j&&j.action===cN.syncRCS)return pt.default.debug('[SYNC_STATE - remote handling] EARLY RETURN: "syncRCS" action - update only remote selections'),void c.updateRemoteSelections(N,"syncState",s);if(!L)return S();let U=L.state;pt.default.debug("[SYNC_STATE - remote handling] The new synced state to apply = ",{synced:JSON.parse(JSON.stringify(U))});let{stateFromSync:D,commentsFromSync:z}=f.extractStateAndCommentsFromSynced(U);if(pt.default.debug("[SYNC_STATE - remote handling] synced state validation"),!f.isValidJSONState(D.state))return S();D.state=m.convertNodesFromSyncInJsonState(D.state,s),pt.default.debug("[SYNC_STATE - remote handling] synced state transformed",D.state);const K=f.isSameContentStateJSON(D.state);pt.default.debug("[SYNC_STATE - remote handling] synced selecttion validation");let G=th.validateJSONSelection(D.selection,Md.local,p),P=f.getCurrentMainSelectionJSON(),W=!1,J=!1;G?(J=f.isSameSelectionJSON(D.selection),J||(W=fn.isNestedSelectionJSON(D.selection),W||(P=D.selection))):pt.default.error("[SYNC_STATE - remote handling] local selection from core is not valid. Only selection upd skipped. Invalid selection = ",D.selection),pt.default.debug("[SYNC_STATE - remote handling] compares: ",{isSameContentState:K,isSameLocalSelection:J});let H=null;K&&J?pt.default.debug("[SYNC_STATE - remote handling] same state and selection - skip lexical editor update"):(pt.default.debug("[SYNC_STATE - remote handling] should update lexical editor"),H=y({newContentStateJSON:K?void 0:D.state,shouldRepaceFullState:!!D.stateReplace,newSelectionJSON:P,updateTagsToApply:["codox_sync_state_changes"],callerName:"syncState"})),x({syncedState:D.state,currentJsonState:f.getLocalContentStateJSON(),originalDeltas:H}),w({state:K?null:D.state,selection:J?null:D.selection,isNestedSelection:W,comments:z,remoteSelection:N,callerName:"syncState"})},T=j=>{if(!b())return;if(pt.default.debug("[setSelectionHookHandler] invoked. new synced selection: ",j),!th.validateJSONSelection(j,Md.local,p))return void pt.default.error("[setSelectionHookHandler] INVALID SELECTION FROM SYNC - selection update skipped");let O=f.getCurrentActiveSelectionJSON();fn.equalSelectionsJSON(O,j)?pt.default.debug("[setSelectionHookHandler] STOP - current local and new synced selections are equal"):fn.isNestedSelectionJSON(j)?u.setNestedEditorSelection(j)&&f.setNestedSelectionJSON(j):(y({newSelectionJSON:j,callerName:"setSelectionHookHandler",useTag:!1}),f.setMainSelectionJSON(j))},R=j=>{const{root:O,comments:L}=j,N={root:O};let U=f.isSameContentStateJSON(N);pt.default.debug("[setStateHookHandler] state compare: ",{isSameState:U}),U||(pt.default.debug("[setStateHookHandler] should update lexcial editor"),y({newContentStateJSON:N,newSelectionJSON:f.getCurrentMainSelectionJSON(),callerName:"setStateHookHandler"})),h.setAllComments(L)},F=function(){let{afterStart:j=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!b())return;let O=f.composeFullStateForSync(h);if(O.state=m.convertNodesForSyncInJsonState(O.state,s),!(j||(pt.default.debug("[invokeSync - local handling] pre sync state validation"),f.isValidJSONState(O.state))))return pt.default.error("[invokeSync - local handling] - invalid lexical state for sync - sync invoke skipped - stopping codox",{lexicalJSONState:{root:O.state.root}}),S();pt.default.debug("[invokeSync - local handling] SYNC INVOKED "),j&&f.alignSelectionJSONFromLatestEditor();const L={state:{state:O.state,selection:f.getCurrentActiveSelectionJSON()}};pt.default.debug("[invokeSync - local handling]: Before sync()",{local:L}),pt.default.debug("[invokeSync - local handling]: Before sync() local full state",JSON.parse(JSON.stringify(L.state)));let N={};try{N=a.sync({state:L,meta:{}})}catch{return S()}let{state:U,remoteSelection:D=[],changes:z}=N;if(!U)return S();const K=U.state;pt.default.debug("[invokeSync - local handling]: synced document state: ",JSON.parse(JSON.stringify(K)));let{stateFromSync:G,commentsFromSync:P}=f.extractStateAndCommentsFromSynced(K);if(pt.default.debug("[invokeSync - local handling] synced state validation"),!f.isValidJSONState(G.state))return S();G.state=m.convertNodesFromSyncInJsonState(G.state,s),pt.default.debug("[invokeSync - transformed]: synced document state: ",JSON.parse(JSON.stringify(G.state)));const W=f.isSameContentStateJSON(G.state);pt.default.debug("[invokeSync - local handling] synced selecttion validation");let J=th.validateJSONSelection(G.selection,Md.local,p),H=f.getCurrentMainSelectionJSON(),$=!1,Z=!1;J?($=f.isSameSelectionJSON(G.selection),$||(Z=fn.isNestedSelectionJSON(G.selection),Z||(H=G.selection))):pt.default.error("[invokeSync - local handling] local selection from core is not valid. Only selection upd skipped. Invalid selection = ",G.selection),pt.default.debug("[invokeSync - local handling] After sync - compares: ",{isSameContentState:W,isSameLocalSelection:$,isNestedSelection:Z});let X=null;W&&$?pt.default.debug("[invokeSync - local handling] skip update lexical editor - state and selection are same"):(pt.default.debug("[invokeSync - local handling] invoke update lexical editor "),X=y({newContentStateJSON:W?void 0:G.state,shouldRepaceFullState:!!G.stateReplace,newSelectionJSON:H,updateTagsToApply:["codox_sync_state_changes"],callerName:"invokeSync"})),x({syncedState:G.state,currentJsonState:f.getLocalContentStateJSON(),originalDeltas:X}),w({state:W?null:G.state,selection:$?null:G.selection,isNestedSelection:Z,comments:P,remoteSelection:D,callerName:"invokeSync"})},I=function(){let j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";pt.default.debug(`[revertToPrevState] invoked. Reason: ${j}`);let O=f.getLocalContentStateJSON(),L=f.getCurrentActiveSelectionJSON();y({newContentStateJSON:O,shouldRepaceFullState:!0,newSelectionJSON:L,updateTagsToApply:[as.historic,sx],callerName:"revertToPrevState"}),h.gcAbandonedNodeKeys(f.getMainEditorStateNodesMap()),s.dispatchCommand(Dt.CAN_REDO_COMMAND,!1),s.dispatchCommand(Dt.CAN_UNDO_COMMAND,!1)},B=j=>{let{editorState:O,prevEditorState:L,tags:N,dirtyElements:U,dirtyLeaves:D}=j;if(!b())return;if(pt.default.debug("[editorUpdatesListener] invoked by lexical ============="),f.isMainEditorStateEmptyRoot())return pt.default.warn("[editorUpdatesListener] INVALID EMPTY STATE FOUND: empty root.children - fix logic will be triggered"),void zd.fixStateEmptyRoot(s);if(N.has("codox_segmental_sync_state_changes"))return void pt.default.debug("[editorUpdatesListener] STOP - update is part of synced deltas segmental updates");if(N.has(sx))return void pt.default.debug("[editorUpdatesListener] STOP - update invoked by content revert, no need to sync");if(d.isBlacklistedFound())return pt.default.warn("[editorUpdatesListener] BLACKLISTED CHANGES FOUND - revert back to prev state"),I("blacklist content"),void d.invokeBlacklistCallback();if(!i.ensureDocTablesAreValid(s))return void pt.default.warn("[editorUpdatesListener] INVALID TABLE(S) FOUND - fix logic will be triggered");let z=jx(U,D),K=z?f.getLocalContentStateJSON():Ll(O);if(N.has("codox_sync_state_changes"))return pt.default.debug("[editorUpdatesListener] STOP - EARLY RETURN - update invoked after remote synced state applied - should not sync"),void v(K,cx.remote);let G=N.has(Id),P=null;O.read(()=>{P=fn.lexicalToJSON((0,Dt.$getSelection)())});let W=!!z||f.isSameContentStateJSON(K),J=f.isSameSelectionJSON(P);pt.default.debug("[editorUpdatesListener] compares: ",{isStateSame:W,isSelectionSame:J}),W&&!G||v(K,cx.local),W&&J&&!G?pt.default.debug("[editorUpdatesListener] STOP - state and selection and comments are same - should not sync"):(f.undoInvoked()&&f.setUndoInvoked(!1),f.redoInvoked()&&f.setRedoInvoked(!1),z||f.setLocalContentStateJSON(K,"editorUpdatesListener"),f.setMainSelectionJSON(P),F())},A={start:async j=>{pt.default.debug("[startCodoxInstance] invoked",{codoxConfigFromClient:j}),f.isCodoxStarted&&S(),f.alignStateSelectionJSONsFromLatestEditor(),a.createNewInstance(),pt.default.debug("[startCodoxInstance] instance created");let O=Un.getClientEventListeners(r);for(let X in O)a.instance.on(X,O[X]);if(pt.default.debug("[startCodoxInstance] events subscribed"),Un.setConfigBackup(r,j),!j.docId)return pt.default.error("[startCodoxInstance] - start codox skipped - docId is missing. codoxConfigFromClient: ",j);let L=h.initialCommentsExist();pt.default.debug("[startCodoxInstance] initCommentsExist: ",L),L&&(h.activateInitialComments(s,p),pt.default.debug("[activateInitialComments] "));let N=f.getLocalContentStateJSON();if(!f.isValidJSONState(N))throw pt.default.error("[startCodoxInstance] - start codox skipped - invalid init state",{codoxConfigFromClient:j,initJSONState:N}),new Error("start codox skipped - invalid init state");pt.default.debug("[startCodoxInstance] starting codox with: ",{initJSONState:N,codoxConfigFromClient:j,codoxComments:h});let{docId:U,username:D,apiKey:z,getServerState:K,domain:G="",demo:P=!1,hooks:W,appServer:J}=j;var H;W&&W.fetchDocOnNetworkReconnect&&(W.fetchDocOnNetworkReconnect=(H=W.fetchDocOnNetworkReconnect,async()=>{const{state:X,timestamp:Y}=await H();if(!f.isValidJSONState(X))throw new Error("Invalid state received from fetchDocOnNetworkReconnect hook");const{commentThreads:ee,root:ie}=X;let fe={commentThreads:ee,root:ie};fe=m.convertNodesForSyncInJsonState(fe,s);const de={content:{comments:ee,root:ie},timestamp:Y};return pt.default.info("[decorateFetchOnReconnctHook] hook invoked: ",{returnObj:de}),de}));const{contentChanged:$}=W,Z=Gx(W,EI);Un.setContentChangedHookClientCallback(r,$),await a.start(a.createConfig(Py(Py({},j),{},{docId:U,username:D,apiKey:z,domain:G,hooks:Py({syncState:X=>{pt.default.debug("[syncState] hook invoked. calls local syncState fn"),C(X)},getState:()=>{let X=f.composeFullStateForSync(h);return X.state=m.convertNodesForSyncInJsonState(X.state,s),X},getServerState:async()=>await K(U)},Z),editorInstanceHooks:{getSelection:()=>{const X=f.getCurrentActiveSelectionJSON();return pt.default.debug("[getSelection] hook invoked. selection: ",X),X},setSelection:X=>{pt.default.debug("[setSelection] hook invoked. calls setSelectionHookHandler"),T(X)},getState:()=>{const X=f.composeFullStateForSync(h);return X.state=m.convertNodesForSyncInJsonState(X.state,s),pt.default.info("[getState] hook invoked. state: ",X),X},setState:X=>{pt.default.info("[setState] hook invoked. calls setStateHookHandler"),X=m.convertNodesFromSyncInJsonState(X,s),R(X)},enableEditor:()=>{pt.default.debug("[enableEditor] invoked"),f.disableEditorReadOnlyMode(),E()},disableEditor:()=>{pt.default.debug("[disableEditor] invoked"),f.enableEditorReadOnlyMode(),_()},getContent:()=>{let X=f.composeFullStateForSync(h);return X.state=m.convertNodesForSyncInJsonState(X.state,s),pt.default.info("[getContent]: ",X.state),X}},appServer:J,demo:P}))),pt.default.debug("[startCodoxInstance] codox started - first sync invoking"),f.setIsCodoxStarted(!0),o.clientID=D,o.name=D,F({afterStart:!0})},stop:S,on:(j,O)=>{pt.default.info(`Subscribing client to codox ${j} event`),Un.setClientEventListener(r,j,O)},cursor:{hide:_,show:E},initComments:j=>{h.setInitialComments(j)}};return(0,ht.useImperativeHandle)(t,()=>A),null}),NI=OI;var sh=An(777),Vc={};Vc.styleTagTransform=Xs(),Vc.setAttributes=Zs(),Vc.insert=Ys().bind(null,"head"),Vc.domAPI=$s(),Vc.insertStyleElement=Qs(),Gs()(sh.A,Vc),sh.A&&sh.A.locals&&sh.A.locals;var PI=l=>{var t={};return An.d(t,l),t};const II=PI({AutoFocusPlugin:()=>Lp});var MI=l=>{var t={};return An.d(t,l),t};const RI=MI({ClearEditorPlugin:()=>Zw});var DI=l=>{var t={};return An.d(t,l),t};const LI=DI({LexicalComposer:()=>fp}),$x=MO;var FI=l=>{var t={};return An.d(t,l),t};const BI=FI({HistoryPlugin:()=>yp});var zI=l=>{var t={};return An.d(t,l),t};const UI=zI({OnChangePlugin:()=>Xw});var HI=l=>{var t={};return An.d(t,l),t};const qI=HI({PlainTextPlugin:()=>nx});var WI=l=>{var t={};return An.d(t,l),t};const Yx=WI({$isRootTextContentEmpty:()=>ly,$rootTextContent:()=>ay});var JI=l=>{var t={};return An.d(t,l),t};const Kc=JI({createPortal:()=>kf.createPortal}),VI=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0,KI=VI?ht.useLayoutEffect:ht.useEffect,Zx=KI;var ah=An(253),Gc={};Gc.styleTagTransform=Xs(),Gc.setAttributes=Zs(),Gc.insert=Ys().bind(null,"head"),Gc.domAPI=$s(),Gc.insertStyleElement=Qs(),Gs()(ah.A,Gc),ah.A&&ah.A.locals&&ah.A.locals;function GI(l){let{onClose:t,children:n,title:e,closeOnClickOutside:s}=l;const r=(0,ht.useRef)(null);return(0,ht.useEffect)(()=>{r.current!==null&&r.current.focus()},[]),(0,ht.useEffect)(()=>{let o=null;const a=u=>{u.key==="Escape"&&t()},c=u=>{const d=u.target;r.current!==null&&!r.current.contains(d)&&s&&t()},i=r.current;return i!==null&&(o=i.parentElement,o!==null&&o.addEventListener("click",c)),window.addEventListener("keydown",a),()=>{window.removeEventListener("keydown",a),o!==null&&(o==null||o.removeEventListener("click",c))}},[s,t]),ht.createElement("div",{className:"Modal__overlay",role:"dialog"},ht.createElement("div",{className:"Modal__modal",tabIndex:-1,ref:r},ht.createElement("h2",{className:"Modal__title"},e),ht.createElement("button",{className:"Modal__closeButton","aria-label":"Close modal",type:"button",onClick:t},"X"),ht.createElement("div",{className:"Modal__content"},n)))}function $I(l){let{onClose:t,children:n,title:e,closeOnClickOutside:s=!1}=l;return(0,Kc.createPortal)(ht.createElement(GI,{onClose:t,title:e,closeOnClickOutside:s},n),document.body)}function Qx(){const[l,t]=(0,ht.useState)(null),n=(0,ht.useCallback)(()=>{t(null)},[]),e=(0,ht.useMemo)(()=>{if(l===null)return null;const{title:r,content:o,closeOnClickOutside:a}=l;return ht.createElement($I,{onClose:n,title:r,closeOnClickOutside:a},o)},[l,n]),s=(0,ht.useCallback)(function(r,o){t({closeOnClickOutside:arguments.length>2&&arguments[2]!==void 0&&arguments[2],content:o(n),title:r})},[n]);return[e,s]}var lh=An(191),$c={};$c.styleTagTransform=Xs(),$c.setAttributes=Zs(),$c.insert=Ys().bind(null,"head"),$c.domAPI=$s(),$c.insertStyleElement=Qs(),Gs()(lh.A,$c),lh.A&&lh.A.locals&&lh.A.locals;const YI={blockCursor:"CommentEditorTheme__blockCursor",characterLimit:"CommentEditorTheme__characterLimit",code:"CommentEditorTheme__code",codeHighlight:{atrule:"CommentEditorTheme__tokenAttr",attr:"CommentEditorTheme__tokenAttr",boolean:"CommentEditorTheme__tokenProperty",builtin:"CommentEditorTheme__tokenSelector",cdata:"CommentEditorTheme__tokenComment",char:"CommentEditorTheme__tokenSelector",class:"CommentEditorTheme__tokenFunction","class-name":"CommentEditorTheme__tokenFunction",comment:"CommentEditorTheme__tokenComment",constant:"CommentEditorTheme__tokenProperty",deleted:"CommentEditorTheme__tokenProperty",doctype:"CommentEditorTheme__tokenComment",entity:"CommentEditorTheme__tokenOperator",function:"CommentEditorTheme__tokenFunction",important:"CommentEditorTheme__tokenVariable",inserted:"CommentEditorTheme__tokenSelector",keyword:"CommentEditorTheme__tokenAttr",namespace:"CommentEditorTheme__tokenVariable",number:"CommentEditorTheme__tokenProperty",operator:"CommentEditorTheme__tokenOperator",prolog:"CommentEditorTheme__tokenComment",property:"CommentEditorTheme__tokenProperty",punctuation:"CommentEditorTheme__tokenPunctuation",regex:"CommentEditorTheme__tokenVariable",selector:"CommentEditorTheme__tokenSelector",string:"CommentEditorTheme__tokenSelector",symbol:"CommentEditorTheme__tokenProperty",tag:"CommentEditorTheme__tokenProperty",url:"CommentEditorTheme__tokenOperator",variable:"CommentEditorTheme__tokenVariable"},embedBlock:{base:"CommentEditorTheme__embedBlock",focus:"CommentEditorTheme__embedBlockFocus"},hashtag:"CommentEditorTheme__hashtag",heading:{h1:"CommentEditorTheme__h1",h2:"CommentEditorTheme__h2",h3:"CommentEditorTheme__h3",h4:"CommentEditorTheme__h4",h5:"CommentEditorTheme__h5",h6:"CommentEditorTheme__h6"},image:"editor-image",indent:"CommentEditorTheme__indent",inlineImage:"inline-editor-image",layoutContainer:"CommentEditorTheme__layoutContainer",layoutItem:"CommentEditorTheme__layoutItem",link:"CommentEditorTheme__link",list:{checklist:"CommentEditorTheme__checklist",listitem:"CommentEditorTheme__listItem",listitemChecked:"CommentEditorTheme__listItemChecked",listitemUnchecked:"CommentEditorTheme__listItemUnchecked",nested:{listitem:"CommentEditorTheme__nestedListItem"},olDepth:["CommentEditorTheme__ol1","CommentEditorTheme__ol2","CommentEditorTheme__ol3","CommentEditorTheme__ol4","CommentEditorTheme__ol5"],ul:"CommentEditorTheme__ul"},ltr:"CommentEditorTheme__ltr",mark:"CommentEditorTheme__mark",markOverlap:"CommentEditorTheme__markOverlap",paragraph:"CommentEditorTheme__paragraph",quote:"CommentEditorTheme__quote",rtl:"CommentEditorTheme__rtl",table:"CommentEditorTheme__table",tableCell:"CommentEditorTheme__tableCell",tableCellActionButton:"CommentEditorTheme__tableCellActionButton",tableCellActionButtonContainer:"CommentEditorTheme__tableCellActionButtonContainer",tableCellEditing:"CommentEditorTheme__tableCellEditing",tableCellHeader:"CommentEditorTheme__tableCellHeader",tableCellPrimarySelected:"CommentEditorTheme__tableCellPrimarySelected",tableCellResizer:"CommentEditorTheme__tableCellResizer",tableCellSelected:"CommentEditorTheme__tableCellSelected",tableCellSortedIndicator:"CommentEditorTheme__tableCellSortedIndicator",tableResizeRuler:"CommentEditorTheme__tableCellResizeRuler",tableSelected:"CommentEditorTheme__tableSelected",tableSelection:"CommentEditorTheme__tableSelection",text:{bold:"CommentEditorTheme__textBold",code:"CommentEditorTheme__textCode",italic:"CommentEditorTheme__textItalic",strikethrough:"CommentEditorTheme__textStrikethrough",subscript:"CommentEditorTheme__textSubscript",superscript:"CommentEditorTheme__textSuperscript",underline:"CommentEditorTheme__textUnderline",underlineStrikethrough:"CommentEditorTheme__textUnderlineStrikethrough"}},ZI=YI;var ch=An(72),Yc={};Yc.styleTagTransform=Xs(),Yc.setAttributes=Zs(),Yc.insert=Ys().bind(null,"head"),Yc.domAPI=$s(),Yc.insertStyleElement=Qs(),Gs()(ch.A,Yc),ch.A&&ch.A.locals&&ch.A.locals;function QI(){for(var l=arguments.length,t=new Array(l),n=0;n<l;n++)t[n]=arguments[n];return t.filter(Boolean).join(" ")}function Iy(){return Iy=Object.assign?Object.assign.bind():function(l){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var e in n)({}).hasOwnProperty.call(n,e)&&(l[e]=n[e])}return l},Iy.apply(null,arguments)}function Ja(l){let{"data-test-id":t,children:n,className:e,onClick:s,disabled:r,small:o,title:a,style:c}=l;return ht.createElement("button",Iy({disabled:r,className:QI("Button__root",r&&"Button__disabled",o&&"Button__small",e),onClick:s,title:a,"aria-label":a},t&&{"data-test-id":t},c&&{style:c}),n)}var uh=An(129),Zc={};Zc.styleTagTransform=Xs(),Zc.setAttributes=Zs(),Zc.insert=Ys().bind(null,"head"),Zc.domAPI=$s(),Zc.insertStyleElement=Qs(),Gs()(uh.A,Zc),uh.A&&uh.A.locals&&uh.A.locals;var XI=l=>{var t={};return An.d(t,l),t};const e6=XI({ContentEditable:()=>Gw});function t6(l){let{className:t}=l;return ht.createElement(e6.ContentEditable,{className:t||"ContentEditable__root"})}var dh=An(457),Qc={};Qc.styleTagTransform=Xs(),Qc.setAttributes=Zs(),Qc.insert=Ys().bind(null,"head"),Qc.domAPI=$s(),Qc.insertStyleElement=Qs(),Gs()(dh.A,Qc),dh.A&&dh.A.locals&&dh.A.locals;function n6(l){let{children:t,className:n}=l;return ht.createElement("div",{className:n||"Placeholder__root"},t)}function My(){return My=Object.assign?Object.assign.bind():function(l){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var e in n)({}).hasOwnProperty.call(n,e)&&(l[e]=n[e])}return l},My.apply(null,arguments)}const r6=$x.LexicalErrorBoundary||$x,o6=()=>ht.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"#050505",className:"codox-add-comment-right"},ht.createElement("path",{d:"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"}),ht.createElement("path",{d:"M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z"})),Xx=()=>ht.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",fill:"currentColor",className:"codox-remove-comment"},ht.createElement("path",{d:"M6.5 1h3a.5.5 0 0 1 .5.5v1H6v-1a.5.5 0 0 1 .5-.5ZM11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3A1.5 1.5 0 0 0 5 1.5v1H2.506a.58.58 0 0 0-.01 0H1.5a.5.5 0 0 0 0 1h.538l.853 10.66A2 2 0 0 0 4.885 16h6.23a2 2 0 0 0 1.994-1.84l.853-10.66h.538a.5.5 0 0 0 0-1h-.995a.59.59 0 0 0-.01 0H11Zm1.958 1-.846 10.58a1 1 0 0 1-.997.92h-6.23a1 1 0 0 1-.997-.92L3.042 3.5h9.916Zm-7.487 1a.5.5 0 0 1 .528.47l.5 8.5a.5.5 0 0 1-.998.06L5 5.03a.5.5 0 0 1 .47-.53Zm5.058 0a.5.5 0 0 1 .47.53l-.5 8.5a.5.5 0 1 1-.998-.06l.5-8.5a.5.5 0 0 1 .528-.47ZM8 4.5a.5.5 0 0 1 .5.5v8.5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5Z"})),i6=()=>ht.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"codox-add-comment"},ht.createElement("path",{d:"M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576 6.636 10.07Zm6.787-8.201L1.591 6.602l4.339 2.76 7.494-7.493Z"})),eS=()=>ht.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",fill:"#0000008c",className:"codox-hide-show-comments"},ht.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M13 5.885v1.166a3.95 3.95 0 0 1-3.949 3.95H6.917a.748.748 0 0 0-.45.15l-1.345 1.007a.752.752 0 0 0-.032 1.181A2.933 2.933 0 0 0 6.95 14h2.716l2.534 1.901a.506.506 0 0 0 .524.047A.501.501 0 0 0 13 15.5V14h.051a2.949 2.949 0 0 0 2.95-2.949v-3.05a3.002 3.002 0 0 0-2.002-2.83.756.756 0 0 0-.999.714"}),ht.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.05 1H2.95A2.952 2.952 0 0 0 0 3.949v3.102A2.952 2.952 0 0 0 2.949 10H3v1.5a.502.502 0 0 0 .8.4L6.334 10H9.05A2.952 2.952 0 0 0 12 7.05V3.95A2.952 2.952 0 0 0 9.05 1"}));function tS(l,t,n,e){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:performance.now(),r=arguments.length>5&&arguments[5]!==void 0&&arguments[5];return l.createNewCommentObj({content:t,author:n,codoxId:e,timeStamp:s,deleted:r})}function s6(l,t,n,e){return l.createNewThreadObj({quote:t,comments:n,codoxId:e})}function a6(l){let{anchorKey:t,editor:n,onAddComment:e}=l;const s=(0,ht.useRef)(null),r=(0,ht.useCallback)(()=>{const o=s.current,a=n.getRootElement(),c=n.getElementByKey(t);if(o!==null&&a!==null&&c!==null){const{right:i}=a.getBoundingClientRect(),{top:u}=c.getBoundingClientRect();o.style.left=i-20+"px",o.style.top=u-30+"px"}},[t,n]);return(0,ht.useEffect)(()=>(window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r)}),[n,r]),Zx(()=>{r()},[t,n,r]),ht.createElement("div",{className:"CodoxCommentPlugin_AddCommentBox",ref:s},ht.createElement("button",{className:"CodoxCommentPlugin_AddCommentBox_button",onClick:e},ht.createElement(o6,null)))}function l6(l){let{onEscape:t}=l;const[n]=(0,Wa.useLexicalComposerContext)();return(0,ht.useEffect)(()=>n.registerCommand(Dt.KEY_ESCAPE_COMMAND,e=>t(e),2),[n,t]),null}function c6(l){let{editorRef:t}=l;const[n]=(0,Wa.useLexicalComposerContext)();return typeof t=="function"?t(n):typeof t=="object"&&(t.current=n),null}function nS(l){let{className:t,autoFocus:n,onEscape:e,onChange:s,editorRef:r,placeholder:o="Type a comment...",onEditorClick:a=()=>{}}=l;const c={namespace:"Commenting",nodes:[],onError:i=>{throw i},theme:ZI};return ht.createElement(LI.LexicalComposer,{initialConfig:c},ht.createElement("div",{className:"CodoxCommentPlugin_CommentInputBox_EditorContainer",onClick:a},ht.createElement(qI.PlainTextPlugin,{contentEditable:ht.createElement(t6,{className:t}),placeholder:ht.createElement(n6,null,o),ErrorBoundary:r6}),ht.createElement(UI.OnChangePlugin,{onChange:s}),ht.createElement(BI.HistoryPlugin,null),n!==!1&&ht.createElement(II.AutoFocusPlugin,null),ht.createElement(l6,{onEscape:e}),ht.createElement(RI.ClearEditorPlugin,null),r!==void 0&&ht.createElement(c6,{editorRef:r})))}function rS(l,t){return(0,ht.useCallback)((n,e)=>{n.read(()=>{l((0,Yx.$rootTextContent)()),t(!(0,Yx.$isRootTextContentEmpty)(e.isComposing(),!0))})},[t,l])}function u6(l){let{editor:t,cancelAddComment:n,submitAddComment:e,codoxComments:s}=l;const[r,o]=(0,ht.useState)(""),[a,c]=(0,ht.useState)(!1),i=(0,ht.useRef)(null),u=(0,ht.useMemo)(()=>({container:document.createElement("div"),elements:[]}),[]),d=(0,ht.useRef)(null),f=sS(),p=(0,ht.useCallback)(()=>{t.getEditorState().read(()=>{const m=(0,Dt.$getSelection)();if((0,Dt.$isRangeSelection)(m)){d.current=m.clone();const g=m.anchor,b=m.focus,v=(0,Fl.createDOMRange)(t,g.getNode(),g.offset,b.getNode(),b.offset),_=i.current;if(v!==null&&_!==null){const{left:E,bottom:S,width:w}=v.getBoundingClientRect(),y=(0,Fl.createRectsFromDOMRange)(t,v);let x=y.length===1?E+w/2-125:E-125;x<10&&(x=10),_.style.left=`${x}px`,_.style.top=`${S+20+(window.pageYOffset||document.documentElement.scrollTop)}px`;const C=y.length,{container:T}=u,R=u.elements,F=R.length;for(let I=0;I<C;I++){const B=y[I];let A=R[I];A===void 0&&(A=document.createElement("span"),R[I]=A,T.appendChild(A));const j="255, 212, 0",O=`position:absolute;top:${B.top+(window.pageYOffset||document.documentElement.scrollTop)}px;left:${B.left}px;height:${B.height}px;width:${B.width}px;background-color:rgba(${j}, 0.3);pointer-events:none;z-index:5;`;A.style.cssText=O}for(let I=F-1;I>=C;I--){const B=R[I];T.removeChild(B),R.pop()}}}})},[t,u]);Zx(()=>{p();const m=u.container,g=document.body;if(g!==null)return g.appendChild(m),()=>{g.removeChild(m)}},[u.container,p]),(0,ht.useEffect)(()=>(window.addEventListener("resize",p),()=>{window.removeEventListener("resize",p)}),[p]);const h=rS(o,c);return ht.createElement("div",{className:"CodoxCommentPlugin_CommentInputBox",ref:i},ht.createElement(nS,{className:"CodoxCommentPlugin_CommentInputBox_Editor",onEscape:m=>(m.preventDefault(),n(),!0),onChange:h}),ht.createElement("div",{className:"CodoxCommentPlugin_CommentInputBox_Buttons"},ht.createElement(Ja,{onClick:n,className:"CodoxCommentPlugin_CommentInputBox_Button"},"Cancel"),ht.createElement(Ja,{onClick:()=>{if(a){let m=t.getEditorState().read(()=>{const g=d.current;return g?g.getTextContent():""});m.length>100&&(m=m.slice(0,99)+"…"),e(s6(s,m,[tS(s,r,f)]),!0,void 0,d.current),d.current=null}},disabled:!a,className:"CodoxCommentPlugin_CommentInputBox_Button primary"},"Comment")))}function d6(l){let{submitAddComment:t,thread:n,placeholder:e,codoxComments:s}=l;const[r,o]=(0,ht.useState)(""),[a,c]=(0,ht.useState)(!1),i=(0,ht.useRef)(null),u=sS(),d=rS(o,c);return ht.createElement(ht.Fragment,null,ht.createElement(nS,{className:"CodoxCommentPlugin_CommentsPanel_Editor",autoFocus:!1,onEscape:()=>!0,onChange:d,editorRef:i,placeholder:e}),ht.createElement(Ja,{className:"CodoxCommentPlugin_CommentsPanel_SendButton",onClick:()=>{if(a){t(tS(s,r,u),!1,n);const f=i.current;f!==null&&f.dispatchCommand(Dt.CLEAR_EDITOR_COMMAND,void 0)}},disabled:!a},ht.createElement(i6,null)))}function oS(l){let{commentOrThread:t,deleteCommentOrThread:n,onClose:e,thread:s}=l;return ht.createElement(ht.Fragment,null,"Are you sure you want to delete this ",t.type,"?",ht.createElement("div",{className:"Modal__content"},ht.createElement(Ja,{onClick:()=>{n(t,s),e()}},"Delete")," ",ht.createElement(Ja,{onClick:()=>{e()}},"Cancel")))}function iS(l){let{comment:t,deleteComment:n,thread:e,rtf:s}=l;const r=Math.round((t.timeStamp-performance.now())/1e3),o=Math.round(r/60),[a,c]=Qx();return ht.createElement("li",{className:"CodoxCommentPlugin_CommentsPanel_List_Comment"},ht.createElement("div",{className:"CodoxCommentPlugin_CommentsPanel_List_Details"},ht.createElement("span",{className:"CodoxCommentPlugin_CommentsPanel_List_Comment_Author"},t.author),ht.createElement("span",{className:"CodoxCommentPlugin_CommentsPanel_List_Comment_Time"},"· ",r>-10?"Just now":s.format(o,"minute"))),ht.createElement("p",{className:t.deleted?"CodoxCommentPlugin_CommentsPanel_DeletedComment":""},t.content),!t.deleted&&ht.createElement(ht.Fragment,null,ht.createElement(Ja,{onClick:()=>{c("Delete Comment",i=>ht.createElement(oS,{commentOrThread:t,deleteCommentOrThread:n,thread:e,onClose:i}))},className:"CodoxCommentPlugin_CommentsPanel_List_DeleteButton"},ht.createElement(Xx,null)),a))}function f6(l){let{activeIDs:t,comments:n,deleteCommentOrThread:e,listRef:s,submitAddComment:r,markNodeMap:o,codoxComments:a}=l;const[c]=(0,Wa.useLexicalComposerContext)(),[i,u]=(0,ht.useState)(0),[d,f]=Qx(),p=(0,ht.useMemo)(()=>new Intl.RelativeTimeFormat("en",{localeMatcher:"best fit",numeric:"auto",style:"short"}),[]);return(0,ht.useEffect)(()=>{const h=setTimeout(()=>{u(i+1)},1e4);return()=>{clearTimeout(h)}},[i]),ht.createElement("ul",{className:"CodoxCommentPlugin_CommentsPanel_List",ref:s},n.map(h=>{const m=h.codoxId;if(!m)return null;if(h.type==="thread"){const g=()=>{if(o.get(m)!==void 0&&(t===null||t.indexOf(m)===-1)){const b=document.activeElement;c.update(()=>{(0,Dt.$setSelection)(null)},{onUpdate(){b!==null&&b.focus()}})}};return ht.createElement("li",{key:m,onClick:g,className:`CodoxCommentPlugin_CommentsPanel_List_Thread ${o.has(m)?"interactive":""} ${t.indexOf(m)===-1?"":"active"}`},ht.createElement("div",{className:"CodoxCommentPlugin_CommentsPanel_List_Thread_QuoteBox"},ht.createElement("blockquote",{className:"CodoxCommentPlugin_CommentsPanel_List_Thread_Quote"},"> ",ht.createElement("span",null,h.quote)),ht.createElement(Ja,{onClick:()=>{f("Delete Thread",b=>ht.createElement(oS,{commentOrThread:h,deleteCommentOrThread:e,onClose:b}))},className:"CodoxCommentPlugin_CommentsPanel_List_DeleteButton"},ht.createElement(Xx,null)),d),ht.createElement("ul",{className:"CodoxCommentPlugin_CommentsPanel_List_Thread_Comments"},h.comments.map(b=>ht.createElement(iS,{key:b.codoxId,comment:b,deleteComment:e,thread:h,rtf:p}))),ht.createElement("div",{className:"CodoxCommentPlugin_CommentsPanel_List_Thread_Editor"},ht.createElement(d6,{submitAddComment:r,thread:h,placeholder:"Reply to comment...",codoxComments:a})))}return ht.createElement(iS,{key:m,comment:h,deleteComment:e,rtf:p})}))}function p6(l){let{activeIDs:t,deleteCommentOrThread:n,comments:e,submitAddComment:s,markNodeMap:r,codoxComments:o,style:a,closeComments:c}=l;const i=(0,ht.useRef)(null),u=e.length===0;return ht.createElement("div",My({className:"CodoxCommentPlugin_CommentsPanel"},a&&{style:a}),ht.createElement("h2",{className:"CodoxCommentPlugin_CommentsPanel_Heading"},"Comments",ht.createElement("div",{onClick:c,style:{display:"inline-block",position:"absolute",right:"5px",top:"5px",cursor:"pointer"}},ht.createElement(eS,null))),u?ht.createElement("div",{className:"CodoxCommentPlugin_CommentsPanel_Empty"},"No Comments"):ht.createElement(f6,{activeIDs:t,comments:e,deleteCommentOrThread:n,listRef:i,submitAddComment:s,markNodeMap:r,codoxComments:o}))}function sS(){const l=(0,Vx.useCollaborationContext)(),{yjsDocMap:t,name:n}=l;return n||"user"}function h6(l){const[t]=(0,Wa.useLexicalComposerContext)(),n=(t&&t.getRootElement()&&t.getRootElement().getBoundingClientRect(),t.getKey()),e=SN(n),s=Un.getCodoxComments(n),r=(0,ht.useMemo)(()=>new Map,[]),[o,a]=(0,ht.useState)(),[c,i]=(0,ht.useState)([]),[u,d]=(0,ht.useState)(!1),[f,p]=(0,ht.useState)(!1);(0,ht.useEffect)(()=>{!e.length&&f?p(!1):e.length},[e]);const h=(0,ht.useCallback)(()=>{t.update(()=>{const b=(0,Dt.$getSelection)();b!==null&&(b.dirty=!0)}),d(!1)},[t]),m=(0,ht.useCallback)((b,v)=>{if(b.type==="comment"){if(pt.default.debug("[deleteCommentOrThread]: type comment new values",{comment:b,thread:v,markNodeMap:r}),s.removeComment(v.codoxId,b.codoxId),!v)return;const _=v.codoxId,E=r.get(_);t.update(()=>{E?E.forEach((S,w)=>{const y=(0,Dt.$getNodeByKey)(w);pt.default.debug("[deleteCommentOrThread]: type comment new values",{lexicalNode:y}),y&&y.markDirty()}):(0,Dt.$getRoot)().markDirty(),(0,Dt.$addUpdateTag)(as.historic),(0,Dt.$addUpdateTag)(Id)})}else{pt.default.debug("[deleteCommentOrThread]: type thread new values",{comment:b,markNodeMap:r});const _=v!==void 0?v.codoxId:b.codoxId,E=r.get(_);setTimeout(()=>{t.update(()=>{if(E)for(const S of E){const w=(0,Dt.$getNodeByKey)(S);pt.default.debug("[deleteCommentOrThread]: type thread new values",{node:w}),(0,Bi.$isMarkNode)(w)&&(w.deleteID(_),w.getIDs().length===0&&(0,Bi.$unwrapMarkNode)(w))}else(0,Dt.$getRoot)().markDirty(),pt.default.debug("[deleteCommentOrThread][refreshComments]");s.refreshComments(!0),(0,Dt.$addUpdateTag)(Id)})})}},[t,r]),g=(0,ht.useCallback)((b,v,_,E)=>{if(pt.default.debug("[submitAddComment]: new values",{commentOrThread:b,isInlineComment:v,thread:_,markNodeMap:r}),_?s.addComment(_.codoxId,b):s.addCommentThread(b),v)t.update(()=>{if((0,Dt.$isRangeSelection)(E)){const S=E.isBackward(),w=b.codoxId;(0,Bi.$wrapSelectionInMarkNode)(E,S,w),(0,Dt.$addUpdateTag)(Id)}}),d(!1);else if(!v&&_){const S=_.codoxId,w=r.get(S);if(!w)return void s.removeComment(_.codoxId,b.codoxId);t.update(()=>{w.forEach((y,x)=>{let C=(0,Dt.$getNodeByKey)(x);C&&C.markDirty()}),(0,Dt.$addUpdateTag)(as.historic),(0,Dt.$addUpdateTag)(Id)})}},[t]);return(0,ht.useEffect)(()=>{const b=[];for(let v=0;v<c.length;v++){const _=c[v],E=r.get(_);if(E!==void 0)for(const S of E){const w=t.getElementByKey(S);w!==null&&(w.classList.add("selected"),b.push(w),p(!0))}}return()=>{for(let v=0;v<b.length;v++)b[v].classList.remove("selected")}},[c,t,r]),(0,ht.useEffect)(()=>{const b=new Map;return(0,Uc.mergeRegister)((0,Uc.registerNestedElementResolver)(t,Bi.MarkNode,v=>(0,Bi.$createMarkNode)(v.getIDs()),(v,_)=>{v.getIDs().forEach(E=>{_.addID(E)})}),t.registerMutationListener(Bi.MarkNode,v=>{t.getEditorState().read(()=>{for(const[_,E]of v){const S=(0,Dt.$getNodeByKey)(_);let w=[];E==="destroyed"?w=b.get(_)||[]:(0,Bi.$isMarkNode)(S)&&(w=S.getIDs());for(let y=0;y<w.length;y++){const x=w[y];let C=r.get(x);b.set(_,w),E==="destroyed"?C!==void 0&&(C.delete(_),C.size===0&&r.delete(x)):(C===void 0&&(C=new Set,r.set(x,C)),C.has(_)||C.add(_))}}})}),t.registerUpdateListener(v=>{let{editorState:_,tags:E}=v;_.read(()=>{const S=(0,Dt.$getSelection)();let w=!1,y=!1;if((0,Dt.$isRangeSelection)(S)){const x=S.anchor.getNode();if((0,Dt.$isTextNode)(x)){const C=(0,Bi.$getMarkIDs)(x,S.anchor.offset);C!==null&&(i(C),w=!0),S.isCollapsed()||(a(x.getKey()),y=!0)}}w||i(x=>x.length===0?x:[]),y||a(null),(0,Dt.$isRangeSelection)(S)&&d(!1)})}),t.registerCommand(Cy,()=>{const v=window.getSelection();return v!==null&&v.removeAllRanges(),d(!0),!0},Dt.COMMAND_PRIORITY_EDITOR))},[t,r]),ht.createElement(ht.Fragment,null,u&&(0,Kc.createPortal)(ht.createElement(u6,{editor:t,cancelAddComment:h,submitAddComment:g,codoxComments:s}),document.body),o!=null&&!u&&(0,Kc.createPortal)(ht.createElement(a6,{anchorKey:o,editor:t,onAddComment:()=>{t.dispatchCommand(Cy,void 0)}}),document.body),(0,Kc.createPortal)(ht.createElement(Ja,{className:"CodoxCommentPlugin_ShowCommentsButton "+(f?"active":""),onClick:()=>p(!f),title:f?"Hide Comments":"Show Comments"},ht.createElement(eS,null)),document.body),f&&(0,Kc.createPortal)(ht.createElement(p6,{comments:e,submitAddComment:g,deleteCommentOrThread:m,activeIDs:c,markNodeMap:r,codoxComments:s,closeComments:()=>p(!1)}),document.body))}var fh=An(766),Xc={};Xc.styleTagTransform=Xs(),Xc.setAttributes=Zs(),Xc.insert=Ys().bind(null,"head"),Xc.domAPI=$s(),Xc.insertStyleElement=Qs(),Gs()(fh.A,Xc),fh.A&&fh.A.locals&&fh.A.locals;var ph=An(225),eu={};eu.styleTagTransform=Xs(),eu.setAttributes=Zs(),eu.insert=Ys().bind(null,"head"),eu.domAPI=$s(),eu.insertStyleElement=Qs(),Gs()(ph.A,eu),ph.A&&ph.A.locals&&ph.A.locals;function g6(l){let{label:t,value:n,onChange:e,placeholder:s="","data-test-id":r,type:o="text"}=l;return ht.createElement("div",{className:"CodoxInput__wrapper"},ht.createElement("label",{className:"CodoxInput__label"},t),ht.createElement("input",{type:o,className:"CodoxInput__input",placeholder:s,value:n,onChange:a=>{e(a.target.value)},"data-test-id":r}))}function aS(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function hh(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?aS(Object(n),!0).forEach(function(e){m6(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):aS(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function m6(l,t,n){return(t=y6(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function y6(l){var t=v6(l,"string");return typeof t=="symbol"?t:t+""}function v6(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}let Ud=!1;const b6=["#d0021b","#f5a623","#f8e71c","#8b572a","#7ed321","#417505","#bd10e0","#9013fe","#4a90e2","#50e3c2","#b8e986","#000000","#4a4a4a","#9b9b9b","#ffffff"];function _6(l){let{color:t,onChange:n}=l;const[e,s]=(0,ht.useState)(tu("hex",t)),[r,o]=(0,ht.useState)(t),a=(0,ht.useRef)(null),c=(0,ht.useMemo)(()=>({x:e.hsv.s/100*214,y:(100-e.hsv.v)/100*150}),[e.hsv.s,e.hsv.v]),i=(0,ht.useMemo)(()=>({x:e.hsv.h/360*214}),[e.hsv]);return(0,ht.useEffect)(()=>{a.current!==null&&n&&o(e.hex)},[e,n]),(0,ht.useEffect)(()=>{if(t===void 0)return;const u=tu("hex",t);s(u),o(u.hex)},[t]),ht.createElement("div",{className:"codox-color-picker-wrapper",style:{width:214},ref:a},ht.createElement(g6,{label:"Hex",onChange:u=>{if(o(u),/^#[0-9A-Fa-f]{6}$/i.test(u)){const d=tu("hex",u);s(d)}},value:r}),ht.createElement("div",{className:"codox-color-picker-basic-color"},b6.map(u=>ht.createElement("button",{className:u===e.hex?" active":"",key:u,style:{backgroundColor:u},onClick:()=>(d=>{o(d);let f=tu("hex",d);s(f),n(f.hex,Ud)})(u)}))),ht.createElement(lS,{className:"codox-color-picker-saturation",style:{backgroundColor:`hsl(${e.hsv.h}, 100%, 50%)`},onChange:u=>{let{x:d,y:f}=u;const p=tu("hsv",hh(hh({},e.hsv),{},{s:d/214*100,v:100-f/150*100}));s(p),o(p.hex),n(p.hex,Ud)}},ht.createElement("div",{className:"codox-color-picker-saturation_cursor",style:{backgroundColor:e.hex,left:c.x,top:c.y}})),ht.createElement(lS,{className:"codox-color-picker-hue",onChange:u=>{let{x:d}=u;const f=tu("hsv",hh(hh({},e.hsv),{},{h:d/214*360}));s(f),o(f.hex),n(f.hex,Ud)}},ht.createElement("div",{className:"codox-color-picker-hue_cursor",style:{backgroundColor:`hsl(${e.hsv.h}, 100%, 50%)`,left:i.x}})),ht.createElement("div",{className:"codox-color-picker-color",style:{backgroundColor:e.hex}}))}function lS(l){let{className:t,style:n,onChange:e,children:s}=l;const r=(0,ht.useRef)(null),o=(0,ht.useRef)(!1),a=c=>{if(r.current){const{current:i}=r,{width:u,height:d,left:f,top:p}=i.getBoundingClientRect(),h=cS(c.clientX-f,u,0),m=cS(c.clientY-p,d,0);e({x:h,y:m})}};return ht.createElement("div",{ref:r,className:t,style:n,onMouseDown:c=>{if(c.button!==0)return;a(c);const i=d=>{o.current=!0,Ud=!0,a(d)},u=d=>{o.current&&(Ud=!1),document.removeEventListener("mousemove",i,!1),document.removeEventListener("mouseup",u,!1),a(d),o.current=!1};document.addEventListener("mousemove",i,!1),document.addEventListener("mouseup",u,!1)}},s)}function cS(l,t,n){return l>t?t:l<n?n:l}function uS(l){if(!l.startsWith("#")){const t=document.createElement("canvas").getContext("2d");if(!t)throw new Error("2d context not supported or canvas already initialized");return t.fillStyle=l,t.fillStyle}return l.length===4||l.length===5?l=l.split("").map((t,n)=>n?t+t:"#").join(""):l.length===7||l.length===9?l:"#000000"}function dS(l){const t=(l.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(n,e,s,r)=>"#"+e+e+s+s+r+r).substring(1).match(/.{2}/g)||[]).map(n=>parseInt(n,16));return{b:t[2],g:t[1],r:t[0]}}function Ry(l){let{r:t,g:n,b:e}=l;t/=255,n/=255,e/=255;const s=Math.max(t,n,e),r=s-Math.min(t,n,e);return{h:r?60*(s===t?(n-e)/r+(n<e?6:0):s===n?2+(e-t)/r:4+(t-n)/r):0,s:s?r/s*100:0,v:100*s}}function w6(l){let{h:t,s:n,v:e}=l;n/=100,e/=100;const s=~~(t/60),r=t/60-s,o=e*(1-n),a=e*(1-n*r),c=e*(1-n*(1-r)),i=s%6,u=Math.round(255*[e,a,o,o,c,e][i]),d=Math.round(255*[c,e,e,a,o,o][i]);return{b:Math.round(255*[o,o,c,e,e,a][i]),g:d,r:u}}function fS(l){let{b:t,g:n,r:e}=l;return"#"+[e,n,t].map(s=>s.toString(16).padStart(2,"0")).join("")}function tu(l,t){let n=uS("#121212"),e=dS(n),s=Ry(e);return l==="hex"?(n=uS(t),e=dS(n),s=Ry(e)):l==="rgb"?(e=t,n=fS(e),s=Ry(e)):l==="hsv"&&(s=t,e=w6(s),n=fS(e)),{hex:n,hsv:s,rgb:e}}const x6=ht.createContext(null);function S6(l){let{children:t,dropDownRef:n,onClose:e,dropdownClassName:s}=l;const[r,o]=(0,ht.useState)(),[a,c]=(0,ht.useState)(),i=(0,ht.useCallback)(d=>{o(f=>f?[...f,d]:[d])},[o]),u=(0,ht.useMemo)(()=>({registerItem:i}),[i]);return(0,ht.useEffect)(()=>{r&&!a&&c(r[0]),a&&a.current&&a.current.focus()},[r,a]),ht.createElement(x6.Provider,{value:u},ht.createElement("div",{className:s,ref:n,onKeyDown:d=>{if(!r)return;const f=d.key;["Escape","ArrowUp","ArrowDown","Tab"].includes(f)&&d.preventDefault(),f==="Escape"||f==="Tab"?e():f==="ArrowUp"?c(p=>{if(!p)return r[0];const h=r.indexOf(p)-1;return r[h===-1?r.length-1:h]}):f==="ArrowDown"&&c(p=>p?r[r.indexOf(p)+1]:r[0])}},t))}function E6(l){let{disabled:t=!1,buttonLabel:n,buttonAriaLabel:e,buttonClassName:s,buttonIconClassName:r,children:o,stopCloseOnClickSelf:a,dropdownClassName:c,buttonLabelClassName:i,dropdownChevronClassName:u}=l;const d=(0,ht.useRef)(null),f=(0,ht.useRef)(null),[p,h]=(0,ht.useState)(!1);return(0,ht.useEffect)(()=>{const m=f.current,g=d.current;if(p&&m!==null&&g!==null){const{top:b,left:v}=m.getBoundingClientRect();g.style.top=`${b+m.offsetHeight+4}px`,g.style.left=`${Math.min(v,window.innerWidth-g.offsetWidth-20)}px`}},[d,f,p]),(0,ht.useEffect)(()=>{const m=f.current;if(m!==null&&p){const g=b=>{const v=b.target;a&&d.current&&d.current.contains(v)||m.contains(v)||h(!1)};return document.addEventListener("click",g),()=>{document.removeEventListener("click",g)}}},[d,f,p,a]),(0,ht.useEffect)(()=>{const m=()=>{if(p){const g=f.current,b=d.current;if(g!==null&&b!==null){const{top:v}=g.getBoundingClientRect(),_=v+g.offsetHeight+4;_!==b.getBoundingClientRect().top&&(b.style.top=`${_}px`)}}};return document.addEventListener("scroll",m),()=>{document.removeEventListener("scroll",m)}},[f,d,p]),ht.createElement(ht.Fragment,null,ht.createElement("button",{type:"button",disabled:t,"aria-label":e||n,className:s,onClick:()=>h(!p),ref:f},r&&ht.createElement("span",{className:r}),n&&ht.createElement("span",{className:i},n),ht.createElement("i",{className:u})),p&&(0,Kc.createPortal)(ht.createElement(S6,{dropDownRef:d,onClose:()=>{h(!1),f&&f.current&&f.current.focus()},dropdownClassName:c},o),document.body))}const C6=["disabled","stopCloseOnClickSelf","color","onChange"];function Dy(){return Dy=Object.assign?Object.assign.bind():function(l){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var e in n)({}).hasOwnProperty.call(n,e)&&(l[e]=n[e])}return l},Dy.apply(null,arguments)}function j6(l,t){if(l==null)return{};var n,e,s=k6(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function k6(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}function pS(l){let{disabled:t=!1,stopCloseOnClickSelf:n=!0,color:e,onChange:s}=l,r=j6(l,C6);return ht.createElement(E6,Dy({},r,{disabled:t,stopCloseOnClickSelf:n}),ht.createElement(_6,{color:e,onChange:s}))}const T6=l=>{let{onColorChange:t,buttonClassName:n,buttonIconClassName:e,buttonAriaLabel:s,buttonLabel:r,dropdownClassName:o,buttonLabelClassName:a,dropdownChevronClassName:c}=l;const[i]=(0,Wa.useLexicalComposerContext)(),[u,d]=(0,ht.useState)(()=>i.isEditable()),[f,p]=(0,ht.useState)("");(0,ht.useEffect)(()=>(0,Uc.mergeRegister)(i.registerEditableListener(m=>{d(m)}),i.registerUpdateListener(m=>{let{editorState:g}=m;g.read(()=>{const b=(0,Dt.$getSelection)();if((0,Dt.$isRangeSelection)(b)){let v=(0,Fl.$getSelectionStyleValueForProperty)(b,"color");v!==f&&(p(v||""),t(v))}})})),[i]);const h=(0,ht.useCallback)((m,g)=>{i.update(()=>{const b=(0,Dt.$getSelection)();b!==null&&(0,Fl.$patchStyleText)(b,{color:m})})},[i]);return ht.createElement(pS,{disabled:!u,color:f,onChange:h,buttonClassName:n||"",buttonIconClassName:e||"",buttonAriaLabel:s||"",buttonLabel:r||"",dropdownClassName:o||"",buttonLabelClassName:a||"",dropdownChevronClassName:c||""})},A6=T6,O6=l=>{let{onColorChange:t,buttonClassName:n,buttonIconClassName:e,buttonAriaLabel:s,buttonLabel:r,dropdownClassName:o,buttonLabelClassName:a,dropdownChevronClassName:c}=l;const[i]=(0,Wa.useLexicalComposerContext)(),[u,d]=(0,ht.useState)(()=>i.isEditable()),[f,p]=(0,ht.useState)("#fff");(0,ht.useEffect)(()=>(0,Uc.mergeRegister)(i.registerEditableListener(m=>{d(m)}),i.registerUpdateListener(m=>{let{editorState:g}=m;g.read(()=>{const b=(0,Dt.$getSelection)();if((0,Dt.$isRangeSelection)(b)){let v=(0,Fl.$getSelectionStyleValueForProperty)(b,"background-color");v!==f&&(p(v||""),t(v))}})})),[i]);const h=(0,ht.useCallback)((m,g)=>{i.update(()=>{const b=(0,Dt.$getSelection)();b!==null&&(0,Fl.$patchStyleText)(b,{"background-color":m})})},[i]);return ht.createElement(pS,{disabled:!u,color:f,onChange:h,buttonClassName:n||"",buttonIconClassName:e||"",buttonAriaLabel:s||"",buttonLabel:r||"",dropdownClassName:o||"",buttonLabelClassName:a||"",dropdownChevronClassName:c||""})},N6=O6;var hS=Ba.yy;Ba._U,Ba.a8,Ba.Vs,Ba.Cn;var gS=Ba.gK,mS=Ba.vv;const FD="";var Ly={exports:{}},gh={exports:{}},gr={};/** @license React v16.13.1
1488
- * react-is.production.min.js
1489
- *
1490
- * Copyright (c) Facebook, Inc. and its affiliates.
1491
- *
1492
- * This source code is licensed under the MIT license found in the
1493
- * LICENSE file in the root directory of this source tree.
1494
- */var yS;function P6(){if(yS)return gr;yS=1;var l=typeof Symbol=="function"&&Symbol.for,t=l?Symbol.for("react.element"):60103,n=l?Symbol.for("react.portal"):60106,e=l?Symbol.for("react.fragment"):60107,s=l?Symbol.for("react.strict_mode"):60108,r=l?Symbol.for("react.profiler"):60114,o=l?Symbol.for("react.provider"):60109,a=l?Symbol.for("react.context"):60110,c=l?Symbol.for("react.async_mode"):60111,i=l?Symbol.for("react.concurrent_mode"):60111,u=l?Symbol.for("react.forward_ref"):60112,d=l?Symbol.for("react.suspense"):60113,f=l?Symbol.for("react.suspense_list"):60120,p=l?Symbol.for("react.memo"):60115,h=l?Symbol.for("react.lazy"):60116,m=l?Symbol.for("react.block"):60121,g=l?Symbol.for("react.fundamental"):60117,b=l?Symbol.for("react.responder"):60118,v=l?Symbol.for("react.scope"):60119;function _(S){if(typeof S=="object"&&S!==null){var w=S.$$typeof;switch(w){case t:switch(S=S.type,S){case c:case i:case e:case r:case s:case d:return S;default:switch(S=S&&S.$$typeof,S){case a:case u:case h:case p:case o:return S;default:return w}}case n:return w}}}function E(S){return _(S)===i}return gr.AsyncMode=c,gr.ConcurrentMode=i,gr.ContextConsumer=a,gr.ContextProvider=o,gr.Element=t,gr.ForwardRef=u,gr.Fragment=e,gr.Lazy=h,gr.Memo=p,gr.Portal=n,gr.Profiler=r,gr.StrictMode=s,gr.Suspense=d,gr.isAsyncMode=function(S){return E(S)||_(S)===c},gr.isConcurrentMode=E,gr.isContextConsumer=function(S){return _(S)===a},gr.isContextProvider=function(S){return _(S)===o},gr.isElement=function(S){return typeof S=="object"&&S!==null&&S.$$typeof===t},gr.isForwardRef=function(S){return _(S)===u},gr.isFragment=function(S){return _(S)===e},gr.isLazy=function(S){return _(S)===h},gr.isMemo=function(S){return _(S)===p},gr.isPortal=function(S){return _(S)===n},gr.isProfiler=function(S){return _(S)===r},gr.isStrictMode=function(S){return _(S)===s},gr.isSuspense=function(S){return _(S)===d},gr.isValidElementType=function(S){return typeof S=="string"||typeof S=="function"||S===e||S===i||S===r||S===s||S===d||S===f||typeof S=="object"&&S!==null&&(S.$$typeof===h||S.$$typeof===p||S.$$typeof===o||S.$$typeof===a||S.$$typeof===u||S.$$typeof===g||S.$$typeof===b||S.$$typeof===v||S.$$typeof===m)},gr.typeOf=_,gr}var mr={};/** @license React v16.13.1
1495
- * react-is.development.js
1496
- *
1497
- * Copyright (c) Facebook, Inc. and its affiliates.
1498
- *
1499
- * This source code is licensed under the MIT license found in the
1500
- * LICENSE file in the root directory of this source tree.
1501
- */var vS;function I6(){return vS||(vS=1,process.env.NODE_ENV!=="production"&&function(){var l=typeof Symbol=="function"&&Symbol.for,t=l?Symbol.for("react.element"):60103,n=l?Symbol.for("react.portal"):60106,e=l?Symbol.for("react.fragment"):60107,s=l?Symbol.for("react.strict_mode"):60108,r=l?Symbol.for("react.profiler"):60114,o=l?Symbol.for("react.provider"):60109,a=l?Symbol.for("react.context"):60110,c=l?Symbol.for("react.async_mode"):60111,i=l?Symbol.for("react.concurrent_mode"):60111,u=l?Symbol.for("react.forward_ref"):60112,d=l?Symbol.for("react.suspense"):60113,f=l?Symbol.for("react.suspense_list"):60120,p=l?Symbol.for("react.memo"):60115,h=l?Symbol.for("react.lazy"):60116,m=l?Symbol.for("react.block"):60121,g=l?Symbol.for("react.fundamental"):60117,b=l?Symbol.for("react.responder"):60118,v=l?Symbol.for("react.scope"):60119;function _(Y){return typeof Y=="string"||typeof Y=="function"||Y===e||Y===i||Y===r||Y===s||Y===d||Y===f||typeof Y=="object"&&Y!==null&&(Y.$$typeof===h||Y.$$typeof===p||Y.$$typeof===o||Y.$$typeof===a||Y.$$typeof===u||Y.$$typeof===g||Y.$$typeof===b||Y.$$typeof===v||Y.$$typeof===m)}function E(Y){if(typeof Y=="object"&&Y!==null){var ee=Y.$$typeof;switch(ee){case t:var ie=Y.type;switch(ie){case c:case i:case e:case r:case s:case d:return ie;default:var fe=ie&&ie.$$typeof;switch(fe){case a:case u:case h:case p:case o:return fe;default:return ee}}case n:return ee}}}var S=c,w=i,y=a,x=o,C=t,T=u,R=e,F=h,I=p,B=n,A=r,j=s,O=d,L=!1;function N(Y){return L||(L=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),U(Y)||E(Y)===c}function U(Y){return E(Y)===i}function D(Y){return E(Y)===a}function z(Y){return E(Y)===o}function K(Y){return typeof Y=="object"&&Y!==null&&Y.$$typeof===t}function G(Y){return E(Y)===u}function P(Y){return E(Y)===e}function W(Y){return E(Y)===h}function J(Y){return E(Y)===p}function H(Y){return E(Y)===n}function $(Y){return E(Y)===r}function Z(Y){return E(Y)===s}function X(Y){return E(Y)===d}mr.AsyncMode=S,mr.ConcurrentMode=w,mr.ContextConsumer=y,mr.ContextProvider=x,mr.Element=C,mr.ForwardRef=T,mr.Fragment=R,mr.Lazy=F,mr.Memo=I,mr.Portal=B,mr.Profiler=A,mr.StrictMode=j,mr.Suspense=O,mr.isAsyncMode=N,mr.isConcurrentMode=U,mr.isContextConsumer=D,mr.isContextProvider=z,mr.isElement=K,mr.isForwardRef=G,mr.isFragment=P,mr.isLazy=W,mr.isMemo=J,mr.isPortal=H,mr.isProfiler=$,mr.isStrictMode=Z,mr.isSuspense=X,mr.isValidElementType=_,mr.typeOf=E}()),mr}var bS;function _S(){return bS||(bS=1,process.env.NODE_ENV==="production"?gh.exports=P6():gh.exports=I6()),gh.exports}var Fy,wS;function By(){if(wS)return Fy;wS=1;var l="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Fy=l,Fy}var zy,xS;function SS(){return xS||(xS=1,zy=Function.call.bind(Object.prototype.hasOwnProperty)),zy}var Uy,ES;function M6(){if(ES)return Uy;ES=1;var l=function(){};if(process.env.NODE_ENV!=="production"){var t=By(),n={},e=SS();l=function(r){var o="Warning: "+r;typeof console<"u"&&console.error(o);try{throw new Error(o)}catch{}}}function s(r,o,a,c,i){if(process.env.NODE_ENV!=="production"){for(var u in r)if(e(r,u)){var d;try{if(typeof r[u]!="function"){var f=Error((c||"React class")+": "+a+" type `"+u+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof r[u]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw f.name="Invariant Violation",f}d=r[u](o,u,c,a,null,t)}catch(h){d=h}if(d&&!(d instanceof Error)&&l((c||"React class")+": type specification of "+a+" `"+u+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof d+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),d instanceof Error&&!(d.message in n)){n[d.message]=!0;var p=i?i():"";l("Failed "+a+" type: "+d.message+(p??""))}}}}return s.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(n={})},Uy=s,Uy}var Hy,CS;function R6(){if(CS)return Hy;CS=1;var l=_S(),t=Tf(),n=By(),e=SS(),s=M6(),r=function(){};process.env.NODE_ENV!=="production"&&(r=function(a){var c="Warning: "+a;typeof console<"u"&&console.error(c);try{throw new Error(c)}catch{}});function o(){return null}return Hy=function(a,c){var i=typeof Symbol=="function"&&Symbol.iterator,u="@@iterator";function d(U){var D=U&&(i&&U[i]||U[u]);if(typeof D=="function")return D}var f="<<anonymous>>",p={array:b("array"),bigint:b("bigint"),bool:b("boolean"),func:b("function"),number:b("number"),object:b("object"),string:b("string"),symbol:b("symbol"),any:v(),arrayOf:_,element:E(),elementType:S(),instanceOf:w,node:T(),objectOf:x,oneOf:y,oneOfType:C,shape:F,exact:I};function h(U,D){return U===D?U!==0||1/U===1/D:U!==U&&D!==D}function m(U,D){this.message=U,this.data=D&&typeof D=="object"?D:{},this.stack=""}m.prototype=Error.prototype;function g(U){if(process.env.NODE_ENV!=="production")var D={},z=0;function K(P,W,J,H,$,Z,X){if(H=H||f,Z=Z||J,X!==n){if(c){var Y=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 Y.name="Invariant Violation",Y}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var ee=H+":"+J;!D[ee]&&z<3&&(r("You are manually calling a React.PropTypes validation function for the `"+Z+"` prop on `"+H+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),D[ee]=!0,z++)}}return W[J]==null?P?W[J]===null?new m("The "+$+" `"+Z+"` is marked as required "+("in `"+H+"`, but its value is `null`.")):new m("The "+$+" `"+Z+"` is marked as required in "+("`"+H+"`, but its value is `undefined`.")):null:U(W,J,H,$,Z)}var G=K.bind(null,!1);return G.isRequired=K.bind(null,!0),G}function b(U){function D(z,K,G,P,W,J){var H=z[K],$=j(H);if($!==U){var Z=O(H);return new m("Invalid "+P+" `"+W+"` of type "+("`"+Z+"` supplied to `"+G+"`, expected ")+("`"+U+"`."),{expectedType:U})}return null}return g(D)}function v(){return g(o)}function _(U){function D(z,K,G,P,W){if(typeof U!="function")return new m("Property `"+W+"` of component `"+G+"` has invalid PropType notation inside arrayOf.");var J=z[K];if(!Array.isArray(J)){var H=j(J);return new m("Invalid "+P+" `"+W+"` of type "+("`"+H+"` supplied to `"+G+"`, expected an array."))}for(var $=0;$<J.length;$++){var Z=U(J,$,G,P,W+"["+$+"]",n);if(Z instanceof Error)return Z}return null}return g(D)}function E(){function U(D,z,K,G,P){var W=D[z];if(!a(W)){var J=j(W);return new m("Invalid "+G+" `"+P+"` of type "+("`"+J+"` supplied to `"+K+"`, expected a single ReactElement."))}return null}return g(U)}function S(){function U(D,z,K,G,P){var W=D[z];if(!l.isValidElementType(W)){var J=j(W);return new m("Invalid "+G+" `"+P+"` of type "+("`"+J+"` supplied to `"+K+"`, expected a single ReactElement type."))}return null}return g(U)}function w(U){function D(z,K,G,P,W){if(!(z[K]instanceof U)){var J=U.name||f,H=N(z[K]);return new m("Invalid "+P+" `"+W+"` of type "+("`"+H+"` supplied to `"+G+"`, expected ")+("instance of `"+J+"`."))}return null}return g(D)}function y(U){if(!Array.isArray(U))return process.env.NODE_ENV!=="production"&&(arguments.length>1?r("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):r("Invalid argument supplied to oneOf, expected an array.")),o;function D(z,K,G,P,W){for(var J=z[K],H=0;H<U.length;H++)if(h(J,U[H]))return null;var $=JSON.stringify(U,function(X,Y){var ee=O(Y);return ee==="symbol"?String(Y):Y});return new m("Invalid "+P+" `"+W+"` of value `"+String(J)+"` "+("supplied to `"+G+"`, expected one of "+$+"."))}return g(D)}function x(U){function D(z,K,G,P,W){if(typeof U!="function")return new m("Property `"+W+"` of component `"+G+"` has invalid PropType notation inside objectOf.");var J=z[K],H=j(J);if(H!=="object")return new m("Invalid "+P+" `"+W+"` of type "+("`"+H+"` supplied to `"+G+"`, expected an object."));for(var $ in J)if(e(J,$)){var Z=U(J,$,G,P,W+"."+$,n);if(Z instanceof Error)return Z}return null}return g(D)}function C(U){if(!Array.isArray(U))return process.env.NODE_ENV!=="production"&&r("Invalid argument supplied to oneOfType, expected an instance of array."),o;for(var D=0;D<U.length;D++){var z=U[D];if(typeof z!="function")return r("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+L(z)+" at index "+D+"."),o}function K(G,P,W,J,H){for(var $=[],Z=0;Z<U.length;Z++){var X=U[Z],Y=X(G,P,W,J,H,n);if(Y==null)return null;Y.data&&e(Y.data,"expectedType")&&$.push(Y.data.expectedType)}var ee=$.length>0?", expected one of type ["+$.join(", ")+"]":"";return new m("Invalid "+J+" `"+H+"` supplied to "+("`"+W+"`"+ee+"."))}return g(K)}function T(){function U(D,z,K,G,P){return B(D[z])?null:new m("Invalid "+G+" `"+P+"` supplied to "+("`"+K+"`, expected a ReactNode."))}return g(U)}function R(U,D,z,K,G){return new m((U||"React class")+": "+D+" type `"+z+"."+K+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+G+"`.")}function F(U){function D(z,K,G,P,W){var J=z[K],H=j(J);if(H!=="object")return new m("Invalid "+P+" `"+W+"` of type `"+H+"` "+("supplied to `"+G+"`, expected `object`."));for(var $ in U){var Z=U[$];if(typeof Z!="function")return R(G,P,W,$,O(Z));var X=Z(J,$,G,P,W+"."+$,n);if(X)return X}return null}return g(D)}function I(U){function D(z,K,G,P,W){var J=z[K],H=j(J);if(H!=="object")return new m("Invalid "+P+" `"+W+"` of type `"+H+"` "+("supplied to `"+G+"`, expected `object`."));var $=t({},z[K],U);for(var Z in $){var X=U[Z];if(e(U,Z)&&typeof X!="function")return R(G,P,W,Z,O(X));if(!X)return new m("Invalid "+P+" `"+W+"` key `"+Z+"` supplied to `"+G+"`.\nBad object: "+JSON.stringify(z[K],null," ")+`
1502
- Valid keys: `+JSON.stringify(Object.keys(U),null," "));var Y=X(J,Z,G,P,W+"."+Z,n);if(Y)return Y}return null}return g(D)}function B(U){switch(typeof U){case"number":case"string":case"undefined":return!0;case"boolean":return!U;case"object":if(Array.isArray(U))return U.every(B);if(U===null||a(U))return!0;var D=d(U);if(D){var z=D.call(U),K;if(D!==U.entries){for(;!(K=z.next()).done;)if(!B(K.value))return!1}else for(;!(K=z.next()).done;){var G=K.value;if(G&&!B(G[1]))return!1}}else return!1;return!0;default:return!1}}function A(U,D){return U==="symbol"?!0:D?D["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&D instanceof Symbol:!1}function j(U){var D=typeof U;return Array.isArray(U)?"array":U instanceof RegExp?"object":A(D,U)?"symbol":D}function O(U){if(typeof U>"u"||U===null)return""+U;var D=j(U);if(D==="object"){if(U instanceof Date)return"date";if(U instanceof RegExp)return"regexp"}return D}function L(U){var D=O(U);switch(D){case"array":case"object":return"an "+D;case"boolean":case"date":case"regexp":return"a "+D;default:return D}}function N(U){return!U.constructor||!U.constructor.name?f:U.constructor.name}return p.checkPropTypes=s,p.resetWarningCache=s.resetWarningCache,p.PropTypes=p,p},Hy}var qy,jS;function D6(){if(jS)return qy;jS=1;var l=By();function t(){}function n(){}return n.resetWarningCache=t,qy=function(){function e(o,a,c,i,u,d){if(d!==l){var f=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 f.name="Invariant Violation",f}}e.isRequired=e;function s(){return e}var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:s,element:e,elementType:e,instanceOf:s,node:e,objectOf:s,oneOf:s,oneOfType:s,shape:s,exact:s,checkPropTypes:n,resetWarningCache:t};return r.PropTypes=r,r},qy}if(process.env.NODE_ENV!=="production"){var L6=_S(),F6=!0;Ly.exports=R6()(L6.isElement,F6)}else Ly.exports=D6()();var B6=Ly.exports;const Hr=Uu(B6);function z6(l){return l&&typeof l=="object"&&"default"in l?l.default:l}var kS=he,U6=z6(kS);function TS(l,t,n){return t in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function H6(l,t){l.prototype=Object.create(t.prototype),l.prototype.constructor=l,l.__proto__=t}var q6=!!(typeof window<"u"&&window.document&&window.document.createElement);function W6(l,t,n){if(typeof l!="function")throw new Error("Expected reducePropsToState to be a function.");if(typeof t!="function")throw new Error("Expected handleStateChangeOnClient to be a function.");if(typeof n<"u"&&typeof n!="function")throw new Error("Expected mapStateOnServer to either be undefined or a function.");function e(s){return s.displayName||s.name||"Component"}return function(r){if(typeof r!="function")throw new Error("Expected WrappedComponent to be a React component.");var o=[],a;function c(){a=l(o.map(function(u){return u.props})),i.canUseDOM?t(a):n&&(a=n(a))}var i=function(u){H6(d,u);function d(){return u.apply(this,arguments)||this}d.peek=function(){return a},d.rewind=function(){if(d.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var h=a;return a=void 0,o=[],h};var f=d.prototype;return f.UNSAFE_componentWillMount=function(){o.push(this),c()},f.componentDidUpdate=function(){c()},f.componentWillUnmount=function(){var h=o.indexOf(this);o.splice(h,1),c()},f.render=function(){return U6.createElement(r,this.props)},d}(kS.PureComponent);return TS(i,"displayName","SideEffect("+e(r)+")"),TS(i,"canUseDOM",q6),i}}var J6=W6;const V6=Uu(J6);var K6=typeof Element<"u",G6=typeof Map=="function",$6=typeof Set=="function",Y6=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function mh(l,t){if(l===t)return!0;if(l&&t&&typeof l=="object"&&typeof t=="object"){if(l.constructor!==t.constructor)return!1;var n,e,s;if(Array.isArray(l)){if(n=l.length,n!=t.length)return!1;for(e=n;e--!==0;)if(!mh(l[e],t[e]))return!1;return!0}var r;if(G6&&l instanceof Map&&t instanceof Map){if(l.size!==t.size)return!1;for(r=l.entries();!(e=r.next()).done;)if(!t.has(e.value[0]))return!1;for(r=l.entries();!(e=r.next()).done;)if(!mh(e.value[1],t.get(e.value[0])))return!1;return!0}if($6&&l instanceof Set&&t instanceof Set){if(l.size!==t.size)return!1;for(r=l.entries();!(e=r.next()).done;)if(!t.has(e.value[0]))return!1;return!0}if(Y6&&ArrayBuffer.isView(l)&&ArrayBuffer.isView(t)){if(n=l.length,n!=t.length)return!1;for(e=n;e--!==0;)if(l[e]!==t[e])return!1;return!0}if(l.constructor===RegExp)return l.source===t.source&&l.flags===t.flags;if(l.valueOf!==Object.prototype.valueOf&&typeof l.valueOf=="function"&&typeof t.valueOf=="function")return l.valueOf()===t.valueOf();if(l.toString!==Object.prototype.toString&&typeof l.toString=="function"&&typeof t.toString=="function")return l.toString()===t.toString();if(s=Object.keys(l),n=s.length,n!==Object.keys(t).length)return!1;for(e=n;e--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[e]))return!1;if(K6&&l instanceof Element)return!1;for(e=n;e--!==0;)if(!((s[e]==="_owner"||s[e]==="__v"||s[e]==="__o")&&l.$$typeof)&&!mh(l[s[e]],t[s[e]]))return!1;return!0}return l!==l&&t!==t}var Z6=function(t,n){try{return mh(t,n)}catch(e){if((e.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw e}};const Q6=Uu(Z6);var X6=Tf();const e5=Uu(X6);var zl={BODY:"bodyAttributes",HTML:"htmlAttributes",TITLE:"titleAttributes"},Vn={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},AS=Object.keys(Vn).map(function(l){return Vn[l]}),qr={CHARSET:"charset",CSS_TEXT:"cssText",HREF:"href",HTTPEQUIV:"http-equiv",INNER_HTML:"innerHTML",ITEM_PROP:"itemprop",NAME:"name",PROPERTY:"property",REL:"rel",SRC:"src",TARGET:"target"},yh={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},Hd={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate"},t5=Object.keys(yh).reduce(function(l,t){return l[yh[t]]=t,l},{}),n5=[Vn.NOSCRIPT,Vn.SCRIPT,Vn.STYLE],ls="data-react-helmet",r5=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},o5=function(l,t){if(!(l instanceof t))throw new TypeError("Cannot call a class as a function")},i5=function(){function l(t,n){for(var e=0;e<n.length;e++){var s=n[e];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}return function(t,n,e){return n&&l(t.prototype,n),e&&l(t,e),t}}(),ui=Object.assign||function(l){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(l[e]=n[e])}return l},s5=function(l,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);l.prototype=Object.create(t&&t.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(l,t):l.__proto__=t)},OS=function(l,t){var n={};for(var e in l)t.indexOf(e)>=0||Object.prototype.hasOwnProperty.call(l,e)&&(n[e]=l[e]);return n},a5=function(l,t){if(!l)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&(typeof t=="object"||typeof t=="function")?t:l},Wy=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return n===!1?String(t):String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")},l5=function(t){var n=nu(t,Vn.TITLE),e=nu(t,Hd.TITLE_TEMPLATE);if(e&&n)return e.replace(/%s/g,function(){return Array.isArray(n)?n.join(""):n});var s=nu(t,Hd.DEFAULT_TITLE);return n||s||void 0},c5=function(t){return nu(t,Hd.ON_CHANGE_CLIENT_STATE)||function(){}},Jy=function(t,n){return n.filter(function(e){return typeof e[t]<"u"}).map(function(e){return e[t]}).reduce(function(e,s){return ui({},e,s)},{})},u5=function(t,n){return n.filter(function(e){return typeof e[Vn.BASE]<"u"}).map(function(e){return e[Vn.BASE]}).reverse().reduce(function(e,s){if(!e.length)for(var r=Object.keys(s),o=0;o<r.length;o++){var a=r[o],c=a.toLowerCase();if(t.indexOf(c)!==-1&&s[c])return e.concat(s)}return e},[])},qd=function(t,n,e){var s={};return e.filter(function(r){return Array.isArray(r[t])?!0:(typeof r[t]<"u"&&Ky("Helmet: "+t+' should be of type "Array". Instead found type "'+r5(r[t])+'"'),!1)}).map(function(r){return r[t]}).reverse().reduce(function(r,o){var a={};o.filter(function(f){for(var p=void 0,h=Object.keys(f),m=0;m<h.length;m++){var g=h[m],b=g.toLowerCase();n.indexOf(b)!==-1&&!(p===qr.REL&&f[p].toLowerCase()==="canonical")&&!(b===qr.REL&&f[b].toLowerCase()==="stylesheet")&&(p=b),n.indexOf(g)!==-1&&(g===qr.INNER_HTML||g===qr.CSS_TEXT||g===qr.ITEM_PROP)&&(p=g)}if(!p||!f[p])return!1;var v=f[p].toLowerCase();return s[p]||(s[p]={}),a[p]||(a[p]={}),s[p][v]?!1:(a[p][v]=!0,!0)}).reverse().forEach(function(f){return r.push(f)});for(var c=Object.keys(a),i=0;i<c.length;i++){var u=c[i],d=e5({},s[u],a[u]);s[u]=d}return r},[]).reverse()},nu=function(t,n){for(var e=t.length-1;e>=0;e--){var s=t[e];if(s.hasOwnProperty(n))return s[n]}return null},d5=function(t){return{baseTag:u5([qr.HREF,qr.TARGET],t),bodyAttributes:Jy(zl.BODY,t),defer:nu(t,Hd.DEFER),encode:nu(t,Hd.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:Jy(zl.HTML,t),linkTags:qd(Vn.LINK,[qr.REL,qr.HREF],t),metaTags:qd(Vn.META,[qr.NAME,qr.CHARSET,qr.HTTPEQUIV,qr.PROPERTY,qr.ITEM_PROP],t),noscriptTags:qd(Vn.NOSCRIPT,[qr.INNER_HTML],t),onChangeClientState:c5(t),scriptTags:qd(Vn.SCRIPT,[qr.SRC,qr.INNER_HTML],t),styleTags:qd(Vn.STYLE,[qr.CSS_TEXT],t),title:l5(t),titleAttributes:Jy(zl.TITLE,t)}},Vy=function(){var l=Date.now();return function(t){var n=Date.now();n-l>16?(l=n,t(n)):setTimeout(function(){Vy(t)},0)}}(),NS=function(t){return clearTimeout(t)},f5=typeof window<"u"?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||Vy:global.requestAnimationFrame||Vy,p5=typeof window<"u"?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||NS:global.cancelAnimationFrame||NS,Ky=function(t){return console&&typeof console.warn=="function"&&console.warn(t)},Wd=null,h5=function(t){Wd&&p5(Wd),t.defer?Wd=f5(function(){PS(t,function(){Wd=null})}):(PS(t),Wd=null)},PS=function(t,n){var e=t.baseTag,s=t.bodyAttributes,r=t.htmlAttributes,o=t.linkTags,a=t.metaTags,c=t.noscriptTags,i=t.onChangeClientState,u=t.scriptTags,d=t.styleTags,f=t.title,p=t.titleAttributes;Gy(Vn.BODY,s),Gy(Vn.HTML,r),g5(f,p);var h={baseTag:ru(Vn.BASE,e),linkTags:ru(Vn.LINK,o),metaTags:ru(Vn.META,a),noscriptTags:ru(Vn.NOSCRIPT,c),scriptTags:ru(Vn.SCRIPT,u),styleTags:ru(Vn.STYLE,d)},m={},g={};Object.keys(h).forEach(function(b){var v=h[b],_=v.newTags,E=v.oldTags;_.length&&(m[b]=_),E.length&&(g[b]=h[b].oldTags)}),n&&n(),i(t,m,g)},IS=function(t){return Array.isArray(t)?t.join(""):t},g5=function(t,n){typeof t<"u"&&document.title!==t&&(document.title=IS(t)),Gy(Vn.TITLE,n)},Gy=function(t,n){var e=document.getElementsByTagName(t)[0];if(e){for(var s=e.getAttribute(ls),r=s?s.split(","):[],o=[].concat(r),a=Object.keys(n),c=0;c<a.length;c++){var i=a[c],u=n[i]||"";e.getAttribute(i)!==u&&e.setAttribute(i,u),r.indexOf(i)===-1&&r.push(i);var d=o.indexOf(i);d!==-1&&o.splice(d,1)}for(var f=o.length-1;f>=0;f--)e.removeAttribute(o[f]);r.length===o.length?e.removeAttribute(ls):e.getAttribute(ls)!==a.join(",")&&e.setAttribute(ls,a.join(","))}},ru=function(t,n){var e=document.head||document.querySelector(Vn.HEAD),s=e.querySelectorAll(t+"["+ls+"]"),r=Array.prototype.slice.call(s),o=[],a=void 0;return n&&n.length&&n.forEach(function(c){var i=document.createElement(t);for(var u in c)if(c.hasOwnProperty(u))if(u===qr.INNER_HTML)i.innerHTML=c.innerHTML;else if(u===qr.CSS_TEXT)i.styleSheet?i.styleSheet.cssText=c.cssText:i.appendChild(document.createTextNode(c.cssText));else{var d=typeof c[u]>"u"?"":c[u];i.setAttribute(u,d)}i.setAttribute(ls,"true"),r.some(function(f,p){return a=p,i.isEqualNode(f)})?r.splice(a,1):o.push(i)}),r.forEach(function(c){return c.parentNode.removeChild(c)}),o.forEach(function(c){return e.appendChild(c)}),{oldTags:r,newTags:o}},MS=function(t){return Object.keys(t).reduce(function(n,e){var s=typeof t[e]<"u"?e+'="'+t[e]+'"':""+e;return n?n+" "+s:s},"")},m5=function(t,n,e,s){var r=MS(e),o=IS(n);return r?"<"+t+" "+ls+'="true" '+r+">"+Wy(o,s)+"</"+t+">":"<"+t+" "+ls+'="true">'+Wy(o,s)+"</"+t+">"},y5=function(t,n,e){return n.reduce(function(s,r){var o=Object.keys(r).filter(function(i){return!(i===qr.INNER_HTML||i===qr.CSS_TEXT)}).reduce(function(i,u){var d=typeof r[u]>"u"?u:u+'="'+Wy(r[u],e)+'"';return i?i+" "+d:d},""),a=r.innerHTML||r.cssText||"",c=n5.indexOf(t)===-1;return s+"<"+t+" "+ls+'="true" '+o+(c?"/>":">"+a+"</"+t+">")},"")},RS=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.keys(t).reduce(function(e,s){return e[yh[s]||s]=t[s],e},n)},v5=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Object.keys(t).reduce(function(e,s){return e[t5[s]||s]=t[s],e},n)},b5=function(t,n,e){var s,r=(s={key:n},s[ls]=!0,s),o=RS(e,r);return[he.createElement(Vn.TITLE,o,n)]},_5=function(t,n){return n.map(function(e,s){var r,o=(r={key:s},r[ls]=!0,r);return Object.keys(e).forEach(function(a){var c=yh[a]||a;if(c===qr.INNER_HTML||c===qr.CSS_TEXT){var i=e.innerHTML||e.cssText;o.dangerouslySetInnerHTML={__html:i}}else o[c]=e[a]}),he.createElement(t,o)})},ta=function(t,n,e){switch(t){case Vn.TITLE:return{toComponent:function(){return b5(t,n.title,n.titleAttributes)},toString:function(){return m5(t,n.title,n.titleAttributes,e)}};case zl.BODY:case zl.HTML:return{toComponent:function(){return RS(n)},toString:function(){return MS(n)}};default:return{toComponent:function(){return _5(t,n)},toString:function(){return y5(t,n,e)}}}},DS=function(t){var n=t.baseTag,e=t.bodyAttributes,s=t.encode,r=t.htmlAttributes,o=t.linkTags,a=t.metaTags,c=t.noscriptTags,i=t.scriptTags,u=t.styleTags,d=t.title,f=d===void 0?"":d,p=t.titleAttributes;return{base:ta(Vn.BASE,n,s),bodyAttributes:ta(zl.BODY,e,s),htmlAttributes:ta(zl.HTML,r,s),link:ta(Vn.LINK,o,s),meta:ta(Vn.META,a,s),noscript:ta(Vn.NOSCRIPT,c,s),script:ta(Vn.SCRIPT,i,s),style:ta(Vn.STYLE,u,s),title:ta(Vn.TITLE,{title:f,titleAttributes:p},s)}},w5=function(t){var n,e;return e=n=function(s){s5(r,s);function r(){return o5(this,r),a5(this,s.apply(this,arguments))}return r.prototype.shouldComponentUpdate=function(a){return!Q6(this.props,a)},r.prototype.mapNestedChildrenToProps=function(a,c){if(!c)return null;switch(a.type){case Vn.SCRIPT:case Vn.NOSCRIPT:return{innerHTML:c};case Vn.STYLE:return{cssText:c}}throw new Error("<"+a.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},r.prototype.flattenArrayTypeChildren=function(a){var c,i=a.child,u=a.arrayTypeChildren,d=a.newChildProps,f=a.nestedChildren;return ui({},u,(c={},c[i.type]=[].concat(u[i.type]||[],[ui({},d,this.mapNestedChildrenToProps(i,f))]),c))},r.prototype.mapObjectTypeChildren=function(a){var c,i,u=a.child,d=a.newProps,f=a.newChildProps,p=a.nestedChildren;switch(u.type){case Vn.TITLE:return ui({},d,(c={},c[u.type]=p,c.titleAttributes=ui({},f),c));case Vn.BODY:return ui({},d,{bodyAttributes:ui({},f)});case Vn.HTML:return ui({},d,{htmlAttributes:ui({},f)})}return ui({},d,(i={},i[u.type]=ui({},f),i))},r.prototype.mapArrayTypeChildrenToProps=function(a,c){var i=ui({},c);return Object.keys(a).forEach(function(u){var d;i=ui({},i,(d={},d[u]=a[u],d))}),i},r.prototype.warnOnInvalidChildren=function(a,c){if(process.env.NODE_ENV!=="production"){if(!AS.some(function(i){return a.type===i}))return typeof a.type=="function"?Ky("You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information."):Ky("Only elements types "+AS.join(", ")+" are allowed. Helmet does not support rendering <"+a.type+"> elements. Refer to our API for more information.");if(c&&typeof c!="string"&&(!Array.isArray(c)||c.some(function(i){return typeof i!="string"})))throw new Error("Helmet expects a string as a child of <"+a.type+">. Did you forget to wrap your children in braces? ( <"+a.type+">{``}</"+a.type+"> ) Refer to our API for more information.")}return!0},r.prototype.mapChildrenToProps=function(a,c){var i=this,u={};return he.Children.forEach(a,function(d){if(!(!d||!d.props)){var f=d.props,p=f.children,h=OS(f,["children"]),m=v5(h);switch(i.warnOnInvalidChildren(d,p),d.type){case Vn.LINK:case Vn.META:case Vn.NOSCRIPT:case Vn.SCRIPT:case Vn.STYLE:u=i.flattenArrayTypeChildren({child:d,arrayTypeChildren:u,newChildProps:m,nestedChildren:p});break;default:c=i.mapObjectTypeChildren({child:d,newProps:c,newChildProps:m,nestedChildren:p});break}}}),c=this.mapArrayTypeChildrenToProps(u,c),c},r.prototype.render=function(){var a=this.props,c=a.children,i=OS(a,["children"]),u=ui({},i);return c&&(u=this.mapChildrenToProps(c,u)),he.createElement(t,u)},i5(r,null,[{key:"canUseDOM",set:function(a){t.canUseDOM=a}}]),r}(he.Component),n.propTypes={base:Hr.object,bodyAttributes:Hr.object,children:Hr.oneOfType([Hr.arrayOf(Hr.node),Hr.node]),defaultTitle:Hr.string,defer:Hr.bool,encodeSpecialCharacters:Hr.bool,htmlAttributes:Hr.object,link:Hr.arrayOf(Hr.object),meta:Hr.arrayOf(Hr.object),noscript:Hr.arrayOf(Hr.object),onChangeClientState:Hr.func,script:Hr.arrayOf(Hr.object),style:Hr.arrayOf(Hr.object),title:Hr.string,titleAttributes:Hr.object,titleTemplate:Hr.string},n.defaultProps={defer:!0,encodeSpecialCharacters:!0},n.peek=t.peek,n.rewind=function(){var s=t.rewind();return s||(s=DS({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),s},e},x5=function(){return null},S5=V6(d5,h5,DS)(x5),$y=w5(S5);$y.renderStatic=$y.rewind;const LS=({styleConfig:l})=>{const{heading:t}=l;return t.find(n=>n.title==="Heading1"),t.find(n=>n.title==="Heading2"),t.find(n=>n.title==="Heading3"),t.find(n=>n.title==="Heading4"),t.find(n=>n.title==="Heading5"),ae.jsx($y,{children:ae.jsx("style",{type:"text/css",children:`
1484
+ Tested fromCodoxNode() output: ${JSON.stringify(c)}`)},{discrete:!0}),e)return e}},e6=function(){return QI(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(l=>{let t,n=typeof l=="object"&&l.replace&&l.with;if(t=n?l.replace:l,t.hasOwnProperty("__isCodoxExtended"))return n?l:t;let e=XI(t);if(e)throw new Error(`[registerNodesWithCodox] ${e}`);return VI(t),KI(t),$I(t),GI(t),YI(t),ZI(t),Object.defineProperty(t,"__isCodoxExtended",{value:!0,writable:!1}),n?(l.replace=t,l):t})};function lS(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function t6(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?lS(Object(n),!0).forEach(function(e){n6(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):lS(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function n6(l,t,n){return(t=r6(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function r6(l){var t=o6(l,"string");return typeof t=="symbol"?t:t+""}function o6(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}function i6(){let{node:l,codoxId:t=null,codoxDId:n=null}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!l)return null;const e=[l];for(;e.length;){const s=e.pop();if(t&&s.codoxId&&s.codoxId===t||n&&s.codoxDId&&s.codoxDId===n)return s;Array.isArray(s.children)&&e.push(...s.children)}return null}function ah(l){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,n=arguments.length>2?arguments[2]:void 0;l=Un.getNodesConversionsManager(n.getKey()).convertJsonNodeFromSync(l,n);let e=n._nodes;const{klass:s}=e.get(l.type)||{};if(!s)return;const r=s.importJSON(l);if(l.children&&l.children.length)for(const o of l.children)ah(o,r,n);return t&&t.getChildrenSize&&t.splice(t.getChildrenSize(),0,[r]),r}function lh(l){if(l.getChildren)for(let t of l.getChildren())lh(t);l.remove()}function cS(l){l.__parent=null,l.__next=null,l.__prev=null}function uS(l,t){return!!nh(l)&&!(typeof t!="object"||!t.editorState||(l.update(()=>{try{let n=(0,Dt.$getSelection)();const e=l.parseEditorState(t.editorState);if(e.isEmpty())return(0,Dt.$getRoot)().clear(),!0;(0,Dt.$setSelection)(n),l.setEditorState(e)}catch(n){pt.default.error("[stateUpdates][updateNestedEditorState] update nested state and selection error: ",n)}}),0))}function s6(l,t){let n=t;for(const e of l)n=n[e];return n}function ta(){let{pathArray:l,newStateJSON:t=null,searchInNewState:n=!1,editor:e=null,codoxNodesMap:s,currentStateJSON:r}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(n&&!t)return pt.default.debug("[getLexicalNodeByPathOutOfJSONState]: new state is not providerd for search - stop",{pathArray:l,newStateJSON:t,searchInNewState:n}),null;let o=null,a=null;if(a=n?t:r||(e?Fl(e.getEditorState()):null),!a)return null;let c=null;try{c=s6(l,a)}catch{}return c&&(o=zl(c)?(0,Dt.$getRoot)():s.get(c.codoxId)),o||(n?o:ta({pathArray:l,newStateJSON:t,searchInNewState:!0,editor:e,codoxNodesMap:s,currentStateJSON:r}))}function dS(l,t){pt.default.debug("[applyFullLexicalStateReplace] clear current state and apply new");const n=(0,Dt.$getRoot)();n.clear();let e=t._nodes,s=Un.getNodesConversionsManager(t.getKey());function r(o){o=s.convertJsonNodeFromSync(o,t);const a=e.get(o.type).klass.importJSON(o);if(o.children)for(const c of o.children)a.append(r(c));return a}for(const o of l.root.children)n.append(r(o))}function a6(){let{newStateJSON:l=null,deltas:t=[],belongsToNestedEditor:n=!1,editor:e,currentStateJSON:s}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!t.length)return void pt.default.debug("[applyDeltasToLexicalState] stop, no deltas: ",t);let r=Un.getCodoxNodesMap(e.getKey());for(const o of t){let{p:a}=o;const c=[...a],i=c[c.length-1],u=i==="children",d=typeof i=="number",f=!d&&!u,p=c.findIndex(_=>_===Ll.editorState),h=p!==-1,m=!c.length;let g=o.hasOwnProperty("lm"),b=typeof o.lm=="number"||Array.isArray(o.lm),v=g&&b;if(m){if(n){pt.default.warn("Nested editor delta is invalid: ",{delta:o});continue}if(o.oi&&o.oi.root)return dS(o.oi,e)}else if(h){let _=p-1,E=ta({pathArray:c.slice(0,_),newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(E){let S=c[_],w=Rd(S),y=E.getWritable()[w],x=c.slice(0,p),C=l;for(const T of x)C=C[T];if(!C){const T=i6({node:l.root,codoxDId:E.codoxDId||null,codoxId:E.codoxId||null});T&&(C=T[S])}uS(y,C)}}else if(u){let _=o.oi;if(!_){pt.default.warn("[applyDeltasToLexicalState][====WARNING====] SKIPPED. Delta oi attr expected for path",{delta:o});continue}if(_.some(S=>!(!S.hasOwnProperty("text")||typeof S.text=="string"))){pt.default.warn("[applyDeltasToLexicalState][====WARNING====] SKIPPED. Delta oi children contain invalid text value",{delta:o});continue}c.length=c.length-1;let E=ta({pathArray:c,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(!E){pt.default.warn("[applyDeltasToLexicalState][====WARNING====] SKIPPED. lexicalParentNode is not found",{delta:o});continue}if(!E.getChildren){pt.default.warn("[applyDeltasToLexicalState][====WARNING====] SKIPPED. lexicalParentNode is not valid parrent node",{delta:o,lexicalParentNode:E});continue}if(_.some(S=>!!S.codoxDId)){try{E=E.getWritable()}catch(x){pt.default.warn("[applyDeltasToLexicalState][shouldUpdateLeaves] getWritable error: ",{err:x,delta:o,newStateJSON:l});continue}let S={};for(let x of E.getChildren())x.codoxDId?S[x.codoxDId]=x:lh(x);let w=[],y=["codoxDId","codoxId","__key","__parent","__prev","__next"];for(let x=0;x<_.length;x++){let C=_[x],T=x===0,R=x===_.length-1,F=null,I=x>=0?w[x-1]:null;if(C.codoxDId){let B=S[C.codoxDId];if(B){B=B.getWritable();let A=ah(C,null,e);if(pt.default.debug("[DELTA_DECORATOR_UPDATE]: ",{exisingDecorator:B,tmpDecorator:A}),!A){pt.default.debug("[DELTA_DECORATOR_UPDATE] UPADATE SKIPPED: ",{exisingDecorator:B,tmpDecorator:A});continue}for(let j in A)if(A.hasOwnProperty(j)&&!y.includes(j))if(nh(A[j])){let O={editorState:Fl(A[j].getEditorState())};uS(B[j],O)}else{let O=Ry(j),L=C[O];if(L===B[j]||!C.hasOwnProperty(O))continue;let N=L!==void 0&&A[j]!==L?L:A[j];O!=="height"&&O!=="width"||A[j]==="inherit"&&L===0&&(N=A[j]),B[j]=N}A.remove(),cS(B),F=B,delete S[C.codoxDId]}}F||(F=ah(C,null,e),F.codoxDId&&F.__type==="excalidraw"&&F.__data==="[]"&&(F.__data="{}")),F=F.getWritable(),w.push(F),F.__parent=E.__key,T?(E.__first=F.__key,F.__prev=null,R&&(E.__last=F.__key)):R?(E.__last=F.__key,F.__next=null,F.__prev=I.__key,I.__next=F.__key):(F.__prev=I.__key,I.__next=F.__key),E.__size=w.length}for(let x in S){let C=S[x];C=C.getWritable(),cS(C),lh(C),delete S[x]}}else{let S=E.getChildren();for(let w of S)w.remove();for(const w of _){const y=ah(w,null,e);E.append(y)}}}else if(d){let _=!!o.ld&&!!o.li;if(pt.default.debug("[stateUpdates][applyDeltasToLexicalState] shouldUpdateFullBlock: ",{shouldReplace:_,delta:o}),o.ld&&!_){const E=o.ld,S=r.get(E.codoxId);if(pt.default.debug("[stateUpdates][applyDeltasToLexicalState] remove node: ",{lexicalNodeToRemove:S}),!S){pt.default.warn("[stateUpdates][applyDeltasToLexicalState] Missing lexical node when remove node from delta: ",{path:c,delta:o,newStateJSON:l,currentStateJSON:s,stateJSONFromEditor:e.getEditorState().toJSON(),codoxNodesMap:r});continue}S.getChildrenSize&&S.getChildrenSize()?(pt.default.debug("[stateUpdates][applyDeltasToLexicalState] delta.ld remove node with children",{lexicalNodeToRemove:S}),lh(S)):S.remove()}if(o.li){let E=e._nodes,S=Un.getNodesConversionsManager(e.getKey()),w=o.li;w=S.convertJsonNodeFromSync(w,e);const y=E.get(w.type).klass.importJSON(w);if(c.length===1&&c[0]==="root")(0,Dt.$getRoot)().splice(0,0,[y]);else{const x=c[c.length-1];c.length=c.length-2;let C=ta({pathArray:c,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});C&&(C.splice(x,0,[y]),_&&C.splice(x+1,1,[]))}if(w.children&&w.children.length){let C=function(T,R){T=x.convertJsonNodeFromSync(T,e);const F=E.get(T.type).klass.importJSON(T);if(R.splice(R.getChildrenSize(),0,[F]),T.children&&T.children.length)for(const I of T.children)C(I,F)},x=Un.getNodesConversionsManager(e.getKey());for(const T of w.children)C(T,y)}pt.default.debug("[stateUpdates][applyDeltasToLexicalState] insert node: ",{delta:o,lexicalNode:y})}if(o.oi||o.od){let{p:E,oi:S,od:w}=o,y=ta({pathArray:E,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(y)try{let x=y.getWritable();if(S){let C=Object.keys(S);for(let T of C)x[Rd(T)]=S[T]}if(w){let C=Object.keys(w);for(let T of C)delete x[Rd(T)]}}catch(x){pt.default.debug("[applyDeltasToLexicalState][delta oi/od] getWritable error: ",{err:x,delta:o})}}if(v){let{p:E,lm:S}=o;if(typeof S=="number"){let w=E[E.length-1],y=S,x=y<w,C=ta({pathArray:E,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(!C){pt.default.warn("[applyDeltasToLexicalState] LM: Lexical node to move not found by delta path: ",{delta:o});continue}let T=C.getParent().getChildren(),R=T[w],F=T[y];x?F.insertBefore(R):F.insertAfter(R)}else if(Array.isArray(S)){let w=ta({pathArray:E,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(!w){pt.default.warn("[applyDeltasToLexicalState] LM: Lexical node to move not found by delta path: ",{delta:o,path:E});continue}let y=S[S.length-1],x=[...S];if(E.length===3){let F=E[2],I=x[2];F!==I&&I>F&&(pt.default.warn("[applyDeltasToLexicalState] LM: MOVE PATH UPDATE ",{path:E,movePathArrayBefore:[...x],movePathArray:x}),x[2]+=1)}x.length=x.length-2;let C=ta({pathArray:x,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(!C){pt.default.warn("[applyDeltasToLexicalState] LM: Lexical parent node for move into, is not found by delta path: ",{delta:o});continue}let T=C.getChildren(),R=!T.length;if(pt.default.warn("[applyDeltasToLexicalState] LM:: ",{delta:o,targetLexicalNode:w,insertParentLexicalNode:C,insertChildren:T,shouldAppendToParent:R,insertChildPosition:y,movePathArray:x}),R)C.append(w);else{let F=T[y];F?F.insertBefore(w):pt.default.warn("[applyDeltasToLexicalState] LM: childNodeToInsertBefore is missing")}}}}else if(f){const _=c[c.length-1];let E=Rd(_);c.length=c.length-1;let S,w=ta({pathArray:c,newStateJSON:l,editor:e,codoxNodesMap:r,currentStateJSON:s});if(!w){pt.default.warn("[stateUpdates][applyDeltasToLexicalState] Missing lexical node when update node attr from delta: ",{path:c,delta:o,newStateJSON:l,currentStateJSON:s});continue}try{S=w.getWritable()}catch(x){pt.default.debug("[applyDeltasToLexicalState][shouldUpdateBlockAttr] getWritable error: ",{err:x,delta:o})}if(!S)continue;let y=o.oi;if(_==="format"&&(y=QN(y)),_==="direction"&&(E="__dir"),!S.hasOwnProperty(E)){let x=Object.keys(S);for(let C of x){let T=Ry(C);if(_.startsWith(T)){E=C;break}}}S[E]=y,pt.default.debug("[STATE_UPDATES_DELTAS][update node attribute]: ",{lexicalAttrName:E,jsonedAttrName:_,attrNewValue:y,writableNode:S,delta:o})}}}const l6=function(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];const t=[];l.forEach((s,r)=>{const o=r===0,a=r===l.length-1;o&&t.push([]),t[t.length-1].push(s),(c=>c.hasOwnProperty("lm")||c.hasOwnProperty("li")||c.hasOwnProperty("ld"))(s)&&!a&&t.push([])});const n=t.length===1,e={segmentedDeltas:t,isSingleSegment:n};return pt.default.debug("[segmentDeltas]: ",t6({fullDeltas:l},e)),e},c6=l=>{l.update(()=>{(0,Dt.$getRoot)().append($createParagraphNode())})},u6={applyDeltasToLexicalState:a6,applyFullLexicalStateReplace:dS,segmentDeltas:l6,fixStateEmptyRoot:c6},qd=u6;function d6(l){let t=Un.getCodoxNodesMap(l);return n=>{let e=null,s=!1;try{e=n.clipboardData.getData(XN.paste),pt.default.debug("[pasteContentListener] triggered",{payload:n,lexicalPayload:e}),e=JSON.parse(e),typeof e=="object"&&e.nodes&&Array.isArray(e.nodes)&&(s=!0)}catch{return!1}if(!s)return!1;if(s){t.clearPastedIds();const r=o=>{if(o.codoxId&&t.addPastedId(o.codoxId),o.children&&o.children.length)for(const a of o.children)r(a)};for(const o of e.nodes)r(o)}return!1}}function f6(l){let t=[],n=l._nodes,e=l.getKey(),s=Un.getTablesValidator(e),r=Un.getContentNestingsWatcher(e),o=Un.getCodoxNodesMap(e),a=Un.getCodoxComments(e);return n.forEach((c,i,u)=>{let{klass:d}=c,f=l.registerMutationListener(d,p=>{for(let[h,m]of p){if(!Ei[m])continue;const g=l.getEditorState()._nodeMap.get(h);if(m===Ei.created&&g&&r.trackBlacklisted(g,m,l.getEditorState()),d.name===kr.TableNode.name&&(m===Ei.destroyed?s.tableNodeRemoveListener(h):s.tableUpdateListener(h)),d.name===kr.TableRowNode.name&&m!==Ei.destroyed&&s.tableRowNodeChangesListener(h,m===Ei.updated,l),d.name===kr.TableCellNode.name&&m===Ei.updated&&s.tableCellNodeChangesListener(h,l),d.name===Bi.MarkNode.name&&(pt.default.debug("[MUTATION LISTENER] MARK node: ",{nodeKey:h,node:g,mutationType:m,codoxComments:a}),m===Ei.destroyed?a.removeRelatedNodeKey(h):g&&a.addRelatedNodeKey(g.__key,g.__ids,m===Ei.created)),g&&g.codoxId){if(m===Ei.destroyed)return void(g.codoxId&&o.remove(g.codoxId));sS(g,e)||pt.default.warn("[MutationListener Warning] duplicating codoxId detected - such codoxId already exists in codoxNodesMap - updating node ref to latest: ",{mutationType:m,node:g}),o.add(g.codoxId,g,`${d.name}_mutation_listener`)}}});t.push(f)}),t}function p6(l){let t=[];return l._nodes.forEach((n,e,s)=>{let{klass:r}=n,o=r;for(;o;){if(o===Dt.ElementNode){let a=l.registerNodeTransform(r,c=>{try{c.getDirection()==="rtl"&&c.setDirection("ltr")}catch{pt.default.warn(`[registerNodesTransforms][${r.name}]: element node no getDirection`,{node:c})}});t.push(a);break}o=Object.getPrototypeOf(o)}}),t}var h6=l=>{var t={};return An.d(t,l),t};const fS=h6({useCollaborationContext:()=>Md});var g6=l=>{var t={};return An.d(t,l),t};const Wa=g6({LexicalComposerContext:()=>Hu,useLexicalComposerContext:()=>yn}),m6=["contentChanged"],y6=["state","remoteSelection"];function pS(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function Jy(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?pS(Object(n),!0).forEach(function(e){v6(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):pS(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function v6(l,t,n){return(t=b6(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function b6(l){var t=_6(l,"string");return typeof t=="symbol"?t:t+""}function _6(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}function hS(l,t){if(l==null)return{};var n,e,s=w6(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function w6(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}pt.default.logProviderVersion(),pt.default.debug("DEV MODE: ",!1);const x6=(0,ht.forwardRef)((l,t)=>{let{onBlacklistedInsert:n,debug:e=!1}=l;if(!(0,ht.useContext)(Wa.LexicalComposerContext))throw new Error("[CodoxCollabPlugin] CodoxCollabPlugin must be inited inside <LexicalComposer> component - LexicalComposerContext is missing");const[s]=(0,Wa.useLexicalComposerContext)();let r=s.getKey();const o=(0,fS.useCollaborationContext)();let a=Un.getCodoxImpl(r),c=Un.getCodoxRemoteSelection(r),i=Un.getTablesValidator(r),u=Un.getNestedEditorsProcessor(r),d=Un.getContentNestingsWatcher(r),f=Un.getCodoxLexicalEditorManager(r),p=Un.getCodoxNodesMap(r),h=Un.getCodoxComments(r),m=Un.getNodesConversionsManager(r),g=!1;const b=function(){return f.isCodoxStarted},v=(j,O)=>{pt.default.debug("[notifyClientForContentChanged] trigger client hook and emit event");let L=j,N=h.getAllComments();N.length&&(L.commentThreads=N);let U={source:O,content:L},D=Un.getContentChangedHookClientCallback(r);D&&D(U),a.instance&&a.instance.emit("content_changed",U)};(0,ht.useEffect)(()=>{if(!s)return;f.setMainEditor(s);const j=(0,qc.mergeRegister)(s.registerUpdateListener(B),s.registerCommand(Dt.PASTE_COMMAND,d6(s.getKey()),Dt.COMMAND_PRIORITY_CRITICAL),s.registerCommand(Dt.UNDO_COMMAND,()=>{f.setUndoInvoked(!0)},Dt.COMMAND_PRIORITY_CRITICAL),s.registerCommand(Dt.REDO_COMMAND,()=>{f.setRedoInvoked(!0)},Dt.COMMAND_PRIORITY_CRITICAL),s.registerCommand(Dt.KEY_DELETE_COMMAND,(D,z)=>{i.tableRemoveEventListener(Dt.KEY_DELETE_COMMAND,z)},Dt.COMMAND_PRIORITY_CRITICAL),s.registerCommand(Dt.KEY_BACKSPACE_COMMAND,(D,z)=>{i.tableRemoveEventListener(Dt.KEY_BACKSPACE_COMMAND,z)},Dt.COMMAND_PRIORITY_CRITICAL),s.registerCommand(Dt.CUT_COMMAND,(D,z)=>{i.tableRemoveEventListener(Dt.CUT_COMMAND,z)},Dt.COMMAND_PRIORITY_CRITICAL),...f6(s),...p6(s));c.mount(s),f.alignStateSelectionJSONsFromLatestEditor(),pt.default.debug("New editor mounted: ",{isCodoxStarted:f.isCodoxStarted,codoxLexicalEditorManager:f,nestedEditorsProcessor:u});let O=s._onError;s._onError=D=>{O&&O(D),e===!0?pt.default.debug("Prevent rollback state after lexical error"):I("lexical internal error")},n&&d.setBlacklistCallback(n);let L=()=>{g=!0},N=()=>{g=!1},U=s.getRootElement();return U.addEventListener("focus",L),U.addEventListener("blur",N),()=>{let D=s,z=s.getKey();U.removeEventListener("focus",L),U.removeEventListener("blur",N),z&&(pt.default.debug("Unmount prev editor"),j(),f.removeMainEditor(),c.unmount(),f.clearJSONs(),h.clear(),i.clear(),f.isCodoxStarted&&(pt.default.debug("EDITOR USE_EFFECT stopping codox"),S(),f.setIsCodoxStarted(!1)),d.removeBlacklistCallback()),p.gcAbandonedNodes(D),u.gc(D),i.clear(),Un.gc(z)}},[s]);const _=()=>{c.hideRemoteSelectionsFromUI()},E=()=>{c.showHiddenRemoteSelectionsInUI()},S=()=>{f.isCodoxStarted&&(pt.default.debug("[stopCodoxInstance] stopping codox"),f.setIsCodoxStarted(!1),a.stop(),f.clearJSONs(),c.clear(),h.resetComments(),u.clearListeners())},w=j=>{let{state:O=null,comments:L=null,selection:N=null,isNestedSelection:U=!1,remoteSelection:D=null,callerName:z=""}=j;O&&f.setLocalContentStateJSON(O,"postSyncLocalUpdates"),N&&(U?f.setNestedSelectionJSON(N):f.setMainSelectionJSON(N)),D&&c.updateRemoteSelections(D,z,s),L&&h.setAllComments(L)},y=function(){let{newContentStateJSON:j,shouldRepaceFullState:O=!1,newSelectionJSON:L,updateTagsToApply:N=[],useTag:U=!0,callerName:D="not_specified_caller"}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};pt.default.debug(`[updateLexicalEditor] invoked. Caller: [${D}]`),L||(L=f.getCurrentMainSelectionJSON());let z=!!j,K=null,G=null,P=z&&!O;if(pt.default.debug(`[updateLexicalEditor] caller: [${D}] update payload: `,{newContentStateJSON:j,shouldRepaceFullState:O,newSelectionJSON:L,updateTagsToApplyFromCaller:N,shouldUpdateState:z,shouldComputeStateDeltas:P}),P){W=f.getLocalContentStateJSON(),J=j,K=a.diff(W,J,{keyNames:{default:"codoxId"},filters:{codox_metadata:!0}}),pt.default.debug("[updateLexicalEditor] Performing a partial state replace - state deltas: ",K);const H=qd.segmentDeltas(K);H.isSingleSegment||(G=H.segmentedDeltas)}var W,J;return z&&!O&&G?((H=>{let{newSelectionJSON:$,finalUseTag:Z=!0,finalUpdateTagsToApply:X=[],segmentedDeltas:Y,newContentStateJSON:ee}=H;pt.default.debug("[updateLexicalEditorWithSegmentalDeltas] update lexical with segmented deltas invoked. segments count: ",Y.length),Y.forEach((ie,fe)=>{let de=fe===Y.length-1,ne=f.getContentStateJSONFromEditor();s.update(()=>{if(qd.applyDeltasToLexicalState({newStateJSON:ee,deltas:ie,editor:s,currentStateJSON:ne}),de){if(g){const Ee=fn.JSONToLexical($,p);(0,Dt.$setSelection)(Ee)}Z&&zy({updateTags:X,isSameState:!1})}else(0,Dt.$addUpdateTag)("codox_segmental_sync_state_changes")},{discrete:!0}),pt.default.debug(`[updateLexicalEditorWithSegmentalDeltas] segment ${fe} update ended `)})})({newSelectionJSON:L,finalUseTag:U,finalUpdateTagsToApply:N,segmentedDeltas:G,newContentStateJSON:j}),K):(s.update(()=>{if(z&&(O?qd.applyFullLexicalStateReplace(j,s):qd.applyDeltasToLexicalState({newStateJSON:j,deltas:K,editor:s,currentStateJSON:f.getLocalContentStateJSON()})),g){const H=fn.JSONToLexical(L,p);(0,Dt.$setSelection)(H)}U&&zy({updateTags:N,isSameState:!z})},{discrete:!0}),K)},x=j=>!0,C=j=>{if(!b())return;pt.default.debug("[SYNC_STATE - remote handling]: Before sync(), payload from core = ",j);let O={};try{O=a.sync({meta:j})}catch{return S()}const{state:L,remoteSelection:N=[]}=O;if(hS(O,y6),j&&j.action===tP.syncRCS)return pt.default.debug('[SYNC_STATE - remote handling] EARLY RETURN: "syncRCS" action - update only remote selections'),void c.updateRemoteSelections(N,"syncState",s);if(!L)return S();let U=L.state;pt.default.debug("[SYNC_STATE - remote handling] The new synced state to apply = ",{synced:JSON.parse(JSON.stringify(U))});let{stateFromSync:D,commentsFromSync:z}=f.extractStateAndCommentsFromSynced(U);if(pt.default.debug("[SYNC_STATE - remote handling] synced state validation"),!f.isValidJSONState(D.state))return S();D.state=m.convertNodesFromSyncInJsonState(D.state,s),pt.default.debug("[SYNC_STATE - remote handling] synced state transformed",D.state);const K=f.isSameContentStateJSON(D.state);pt.default.debug("[SYNC_STATE - remote handling] synced selecttion validation");let G=oh.validateJSONSelection(D.selection,Ld.local,p),P=f.getCurrentMainSelectionJSON(),W=!1,J=!1;G?(J=f.isSameSelectionJSON(D.selection),J||(W=fn.isNestedSelectionJSON(D.selection),W||(P=D.selection))):pt.default.error("[SYNC_STATE - remote handling] local selection from core is not valid. Only selection upd skipped. Invalid selection = ",D.selection),pt.default.debug("[SYNC_STATE - remote handling] compares: ",{isSameContentState:K,isSameLocalSelection:J});let H=null;K&&J?pt.default.debug("[SYNC_STATE - remote handling] same state and selection - skip lexical editor update"):(pt.default.debug("[SYNC_STATE - remote handling] should update lexical editor"),H=y({newContentStateJSON:K?void 0:D.state,shouldRepaceFullState:!!D.stateReplace,newSelectionJSON:P,updateTagsToApply:["codox_sync_state_changes"],callerName:"syncState"})),x({syncedState:D.state,currentJsonState:f.getLocalContentStateJSON(),originalDeltas:H}),w({state:K?null:D.state,selection:J?null:D.selection,isNestedSelection:W,comments:z,remoteSelection:N,callerName:"syncState"})},T=j=>{if(!b())return;if(pt.default.debug("[setSelectionHookHandler] invoked. new synced selection: ",j),!oh.validateJSONSelection(j,Ld.local,p))return void pt.default.error("[setSelectionHookHandler] INVALID SELECTION FROM SYNC - selection update skipped");let O=f.getCurrentActiveSelectionJSON();fn.equalSelectionsJSON(O,j)?pt.default.debug("[setSelectionHookHandler] STOP - current local and new synced selections are equal"):fn.isNestedSelectionJSON(j)?u.setNestedEditorSelection(j)&&f.setNestedSelectionJSON(j):(y({newSelectionJSON:j,callerName:"setSelectionHookHandler",useTag:!1}),f.setMainSelectionJSON(j))},R=j=>{const{root:O,comments:L}=j,N={root:O};let U=f.isSameContentStateJSON(N);pt.default.debug("[setStateHookHandler] state compare: ",{isSameState:U}),U||(pt.default.debug("[setStateHookHandler] should update lexcial editor"),y({newContentStateJSON:N,newSelectionJSON:f.getCurrentMainSelectionJSON(),callerName:"setStateHookHandler"})),h.setAllComments(L)},F=function(){let{afterStart:j=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!b())return;let O=f.composeFullStateForSync(h);if(O.state=m.convertNodesForSyncInJsonState(O.state,s),!(j||(pt.default.debug("[invokeSync - local handling] pre sync state validation"),f.isValidJSONState(O.state))))return pt.default.error("[invokeSync - local handling] - invalid lexical state for sync - sync invoke skipped - stopping codox",{lexicalJSONState:{root:O.state.root}}),S();pt.default.debug("[invokeSync - local handling] SYNC INVOKED "),j&&f.alignSelectionJSONFromLatestEditor();const L={state:{state:O.state,selection:f.getCurrentActiveSelectionJSON()}};pt.default.debug("[invokeSync - local handling]: Before sync()",{local:L}),pt.default.debug("[invokeSync - local handling]: Before sync() local full state",JSON.parse(JSON.stringify(L.state)));let N={};try{N=a.sync({state:L,meta:{}})}catch{return S()}let{state:U,remoteSelection:D=[],changes:z}=N;if(!U)return S();const K=U.state;pt.default.debug("[invokeSync - local handling]: synced document state: ",JSON.parse(JSON.stringify(K)));let{stateFromSync:G,commentsFromSync:P}=f.extractStateAndCommentsFromSynced(K);if(pt.default.debug("[invokeSync - local handling] synced state validation"),!f.isValidJSONState(G.state))return S();G.state=m.convertNodesFromSyncInJsonState(G.state,s),pt.default.debug("[invokeSync - transformed]: synced document state: ",JSON.parse(JSON.stringify(G.state)));const W=f.isSameContentStateJSON(G.state);pt.default.debug("[invokeSync - local handling] synced selecttion validation");let J=oh.validateJSONSelection(G.selection,Ld.local,p),H=f.getCurrentMainSelectionJSON(),$=!1,Z=!1;J?($=f.isSameSelectionJSON(G.selection),$||(Z=fn.isNestedSelectionJSON(G.selection),Z||(H=G.selection))):pt.default.error("[invokeSync - local handling] local selection from core is not valid. Only selection upd skipped. Invalid selection = ",G.selection),pt.default.debug("[invokeSync - local handling] After sync - compares: ",{isSameContentState:W,isSameLocalSelection:$,isNestedSelection:Z});let X=null;W&&$?pt.default.debug("[invokeSync - local handling] skip update lexical editor - state and selection are same"):(pt.default.debug("[invokeSync - local handling] invoke update lexical editor "),X=y({newContentStateJSON:W?void 0:G.state,shouldRepaceFullState:!!G.stateReplace,newSelectionJSON:H,updateTagsToApply:["codox_sync_state_changes"],callerName:"invokeSync"})),x({syncedState:G.state,currentJsonState:f.getLocalContentStateJSON(),originalDeltas:X}),w({state:W?null:G.state,selection:$?null:G.selection,isNestedSelection:Z,comments:P,remoteSelection:D,callerName:"invokeSync"})},I=function(){let j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";pt.default.debug(`[revertToPrevState] invoked. Reason: ${j}`);let O=f.getLocalContentStateJSON(),L=f.getCurrentActiveSelectionJSON();y({newContentStateJSON:O,shouldRepaceFullState:!0,newSelectionJSON:L,updateTagsToApply:[ls.historic,jx],callerName:"revertToPrevState"}),h.gcAbandonedNodeKeys(f.getMainEditorStateNodesMap()),s.dispatchCommand(Dt.CAN_REDO_COMMAND,!1),s.dispatchCommand(Dt.CAN_UNDO_COMMAND,!1)},B=j=>{let{editorState:O,prevEditorState:L,tags:N,dirtyElements:U,dirtyLeaves:D}=j;if(!b())return;if(pt.default.debug("[editorUpdatesListener] invoked by lexical ============="),f.isMainEditorStateEmptyRoot())return pt.default.warn("[editorUpdatesListener] INVALID EMPTY STATE FOUND: empty root.children - fix logic will be triggered"),void qd.fixStateEmptyRoot(s);if(N.has("codox_segmental_sync_state_changes"))return void pt.default.debug("[editorUpdatesListener] STOP - update is part of synced deltas segmental updates");if(N.has(jx))return void pt.default.debug("[editorUpdatesListener] STOP - update invoked by content revert, no need to sync");if(d.isBlacklistedFound())return pt.default.warn("[editorUpdatesListener] BLACKLISTED CHANGES FOUND - revert back to prev state"),I("blacklist content"),void d.invokeBlacklistCallback();if(!i.ensureDocTablesAreValid(s))return void pt.default.warn("[editorUpdatesListener] INVALID TABLE(S) FOUND - fix logic will be triggered");let z=Vx(U,D),K=z?f.getLocalContentStateJSON():Fl(O);if(N.has("codox_sync_state_changes"))return pt.default.debug("[editorUpdatesListener] STOP - EARLY RETURN - update invoked after remote synced state applied - should not sync"),void v(K,Ax.remote);let G=N.has(Dd),P=null;O.read(()=>{P=fn.lexicalToJSON((0,Dt.$getSelection)())});let W=!!z||f.isSameContentStateJSON(K),J=f.isSameSelectionJSON(P);pt.default.debug("[editorUpdatesListener] compares: ",{isStateSame:W,isSelectionSame:J}),W&&!G||v(K,Ax.local),W&&J&&!G?pt.default.debug("[editorUpdatesListener] STOP - state and selection and comments are same - should not sync"):(f.undoInvoked()&&f.setUndoInvoked(!1),f.redoInvoked()&&f.setRedoInvoked(!1),z||f.setLocalContentStateJSON(K,"editorUpdatesListener"),f.setMainSelectionJSON(P),F())},A={start:async j=>{pt.default.debug("[startCodoxInstance] invoked",{codoxConfigFromClient:j}),f.isCodoxStarted&&S(),f.alignStateSelectionJSONsFromLatestEditor(),a.createNewInstance(),pt.default.debug("[startCodoxInstance] instance created");let O=Un.getClientEventListeners(r);for(let X in O)a.instance.on(X,O[X]);if(pt.default.debug("[startCodoxInstance] events subscribed"),Un.setConfigBackup(r,j),!j.docId)return pt.default.error("[startCodoxInstance] - start codox skipped - docId is missing. codoxConfigFromClient: ",j);let L=h.initialCommentsExist();pt.default.debug("[startCodoxInstance] initCommentsExist: ",L),L&&(h.activateInitialComments(s,p),pt.default.debug("[activateInitialComments] "));let N=f.getLocalContentStateJSON();if(!f.isValidJSONState(N))throw pt.default.error("[startCodoxInstance] - start codox skipped - invalid init state",{codoxConfigFromClient:j,initJSONState:N}),new Error("start codox skipped - invalid init state");pt.default.debug("[startCodoxInstance] starting codox with: ",{initJSONState:N,codoxConfigFromClient:j,codoxComments:h});let{docId:U,username:D,apiKey:z,getServerState:K,domain:G="",demo:P=!1,hooks:W,appServer:J}=j;var H;W&&W.fetchDocOnNetworkReconnect&&(W.fetchDocOnNetworkReconnect=(H=W.fetchDocOnNetworkReconnect,async()=>{const{state:X,timestamp:Y}=await H();if(!f.isValidJSONState(X))throw new Error("Invalid state received from fetchDocOnNetworkReconnect hook");const{commentThreads:ee,root:ie}=X;let fe={commentThreads:ee,root:ie};fe=m.convertNodesForSyncInJsonState(fe,s);const de={content:{comments:ee,root:ie},timestamp:Y};return pt.default.info("[decorateFetchOnReconnctHook] hook invoked: ",{returnObj:de}),de}));const{contentChanged:$}=W,Z=hS(W,m6);Un.setContentChangedHookClientCallback(r,$),await a.start(a.createConfig(Jy(Jy({},j),{},{docId:U,username:D,apiKey:z,domain:G,hooks:Jy({syncState:X=>{pt.default.debug("[syncState] hook invoked. calls local syncState fn"),C(X)},getState:()=>{let X=f.composeFullStateForSync(h);return X.state=m.convertNodesForSyncInJsonState(X.state,s),X},getServerState:async()=>await K(U)},Z),editorInstanceHooks:{getSelection:()=>{const X=f.getCurrentActiveSelectionJSON();return pt.default.debug("[getSelection] hook invoked. selection: ",X),X},setSelection:X=>{pt.default.debug("[setSelection] hook invoked. calls setSelectionHookHandler"),T(X)},getState:()=>{const X=f.composeFullStateForSync(h);return X.state=m.convertNodesForSyncInJsonState(X.state,s),pt.default.info("[getState] hook invoked. state: ",X),X},setState:X=>{pt.default.info("[setState] hook invoked. calls setStateHookHandler"),X=m.convertNodesFromSyncInJsonState(X,s),R(X)},enableEditor:()=>{pt.default.debug("[enableEditor] invoked"),f.disableEditorReadOnlyMode(),E()},disableEditor:()=>{pt.default.debug("[disableEditor] invoked"),f.enableEditorReadOnlyMode(),_()},getContent:()=>{let X=f.composeFullStateForSync(h);return X.state=m.convertNodesForSyncInJsonState(X.state,s),pt.default.info("[getContent]: ",X.state),X}},appServer:J,demo:P}))),pt.default.debug("[startCodoxInstance] codox started - first sync invoking"),f.setIsCodoxStarted(!0),o.clientID=D,o.name=D,F({afterStart:!0})},stop:S,on:(j,O)=>{pt.default.info(`Subscribing client to codox ${j} event`),Un.setClientEventListener(r,j,O)},cursor:{hide:_,show:E},initComments:j=>{h.setInitialComments(j)}};return(0,ht.useImperativeHandle)(t,()=>A),null}),S6=x6;var ch=An(777),Gc={};Gc.styleTagTransform=ea(),Gc.setAttributes=Qs(),Gc.insert=Zs().bind(null,"head"),Gc.domAPI=Ys(),Gc.insertStyleElement=Xs(),$s()(ch.A,Gc),ch.A&&ch.A.locals&&ch.A.locals;var E6=l=>{var t={};return An.d(t,l),t};const C6=E6({AutoFocusPlugin:()=>Lp});var j6=l=>{var t={};return An.d(t,l),t};const k6=j6({ClearEditorPlugin:()=>yx});var T6=l=>{var t={};return An.d(t,l),t};const A6=T6({LexicalComposer:()=>fp}),gS=jN;var O6=l=>{var t={};return An.d(t,l),t};const N6=O6({HistoryPlugin:()=>yp});var P6=l=>{var t={};return An.d(t,l),t};const I6=P6({OnChangePlugin:()=>bx});var M6=l=>{var t={};return An.d(t,l),t};const R6=M6({PlainTextPlugin:()=>xx});var D6=l=>{var t={};return An.d(t,l),t};const mS=D6({$isRootTextContentEmpty:()=>ly,$rootTextContent:()=>ay});var L6=l=>{var t={};return An.d(t,l),t};const $c=L6({createPortal:()=>kf.createPortal}),F6=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0,B6=F6?ht.useLayoutEffect:ht.useEffect,yS=B6;var uh=An(253),Yc={};Yc.styleTagTransform=ea(),Yc.setAttributes=Qs(),Yc.insert=Zs().bind(null,"head"),Yc.domAPI=Ys(),Yc.insertStyleElement=Xs(),$s()(uh.A,Yc),uh.A&&uh.A.locals&&uh.A.locals;function z6(l){let{onClose:t,children:n,title:e,closeOnClickOutside:s}=l;const r=(0,ht.useRef)(null);return(0,ht.useEffect)(()=>{r.current!==null&&r.current.focus()},[]),(0,ht.useEffect)(()=>{let o=null;const a=u=>{u.key==="Escape"&&t()},c=u=>{const d=u.target;r.current!==null&&!r.current.contains(d)&&s&&t()},i=r.current;return i!==null&&(o=i.parentElement,o!==null&&o.addEventListener("click",c)),window.addEventListener("keydown",a),()=>{window.removeEventListener("keydown",a),o!==null&&(o==null||o.removeEventListener("click",c))}},[s,t]),ht.createElement("div",{className:"Modal__overlay",role:"dialog"},ht.createElement("div",{className:"Modal__modal",tabIndex:-1,ref:r},ht.createElement("h2",{className:"Modal__title"},e),ht.createElement("button",{className:"Modal__closeButton","aria-label":"Close modal",type:"button",onClick:t},"X"),ht.createElement("div",{className:"Modal__content"},n)))}function U6(l){let{onClose:t,children:n,title:e,closeOnClickOutside:s=!1}=l;return(0,$c.createPortal)(ht.createElement(z6,{onClose:t,title:e,closeOnClickOutside:s},n),document.body)}function vS(){const[l,t]=(0,ht.useState)(null),n=(0,ht.useCallback)(()=>{t(null)},[]),e=(0,ht.useMemo)(()=>{if(l===null)return null;const{title:r,content:o,closeOnClickOutside:a}=l;return ht.createElement(U6,{onClose:n,title:r,closeOnClickOutside:a},o)},[l,n]),s=(0,ht.useCallback)(function(r,o){t({closeOnClickOutside:arguments.length>2&&arguments[2]!==void 0&&arguments[2],content:o(n),title:r})},[n]);return[e,s]}var dh=An(191),Zc={};Zc.styleTagTransform=ea(),Zc.setAttributes=Qs(),Zc.insert=Zs().bind(null,"head"),Zc.domAPI=Ys(),Zc.insertStyleElement=Xs(),$s()(dh.A,Zc),dh.A&&dh.A.locals&&dh.A.locals;const H6={blockCursor:"CommentEditorTheme__blockCursor",characterLimit:"CommentEditorTheme__characterLimit",code:"CommentEditorTheme__code",codeHighlight:{atrule:"CommentEditorTheme__tokenAttr",attr:"CommentEditorTheme__tokenAttr",boolean:"CommentEditorTheme__tokenProperty",builtin:"CommentEditorTheme__tokenSelector",cdata:"CommentEditorTheme__tokenComment",char:"CommentEditorTheme__tokenSelector",class:"CommentEditorTheme__tokenFunction","class-name":"CommentEditorTheme__tokenFunction",comment:"CommentEditorTheme__tokenComment",constant:"CommentEditorTheme__tokenProperty",deleted:"CommentEditorTheme__tokenProperty",doctype:"CommentEditorTheme__tokenComment",entity:"CommentEditorTheme__tokenOperator",function:"CommentEditorTheme__tokenFunction",important:"CommentEditorTheme__tokenVariable",inserted:"CommentEditorTheme__tokenSelector",keyword:"CommentEditorTheme__tokenAttr",namespace:"CommentEditorTheme__tokenVariable",number:"CommentEditorTheme__tokenProperty",operator:"CommentEditorTheme__tokenOperator",prolog:"CommentEditorTheme__tokenComment",property:"CommentEditorTheme__tokenProperty",punctuation:"CommentEditorTheme__tokenPunctuation",regex:"CommentEditorTheme__tokenVariable",selector:"CommentEditorTheme__tokenSelector",string:"CommentEditorTheme__tokenSelector",symbol:"CommentEditorTheme__tokenProperty",tag:"CommentEditorTheme__tokenProperty",url:"CommentEditorTheme__tokenOperator",variable:"CommentEditorTheme__tokenVariable"},embedBlock:{base:"CommentEditorTheme__embedBlock",focus:"CommentEditorTheme__embedBlockFocus"},hashtag:"CommentEditorTheme__hashtag",heading:{h1:"CommentEditorTheme__h1",h2:"CommentEditorTheme__h2",h3:"CommentEditorTheme__h3",h4:"CommentEditorTheme__h4",h5:"CommentEditorTheme__h5",h6:"CommentEditorTheme__h6"},image:"editor-image",indent:"CommentEditorTheme__indent",inlineImage:"inline-editor-image",layoutContainer:"CommentEditorTheme__layoutContainer",layoutItem:"CommentEditorTheme__layoutItem",link:"CommentEditorTheme__link",list:{checklist:"CommentEditorTheme__checklist",listitem:"CommentEditorTheme__listItem",listitemChecked:"CommentEditorTheme__listItemChecked",listitemUnchecked:"CommentEditorTheme__listItemUnchecked",nested:{listitem:"CommentEditorTheme__nestedListItem"},olDepth:["CommentEditorTheme__ol1","CommentEditorTheme__ol2","CommentEditorTheme__ol3","CommentEditorTheme__ol4","CommentEditorTheme__ol5"],ul:"CommentEditorTheme__ul"},ltr:"CommentEditorTheme__ltr",mark:"CommentEditorTheme__mark",markOverlap:"CommentEditorTheme__markOverlap",paragraph:"CommentEditorTheme__paragraph",quote:"CommentEditorTheme__quote",rtl:"CommentEditorTheme__rtl",table:"CommentEditorTheme__table",tableCell:"CommentEditorTheme__tableCell",tableCellActionButton:"CommentEditorTheme__tableCellActionButton",tableCellActionButtonContainer:"CommentEditorTheme__tableCellActionButtonContainer",tableCellEditing:"CommentEditorTheme__tableCellEditing",tableCellHeader:"CommentEditorTheme__tableCellHeader",tableCellPrimarySelected:"CommentEditorTheme__tableCellPrimarySelected",tableCellResizer:"CommentEditorTheme__tableCellResizer",tableCellSelected:"CommentEditorTheme__tableCellSelected",tableCellSortedIndicator:"CommentEditorTheme__tableCellSortedIndicator",tableResizeRuler:"CommentEditorTheme__tableCellResizeRuler",tableSelected:"CommentEditorTheme__tableSelected",tableSelection:"CommentEditorTheme__tableSelection",text:{bold:"CommentEditorTheme__textBold",code:"CommentEditorTheme__textCode",italic:"CommentEditorTheme__textItalic",strikethrough:"CommentEditorTheme__textStrikethrough",subscript:"CommentEditorTheme__textSubscript",superscript:"CommentEditorTheme__textSuperscript",underline:"CommentEditorTheme__textUnderline",underlineStrikethrough:"CommentEditorTheme__textUnderlineStrikethrough"}},q6=H6;var fh=An(72),Qc={};Qc.styleTagTransform=ea(),Qc.setAttributes=Qs(),Qc.insert=Zs().bind(null,"head"),Qc.domAPI=Ys(),Qc.insertStyleElement=Xs(),$s()(fh.A,Qc),fh.A&&fh.A.locals&&fh.A.locals;function W6(){for(var l=arguments.length,t=new Array(l),n=0;n<l;n++)t[n]=arguments[n];return t.filter(Boolean).join(" ")}function Vy(){return Vy=Object.assign?Object.assign.bind():function(l){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var e in n)({}).hasOwnProperty.call(n,e)&&(l[e]=n[e])}return l},Vy.apply(null,arguments)}function Ja(l){let{"data-test-id":t,children:n,className:e,onClick:s,disabled:r,small:o,title:a,style:c}=l;return ht.createElement("button",Vy({disabled:r,className:W6("Button__root",r&&"Button__disabled",o&&"Button__small",e),onClick:s,title:a,"aria-label":a},t&&{"data-test-id":t},c&&{style:c}),n)}var ph=An(129),Xc={};Xc.styleTagTransform=ea(),Xc.setAttributes=Qs(),Xc.insert=Zs().bind(null,"head"),Xc.domAPI=Ys(),Xc.insertStyleElement=Xs(),$s()(ph.A,Xc),ph.A&&ph.A.locals&&ph.A.locals;var J6=l=>{var t={};return An.d(t,l),t};const V6=J6({ContentEditable:()=>hx});function K6(l){let{className:t}=l;return ht.createElement(V6.ContentEditable,{className:t||"ContentEditable__root"})}var hh=An(457),eu={};eu.styleTagTransform=ea(),eu.setAttributes=Qs(),eu.insert=Zs().bind(null,"head"),eu.domAPI=Ys(),eu.insertStyleElement=Xs(),$s()(hh.A,eu),hh.A&&hh.A.locals&&hh.A.locals;function G6(l){let{children:t,className:n}=l;return ht.createElement("div",{className:n||"Placeholder__root"},t)}function Ky(){return Ky=Object.assign?Object.assign.bind():function(l){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var e in n)({}).hasOwnProperty.call(n,e)&&(l[e]=n[e])}return l},Ky.apply(null,arguments)}const $6=gS.LexicalErrorBoundary||gS,Y6=()=>ht.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"#050505",className:"codox-add-comment-right"},ht.createElement("path",{d:"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"}),ht.createElement("path",{d:"M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z"})),bS=()=>ht.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",fill:"currentColor",className:"codox-remove-comment"},ht.createElement("path",{d:"M6.5 1h3a.5.5 0 0 1 .5.5v1H6v-1a.5.5 0 0 1 .5-.5ZM11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3A1.5 1.5 0 0 0 5 1.5v1H2.506a.58.58 0 0 0-.01 0H1.5a.5.5 0 0 0 0 1h.538l.853 10.66A2 2 0 0 0 4.885 16h6.23a2 2 0 0 0 1.994-1.84l.853-10.66h.538a.5.5 0 0 0 0-1h-.995a.59.59 0 0 0-.01 0H11Zm1.958 1-.846 10.58a1 1 0 0 1-.997.92h-6.23a1 1 0 0 1-.997-.92L3.042 3.5h9.916Zm-7.487 1a.5.5 0 0 1 .528.47l.5 8.5a.5.5 0 0 1-.998.06L5 5.03a.5.5 0 0 1 .47-.53Zm5.058 0a.5.5 0 0 1 .47.53l-.5 8.5a.5.5 0 1 1-.998-.06l.5-8.5a.5.5 0 0 1 .528-.47ZM8 4.5a.5.5 0 0 1 .5.5v8.5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5Z"})),Z6=()=>ht.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"codox-add-comment"},ht.createElement("path",{d:"M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576 6.636 10.07Zm6.787-8.201L1.591 6.602l4.339 2.76 7.494-7.493Z"})),_S=()=>ht.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",fill:"#0000008c",className:"codox-hide-show-comments"},ht.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M13 5.885v1.166a3.95 3.95 0 0 1-3.949 3.95H6.917a.748.748 0 0 0-.45.15l-1.345 1.007a.752.752 0 0 0-.032 1.181A2.933 2.933 0 0 0 6.95 14h2.716l2.534 1.901a.506.506 0 0 0 .524.047A.501.501 0 0 0 13 15.5V14h.051a2.949 2.949 0 0 0 2.95-2.949v-3.05a3.002 3.002 0 0 0-2.002-2.83.756.756 0 0 0-.999.714"}),ht.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.05 1H2.95A2.952 2.952 0 0 0 0 3.949v3.102A2.952 2.952 0 0 0 2.949 10H3v1.5a.502.502 0 0 0 .8.4L6.334 10H9.05A2.952 2.952 0 0 0 12 7.05V3.95A2.952 2.952 0 0 0 9.05 1"}));function wS(l,t,n,e){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:performance.now(),r=arguments.length>5&&arguments[5]!==void 0&&arguments[5];return l.createNewCommentObj({content:t,author:n,codoxId:e,timeStamp:s,deleted:r})}function Q6(l,t,n,e){return l.createNewThreadObj({quote:t,comments:n,codoxId:e})}function X6(l){let{anchorKey:t,editor:n,onAddComment:e}=l;const s=(0,ht.useRef)(null),r=(0,ht.useCallback)(()=>{const o=s.current,a=n.getRootElement(),c=n.getElementByKey(t);if(o!==null&&a!==null&&c!==null){const{right:i}=a.getBoundingClientRect(),{top:u}=c.getBoundingClientRect();o.style.left=i-20+"px",o.style.top=u-30+"px"}},[t,n]);return(0,ht.useEffect)(()=>(window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r)}),[n,r]),yS(()=>{r()},[t,n,r]),ht.createElement("div",{className:"CodoxCommentPlugin_AddCommentBox",ref:s},ht.createElement("button",{className:"CodoxCommentPlugin_AddCommentBox_button",onClick:e},ht.createElement(Y6,null)))}function e5(l){let{onEscape:t}=l;const[n]=(0,Wa.useLexicalComposerContext)();return(0,ht.useEffect)(()=>n.registerCommand(Dt.KEY_ESCAPE_COMMAND,e=>t(e),2),[n,t]),null}function t5(l){let{editorRef:t}=l;const[n]=(0,Wa.useLexicalComposerContext)();return typeof t=="function"?t(n):typeof t=="object"&&(t.current=n),null}function xS(l){let{className:t,autoFocus:n,onEscape:e,onChange:s,editorRef:r,placeholder:o="Type a comment...",onEditorClick:a=()=>{}}=l;const c={namespace:"Commenting",nodes:[],onError:i=>{throw i},theme:q6};return ht.createElement(A6.LexicalComposer,{initialConfig:c},ht.createElement("div",{className:"CodoxCommentPlugin_CommentInputBox_EditorContainer",onClick:a},ht.createElement(R6.PlainTextPlugin,{contentEditable:ht.createElement(K6,{className:t}),placeholder:ht.createElement(G6,null,o),ErrorBoundary:$6}),ht.createElement(I6.OnChangePlugin,{onChange:s}),ht.createElement(N6.HistoryPlugin,null),n!==!1&&ht.createElement(C6.AutoFocusPlugin,null),ht.createElement(e5,{onEscape:e}),ht.createElement(k6.ClearEditorPlugin,null),r!==void 0&&ht.createElement(t5,{editorRef:r})))}function SS(l,t){return(0,ht.useCallback)((n,e)=>{n.read(()=>{l((0,mS.$rootTextContent)()),t(!(0,mS.$isRootTextContentEmpty)(e.isComposing(),!0))})},[t,l])}function n5(l){let{editor:t,cancelAddComment:n,submitAddComment:e,codoxComments:s}=l;const[r,o]=(0,ht.useState)(""),[a,c]=(0,ht.useState)(!1),i=(0,ht.useRef)(null),u=(0,ht.useMemo)(()=>({container:document.createElement("div"),elements:[]}),[]),d=(0,ht.useRef)(null),f=jS(),p=(0,ht.useCallback)(()=>{t.getEditorState().read(()=>{const m=(0,Dt.$getSelection)();if((0,Dt.$isRangeSelection)(m)){d.current=m.clone();const g=m.anchor,b=m.focus,v=(0,Bl.createDOMRange)(t,g.getNode(),g.offset,b.getNode(),b.offset),_=i.current;if(v!==null&&_!==null){const{left:E,bottom:S,width:w}=v.getBoundingClientRect(),y=(0,Bl.createRectsFromDOMRange)(t,v);let x=y.length===1?E+w/2-125:E-125;x<10&&(x=10),_.style.left=`${x}px`,_.style.top=`${S+20+(window.pageYOffset||document.documentElement.scrollTop)}px`;const C=y.length,{container:T}=u,R=u.elements,F=R.length;for(let I=0;I<C;I++){const B=y[I];let A=R[I];A===void 0&&(A=document.createElement("span"),R[I]=A,T.appendChild(A));const j="255, 212, 0",O=`position:absolute;top:${B.top+(window.pageYOffset||document.documentElement.scrollTop)}px;left:${B.left}px;height:${B.height}px;width:${B.width}px;background-color:rgba(${j}, 0.3);pointer-events:none;z-index:5;`;A.style.cssText=O}for(let I=F-1;I>=C;I--){const B=R[I];T.removeChild(B),R.pop()}}}})},[t,u]);yS(()=>{p();const m=u.container,g=document.body;if(g!==null)return g.appendChild(m),()=>{g.removeChild(m)}},[u.container,p]),(0,ht.useEffect)(()=>(window.addEventListener("resize",p),()=>{window.removeEventListener("resize",p)}),[p]);const h=SS(o,c);return ht.createElement("div",{className:"CodoxCommentPlugin_CommentInputBox",ref:i},ht.createElement(xS,{className:"CodoxCommentPlugin_CommentInputBox_Editor",onEscape:m=>(m.preventDefault(),n(),!0),onChange:h}),ht.createElement("div",{className:"CodoxCommentPlugin_CommentInputBox_Buttons"},ht.createElement(Ja,{onClick:n,className:"CodoxCommentPlugin_CommentInputBox_Button"},"Cancel"),ht.createElement(Ja,{onClick:()=>{if(a){let m=t.getEditorState().read(()=>{const g=d.current;return g?g.getTextContent():""});m.length>100&&(m=m.slice(0,99)+"…"),e(Q6(s,m,[wS(s,r,f)]),!0,void 0,d.current),d.current=null}},disabled:!a,className:"CodoxCommentPlugin_CommentInputBox_Button primary"},"Comment")))}function r5(l){let{submitAddComment:t,thread:n,placeholder:e,codoxComments:s}=l;const[r,o]=(0,ht.useState)(""),[a,c]=(0,ht.useState)(!1),i=(0,ht.useRef)(null),u=jS(),d=SS(o,c);return ht.createElement(ht.Fragment,null,ht.createElement(xS,{className:"CodoxCommentPlugin_CommentsPanel_Editor",autoFocus:!1,onEscape:()=>!0,onChange:d,editorRef:i,placeholder:e}),ht.createElement(Ja,{className:"CodoxCommentPlugin_CommentsPanel_SendButton",onClick:()=>{if(a){t(wS(s,r,u),!1,n);const f=i.current;f!==null&&f.dispatchCommand(Dt.CLEAR_EDITOR_COMMAND,void 0)}},disabled:!a},ht.createElement(Z6,null)))}function ES(l){let{commentOrThread:t,deleteCommentOrThread:n,onClose:e,thread:s}=l;return ht.createElement(ht.Fragment,null,"Are you sure you want to delete this ",t.type,"?",ht.createElement("div",{className:"Modal__content"},ht.createElement(Ja,{onClick:()=>{n(t,s),e()}},"Delete")," ",ht.createElement(Ja,{onClick:()=>{e()}},"Cancel")))}function CS(l){let{comment:t,deleteComment:n,thread:e,rtf:s}=l;const r=Math.round((t.timeStamp-performance.now())/1e3),o=Math.round(r/60),[a,c]=vS();return ht.createElement("li",{className:"CodoxCommentPlugin_CommentsPanel_List_Comment"},ht.createElement("div",{className:"CodoxCommentPlugin_CommentsPanel_List_Details"},ht.createElement("span",{className:"CodoxCommentPlugin_CommentsPanel_List_Comment_Author"},t.author),ht.createElement("span",{className:"CodoxCommentPlugin_CommentsPanel_List_Comment_Time"},"· ",r>-10?"Just now":s.format(o,"minute"))),ht.createElement("p",{className:t.deleted?"CodoxCommentPlugin_CommentsPanel_DeletedComment":""},t.content),!t.deleted&&ht.createElement(ht.Fragment,null,ht.createElement(Ja,{onClick:()=>{c("Delete Comment",i=>ht.createElement(ES,{commentOrThread:t,deleteCommentOrThread:n,thread:e,onClose:i}))},className:"CodoxCommentPlugin_CommentsPanel_List_DeleteButton"},ht.createElement(bS,null)),a))}function o5(l){let{activeIDs:t,comments:n,deleteCommentOrThread:e,listRef:s,submitAddComment:r,markNodeMap:o,codoxComments:a}=l;const[c]=(0,Wa.useLexicalComposerContext)(),[i,u]=(0,ht.useState)(0),[d,f]=vS(),p=(0,ht.useMemo)(()=>new Intl.RelativeTimeFormat("en",{localeMatcher:"best fit",numeric:"auto",style:"short"}),[]);return(0,ht.useEffect)(()=>{const h=setTimeout(()=>{u(i+1)},1e4);return()=>{clearTimeout(h)}},[i]),ht.createElement("ul",{className:"CodoxCommentPlugin_CommentsPanel_List",ref:s},n.map(h=>{const m=h.codoxId;if(!m)return null;if(h.type==="thread"){const g=()=>{if(o.get(m)!==void 0&&(t===null||t.indexOf(m)===-1)){const b=document.activeElement;c.update(()=>{(0,Dt.$setSelection)(null)},{onUpdate(){b!==null&&b.focus()}})}};return ht.createElement("li",{key:m,onClick:g,className:`CodoxCommentPlugin_CommentsPanel_List_Thread ${o.has(m)?"interactive":""} ${t.indexOf(m)===-1?"":"active"}`},ht.createElement("div",{className:"CodoxCommentPlugin_CommentsPanel_List_Thread_QuoteBox"},ht.createElement("blockquote",{className:"CodoxCommentPlugin_CommentsPanel_List_Thread_Quote"},"> ",ht.createElement("span",null,h.quote)),ht.createElement(Ja,{onClick:()=>{f("Delete Thread",b=>ht.createElement(ES,{commentOrThread:h,deleteCommentOrThread:e,onClose:b}))},className:"CodoxCommentPlugin_CommentsPanel_List_DeleteButton"},ht.createElement(bS,null)),d),ht.createElement("ul",{className:"CodoxCommentPlugin_CommentsPanel_List_Thread_Comments"},h.comments.map(b=>ht.createElement(CS,{key:b.codoxId,comment:b,deleteComment:e,thread:h,rtf:p}))),ht.createElement("div",{className:"CodoxCommentPlugin_CommentsPanel_List_Thread_Editor"},ht.createElement(r5,{submitAddComment:r,thread:h,placeholder:"Reply to comment...",codoxComments:a})))}return ht.createElement(CS,{key:m,comment:h,deleteComment:e,rtf:p})}))}function i5(l){let{activeIDs:t,deleteCommentOrThread:n,comments:e,submitAddComment:s,markNodeMap:r,codoxComments:o,style:a,closeComments:c}=l;const i=(0,ht.useRef)(null),u=e.length===0;return ht.createElement("div",Ky({className:"CodoxCommentPlugin_CommentsPanel"},a&&{style:a}),ht.createElement("h2",{className:"CodoxCommentPlugin_CommentsPanel_Heading"},"Comments",ht.createElement("div",{onClick:c,style:{display:"inline-block",position:"absolute",right:"5px",top:"5px",cursor:"pointer"}},ht.createElement(_S,null))),u?ht.createElement("div",{className:"CodoxCommentPlugin_CommentsPanel_Empty"},"No Comments"):ht.createElement(o5,{activeIDs:t,comments:e,deleteCommentOrThread:n,listRef:i,submitAddComment:s,markNodeMap:r,codoxComments:o}))}function jS(){const l=(0,fS.useCollaborationContext)(),{yjsDocMap:t,name:n}=l;return n||"user"}function s5(l){const[t]=(0,Wa.useLexicalComposerContext)(),n=(t&&t.getRootElement()&&t.getRootElement().getBoundingClientRect(),t.getKey()),e=gP(n),s=Un.getCodoxComments(n),r=(0,ht.useMemo)(()=>new Map,[]),[o,a]=(0,ht.useState)(),[c,i]=(0,ht.useState)([]),[u,d]=(0,ht.useState)(!1),[f,p]=(0,ht.useState)(!1);(0,ht.useEffect)(()=>{!e.length&&f?p(!1):e.length},[e]);const h=(0,ht.useCallback)(()=>{t.update(()=>{const b=(0,Dt.$getSelection)();b!==null&&(b.dirty=!0)}),d(!1)},[t]),m=(0,ht.useCallback)((b,v)=>{if(b.type==="comment"){if(pt.default.debug("[deleteCommentOrThread]: type comment new values",{comment:b,thread:v,markNodeMap:r}),s.removeComment(v.codoxId,b.codoxId),!v)return;const _=v.codoxId,E=r.get(_);t.update(()=>{E?E.forEach((S,w)=>{const y=(0,Dt.$getNodeByKey)(w);pt.default.debug("[deleteCommentOrThread]: type comment new values",{lexicalNode:y}),y&&y.markDirty()}):(0,Dt.$getRoot)().markDirty(),(0,Dt.$addUpdateTag)(ls.historic),(0,Dt.$addUpdateTag)(Dd)})}else{pt.default.debug("[deleteCommentOrThread]: type thread new values",{comment:b,markNodeMap:r});const _=v!==void 0?v.codoxId:b.codoxId,E=r.get(_);setTimeout(()=>{t.update(()=>{if(E)for(const S of E){const w=(0,Dt.$getNodeByKey)(S);pt.default.debug("[deleteCommentOrThread]: type thread new values",{node:w}),(0,Bi.$isMarkNode)(w)&&(w.deleteID(_),w.getIDs().length===0&&(0,Bi.$unwrapMarkNode)(w))}else(0,Dt.$getRoot)().markDirty(),pt.default.debug("[deleteCommentOrThread][refreshComments]");s.refreshComments(!0),(0,Dt.$addUpdateTag)(Dd)})})}},[t,r]),g=(0,ht.useCallback)((b,v,_,E)=>{if(pt.default.debug("[submitAddComment]: new values",{commentOrThread:b,isInlineComment:v,thread:_,markNodeMap:r}),_?s.addComment(_.codoxId,b):s.addCommentThread(b),v)t.update(()=>{if((0,Dt.$isRangeSelection)(E)){const S=E.isBackward(),w=b.codoxId;(0,Bi.$wrapSelectionInMarkNode)(E,S,w),(0,Dt.$addUpdateTag)(Dd)}}),d(!1);else if(!v&&_){const S=_.codoxId,w=r.get(S);if(!w)return void s.removeComment(_.codoxId,b.codoxId);t.update(()=>{w.forEach((y,x)=>{let C=(0,Dt.$getNodeByKey)(x);C&&C.markDirty()}),(0,Dt.$addUpdateTag)(ls.historic),(0,Dt.$addUpdateTag)(Dd)})}},[t]);return(0,ht.useEffect)(()=>{const b=[];for(let v=0;v<c.length;v++){const _=c[v],E=r.get(_);if(E!==void 0)for(const S of E){const w=t.getElementByKey(S);w!==null&&(w.classList.add("selected"),b.push(w),p(!0))}}return()=>{for(let v=0;v<b.length;v++)b[v].classList.remove("selected")}},[c,t,r]),(0,ht.useEffect)(()=>{const b=new Map;return(0,qc.mergeRegister)((0,qc.registerNestedElementResolver)(t,Bi.MarkNode,v=>(0,Bi.$createMarkNode)(v.getIDs()),(v,_)=>{v.getIDs().forEach(E=>{_.addID(E)})}),t.registerMutationListener(Bi.MarkNode,v=>{t.getEditorState().read(()=>{for(const[_,E]of v){const S=(0,Dt.$getNodeByKey)(_);let w=[];E==="destroyed"?w=b.get(_)||[]:(0,Bi.$isMarkNode)(S)&&(w=S.getIDs());for(let y=0;y<w.length;y++){const x=w[y];let C=r.get(x);b.set(_,w),E==="destroyed"?C!==void 0&&(C.delete(_),C.size===0&&r.delete(x)):(C===void 0&&(C=new Set,r.set(x,C)),C.has(_)||C.add(_))}}})}),t.registerUpdateListener(v=>{let{editorState:_,tags:E}=v;_.read(()=>{const S=(0,Dt.$getSelection)();let w=!1,y=!1;if((0,Dt.$isRangeSelection)(S)){const x=S.anchor.getNode();if((0,Dt.$isTextNode)(x)){const C=(0,Bi.$getMarkIDs)(x,S.anchor.offset);C!==null&&(i(C),w=!0),S.isCollapsed()||(a(x.getKey()),y=!0)}}w||i(x=>x.length===0?x:[]),y||a(null),(0,Dt.$isRangeSelection)(S)&&d(!1)})}),t.registerCommand(Fy,()=>{const v=window.getSelection();return v!==null&&v.removeAllRanges(),d(!0),!0},Dt.COMMAND_PRIORITY_EDITOR))},[t,r]),ht.createElement(ht.Fragment,null,u&&(0,$c.createPortal)(ht.createElement(n5,{editor:t,cancelAddComment:h,submitAddComment:g,codoxComments:s}),document.body),o!=null&&!u&&(0,$c.createPortal)(ht.createElement(X6,{anchorKey:o,editor:t,onAddComment:()=>{t.dispatchCommand(Fy,void 0)}}),document.body),(0,$c.createPortal)(ht.createElement(Ja,{className:"CodoxCommentPlugin_ShowCommentsButton "+(f?"active":""),onClick:()=>p(!f),title:f?"Hide Comments":"Show Comments"},ht.createElement(_S,null)),document.body),f&&(0,$c.createPortal)(ht.createElement(i5,{comments:e,submitAddComment:g,deleteCommentOrThread:m,activeIDs:c,markNodeMap:r,codoxComments:s,closeComments:()=>p(!1)}),document.body))}var gh=An(766),tu={};tu.styleTagTransform=ea(),tu.setAttributes=Qs(),tu.insert=Zs().bind(null,"head"),tu.domAPI=Ys(),tu.insertStyleElement=Xs(),$s()(gh.A,tu),gh.A&&gh.A.locals&&gh.A.locals;var mh=An(225),nu={};nu.styleTagTransform=ea(),nu.setAttributes=Qs(),nu.insert=Zs().bind(null,"head"),nu.domAPI=Ys(),nu.insertStyleElement=Xs(),$s()(mh.A,nu),mh.A&&mh.A.locals&&mh.A.locals;function a5(l){let{label:t,value:n,onChange:e,placeholder:s="","data-test-id":r,type:o="text"}=l;return ht.createElement("div",{className:"CodoxInput__wrapper"},ht.createElement("label",{className:"CodoxInput__label"},t),ht.createElement("input",{type:o,className:"CodoxInput__input",placeholder:s,value:n,onChange:a=>{e(a.target.value)},"data-test-id":r}))}function kS(l,t){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(l);t&&(e=e.filter(function(s){return Object.getOwnPropertyDescriptor(l,s).enumerable})),n.push.apply(n,e)}return n}function yh(l){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?kS(Object(n),!0).forEach(function(e){l5(l,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):kS(Object(n)).forEach(function(e){Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(n,e))})}return l}function l5(l,t,n){return(t=c5(t))in l?Object.defineProperty(l,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[t]=n,l}function c5(l){var t=u5(l,"string");return typeof t=="symbol"?t:t+""}function u5(l,t){if(typeof l!="object"||!l)return l;var n=l[Symbol.toPrimitive];if(n!==void 0){var e=n.call(l,t||"default");if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(l)}let Wd=!1;const d5=["#d0021b","#f5a623","#f8e71c","#8b572a","#7ed321","#417505","#bd10e0","#9013fe","#4a90e2","#50e3c2","#b8e986","#000000","#4a4a4a","#9b9b9b","#ffffff"];function f5(l){let{color:t,onChange:n}=l;const[e,s]=(0,ht.useState)(ru("hex",t)),[r,o]=(0,ht.useState)(t),a=(0,ht.useRef)(null),c=(0,ht.useMemo)(()=>({x:e.hsv.s/100*214,y:(100-e.hsv.v)/100*150}),[e.hsv.s,e.hsv.v]),i=(0,ht.useMemo)(()=>({x:e.hsv.h/360*214}),[e.hsv]);return(0,ht.useEffect)(()=>{a.current!==null&&n&&o(e.hex)},[e,n]),(0,ht.useEffect)(()=>{if(t===void 0)return;const u=ru("hex",t);s(u),o(u.hex)},[t]),ht.createElement("div",{className:"codox-color-picker-wrapper",style:{width:214},ref:a},ht.createElement(a5,{label:"Hex",onChange:u=>{if(o(u),/^#[0-9A-Fa-f]{6}$/i.test(u)){const d=ru("hex",u);s(d)}},value:r}),ht.createElement("div",{className:"codox-color-picker-basic-color"},d5.map(u=>ht.createElement("button",{className:u===e.hex?" active":"",key:u,style:{backgroundColor:u},onClick:()=>(d=>{o(d);let f=ru("hex",d);s(f),n(f.hex,Wd)})(u)}))),ht.createElement(TS,{className:"codox-color-picker-saturation",style:{backgroundColor:`hsl(${e.hsv.h}, 100%, 50%)`},onChange:u=>{let{x:d,y:f}=u;const p=ru("hsv",yh(yh({},e.hsv),{},{s:d/214*100,v:100-f/150*100}));s(p),o(p.hex),n(p.hex,Wd)}},ht.createElement("div",{className:"codox-color-picker-saturation_cursor",style:{backgroundColor:e.hex,left:c.x,top:c.y}})),ht.createElement(TS,{className:"codox-color-picker-hue",onChange:u=>{let{x:d}=u;const f=ru("hsv",yh(yh({},e.hsv),{},{h:d/214*360}));s(f),o(f.hex),n(f.hex,Wd)}},ht.createElement("div",{className:"codox-color-picker-hue_cursor",style:{backgroundColor:`hsl(${e.hsv.h}, 100%, 50%)`,left:i.x}})),ht.createElement("div",{className:"codox-color-picker-color",style:{backgroundColor:e.hex}}))}function TS(l){let{className:t,style:n,onChange:e,children:s}=l;const r=(0,ht.useRef)(null),o=(0,ht.useRef)(!1),a=c=>{if(r.current){const{current:i}=r,{width:u,height:d,left:f,top:p}=i.getBoundingClientRect(),h=AS(c.clientX-f,u,0),m=AS(c.clientY-p,d,0);e({x:h,y:m})}};return ht.createElement("div",{ref:r,className:t,style:n,onMouseDown:c=>{if(c.button!==0)return;a(c);const i=d=>{o.current=!0,Wd=!0,a(d)},u=d=>{o.current&&(Wd=!1),document.removeEventListener("mousemove",i,!1),document.removeEventListener("mouseup",u,!1),a(d),o.current=!1};document.addEventListener("mousemove",i,!1),document.addEventListener("mouseup",u,!1)}},s)}function AS(l,t,n){return l>t?t:l<n?n:l}function OS(l){if(!l.startsWith("#")){const t=document.createElement("canvas").getContext("2d");if(!t)throw new Error("2d context not supported or canvas already initialized");return t.fillStyle=l,t.fillStyle}return l.length===4||l.length===5?l=l.split("").map((t,n)=>n?t+t:"#").join(""):l.length===7||l.length===9?l:"#000000"}function NS(l){const t=(l.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(n,e,s,r)=>"#"+e+e+s+s+r+r).substring(1).match(/.{2}/g)||[]).map(n=>parseInt(n,16));return{b:t[2],g:t[1],r:t[0]}}function Gy(l){let{r:t,g:n,b:e}=l;t/=255,n/=255,e/=255;const s=Math.max(t,n,e),r=s-Math.min(t,n,e);return{h:r?60*(s===t?(n-e)/r+(n<e?6:0):s===n?2+(e-t)/r:4+(t-n)/r):0,s:s?r/s*100:0,v:100*s}}function p5(l){let{h:t,s:n,v:e}=l;n/=100,e/=100;const s=~~(t/60),r=t/60-s,o=e*(1-n),a=e*(1-n*r),c=e*(1-n*(1-r)),i=s%6,u=Math.round(255*[e,a,o,o,c,e][i]),d=Math.round(255*[c,e,e,a,o,o][i]);return{b:Math.round(255*[o,o,c,e,e,a][i]),g:d,r:u}}function PS(l){let{b:t,g:n,r:e}=l;return"#"+[e,n,t].map(s=>s.toString(16).padStart(2,"0")).join("")}function ru(l,t){let n=OS("#121212"),e=NS(n),s=Gy(e);return l==="hex"?(n=OS(t),e=NS(n),s=Gy(e)):l==="rgb"?(e=t,n=PS(e),s=Gy(e)):l==="hsv"&&(s=t,e=p5(s),n=PS(e)),{hex:n,hsv:s,rgb:e}}const h5=ht.createContext(null);function g5(l){let{children:t,dropDownRef:n,onClose:e,dropdownClassName:s}=l;const[r,o]=(0,ht.useState)(),[a,c]=(0,ht.useState)(),i=(0,ht.useCallback)(d=>{o(f=>f?[...f,d]:[d])},[o]),u=(0,ht.useMemo)(()=>({registerItem:i}),[i]);return(0,ht.useEffect)(()=>{r&&!a&&c(r[0]),a&&a.current&&a.current.focus()},[r,a]),ht.createElement(h5.Provider,{value:u},ht.createElement("div",{className:s,ref:n,onKeyDown:d=>{if(!r)return;const f=d.key;["Escape","ArrowUp","ArrowDown","Tab"].includes(f)&&d.preventDefault(),f==="Escape"||f==="Tab"?e():f==="ArrowUp"?c(p=>{if(!p)return r[0];const h=r.indexOf(p)-1;return r[h===-1?r.length-1:h]}):f==="ArrowDown"&&c(p=>p?r[r.indexOf(p)+1]:r[0])}},t))}function m5(l){let{disabled:t=!1,buttonLabel:n,buttonAriaLabel:e,buttonClassName:s,buttonIconClassName:r,children:o,stopCloseOnClickSelf:a,dropdownClassName:c,buttonLabelClassName:i,dropdownChevronClassName:u}=l;const d=(0,ht.useRef)(null),f=(0,ht.useRef)(null),[p,h]=(0,ht.useState)(!1);return(0,ht.useEffect)(()=>{const m=f.current,g=d.current;if(p&&m!==null&&g!==null){const{top:b,left:v}=m.getBoundingClientRect();g.style.top=`${b+m.offsetHeight+4}px`,g.style.left=`${Math.min(v,window.innerWidth-g.offsetWidth-20)}px`}},[d,f,p]),(0,ht.useEffect)(()=>{const m=f.current;if(m!==null&&p){const g=b=>{const v=b.target;a&&d.current&&d.current.contains(v)||m.contains(v)||h(!1)};return document.addEventListener("click",g),()=>{document.removeEventListener("click",g)}}},[d,f,p,a]),(0,ht.useEffect)(()=>{const m=()=>{if(p){const g=f.current,b=d.current;if(g!==null&&b!==null){const{top:v}=g.getBoundingClientRect(),_=v+g.offsetHeight+4;_!==b.getBoundingClientRect().top&&(b.style.top=`${_}px`)}}};return document.addEventListener("scroll",m),()=>{document.removeEventListener("scroll",m)}},[f,d,p]),ht.createElement(ht.Fragment,null,ht.createElement("button",{type:"button",disabled:t,"aria-label":e||n,className:s,onClick:()=>h(!p),ref:f},r&&ht.createElement("span",{className:r}),n&&ht.createElement("span",{className:i},n),ht.createElement("i",{className:u})),p&&(0,$c.createPortal)(ht.createElement(g5,{dropDownRef:d,onClose:()=>{h(!1),f&&f.current&&f.current.focus()},dropdownClassName:c},o),document.body))}const y5=["disabled","stopCloseOnClickSelf","color","onChange"];function $y(){return $y=Object.assign?Object.assign.bind():function(l){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var e in n)({}).hasOwnProperty.call(n,e)&&(l[e]=n[e])}return l},$y.apply(null,arguments)}function v5(l,t){if(l==null)return{};var n,e,s=b5(l,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(l);for(e=0;e<r.length;e++)n=r[e],t.includes(n)||{}.propertyIsEnumerable.call(l,n)&&(s[n]=l[n])}return s}function b5(l,t){if(l==null)return{};var n={};for(var e in l)if({}.hasOwnProperty.call(l,e)){if(t.includes(e))continue;n[e]=l[e]}return n}function IS(l){let{disabled:t=!1,stopCloseOnClickSelf:n=!0,color:e,onChange:s}=l,r=v5(l,y5);return ht.createElement(m5,$y({},r,{disabled:t,stopCloseOnClickSelf:n}),ht.createElement(f5,{color:e,onChange:s}))}const _5=l=>{let{onColorChange:t,buttonClassName:n,buttonIconClassName:e,buttonAriaLabel:s,buttonLabel:r,dropdownClassName:o,buttonLabelClassName:a,dropdownChevronClassName:c}=l;const[i]=(0,Wa.useLexicalComposerContext)(),[u,d]=(0,ht.useState)(()=>i.isEditable()),[f,p]=(0,ht.useState)("");(0,ht.useEffect)(()=>(0,qc.mergeRegister)(i.registerEditableListener(m=>{d(m)}),i.registerUpdateListener(m=>{let{editorState:g}=m;g.read(()=>{const b=(0,Dt.$getSelection)();if((0,Dt.$isRangeSelection)(b)){let v=(0,Bl.$getSelectionStyleValueForProperty)(b,"color");v!==f&&(p(v||""),t(v))}})})),[i]);const h=(0,ht.useCallback)((m,g)=>{i.update(()=>{const b=(0,Dt.$getSelection)();b!==null&&(0,Bl.$patchStyleText)(b,{color:m})})},[i]);return ht.createElement(IS,{disabled:!u,color:f,onChange:h,buttonClassName:n||"",buttonIconClassName:e||"",buttonAriaLabel:s||"",buttonLabel:r||"",dropdownClassName:o||"",buttonLabelClassName:a||"",dropdownChevronClassName:c||""})},w5=_5,x5=l=>{let{onColorChange:t,buttonClassName:n,buttonIconClassName:e,buttonAriaLabel:s,buttonLabel:r,dropdownClassName:o,buttonLabelClassName:a,dropdownChevronClassName:c}=l;const[i]=(0,Wa.useLexicalComposerContext)(),[u,d]=(0,ht.useState)(()=>i.isEditable()),[f,p]=(0,ht.useState)("#fff");(0,ht.useEffect)(()=>(0,qc.mergeRegister)(i.registerEditableListener(m=>{d(m)}),i.registerUpdateListener(m=>{let{editorState:g}=m;g.read(()=>{const b=(0,Dt.$getSelection)();if((0,Dt.$isRangeSelection)(b)){let v=(0,Bl.$getSelectionStyleValueForProperty)(b,"background-color");v!==f&&(p(v||""),t(v))}})})),[i]);const h=(0,ht.useCallback)((m,g)=>{i.update(()=>{const b=(0,Dt.$getSelection)();b!==null&&(0,Bl.$patchStyleText)(b,{"background-color":m})})},[i]);return ht.createElement(IS,{disabled:!u,color:f,onChange:h,buttonClassName:n||"",buttonIconClassName:e||"",buttonAriaLabel:s||"",buttonLabel:r||"",dropdownClassName:o||"",buttonLabelClassName:a||"",dropdownChevronClassName:c||""})},S5=x5;var MS=Ba.yy;Ba._U,Ba.a8,Ba.Vs,Ba.Cn;var RS=Ba.gK,DS=Ba.vv;const FD="",LS=({styleConfig:l})=>{const{heading:t}=l;return t.find(n=>n.title==="Heading1"),t.find(n=>n.title==="Heading2"),t.find(n=>n.title==="Heading3"),t.find(n=>n.title==="Heading4"),t.find(n=>n.title==="Heading5"),ae.jsx(Ny,{children:ae.jsx("style",{type:"text/css",children:`
1503
1485
  .PlaygroundEditorTheme__h1 {
1504
1486
  font-size: 14.5px;
1505
1487
  font-weight: 700;
@@ -1560,5 +1542,5 @@ Valid keys: `+JSON.stringify(Object.keys(U),null," "));var Y=X(J,Z,G,P,W+"."+Z,
1560
1542
  }
1561
1543
  `,document.head.appendChild(e),()=>{document.removeEventListener("click",t),n()}},[l]),he.useEffect(()=>{const t=()=>{l.update(()=>{document.querySelectorAll("[data-cross-ref]").forEach(s=>{const r=s.getAttribute("id");if(r){const o=document.querySelector(`[data-ref-id="ref-${r}"]`),a=s.getAttribute("data-lexical-node-key");if(o){const c=o.textContent||"";s.textContent!==c&&(s.textContent=c)}else if(a){const c=Dn(a);c&&(c==null||c.remove())}}})})},n=l.registerUpdateListener(()=>{t()});return()=>{n()}},[l]),null},C5="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDYuNy4yIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTIxNC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE2MCAxNDEuMiAxNjAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuN0wzMjkuNCAyNDYuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xNjAtMTYweiIvPjwvc3ZnPg==",j5="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDYuNy4yIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTE2OS40IDQ3MC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjI0IDM3MC44IDIyNCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMwNi43TDU0LjYgMjY1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjB6Ii8+PC9zdmc+",k5="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDYuNy4yIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTM0Mi42IDE1MC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE5MiAyMTAuNyA4Ni42IDEwNS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wxNDYuNyAyNTYgNDEuNCAzNjEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxOTIgMzAxLjMgMjk3LjQgNDA2LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wyMzcuMyAyNTYgMzQyLjYgMTUwLjZ6Ii8+PC9zdmc+",T5="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgNTEyIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDYuNy4yIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTMxMC42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xOTIgMTkyYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDIuNyAyNTYgNzMuNCA4Ni42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDE5MiAxOTJ6Ii8+PC9zdmc+",A5="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDYuNy4yIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTIzMy40IDQwNi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE5Mi0xOTJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjU2IDMzOC43IDg2LjYgMTY5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE5MiAxOTJ6Ii8+PC9zdmc+",O5="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSIjZmZmIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuMjIxIDMuNzM5bDIuMjYxIDIuMjY5TDcuNyAzLjc4NGwtLjctLjctMS4wMTIgMS4wMDctLjAwOC0xLjZhLjUyMy41MjMgMCAwIDEgLjUtLjUyNkg4VjFINi40OEExLjQ4MiAxLjQ4MiAwIDAgMCA1IDIuNDg5VjQuMUwzLjkyNyAzLjAzM2wtLjcwNi43MDZ6bTYuNjcgMS43OTRoLjAxYy4xODMuMzExLjQ1MS40NjcuODA2LjQ2Ny4zOTMgMCAuNzA2LS4xNjguOTQtLjUwMy4yMzYtLjMzNS4zNTMtLjc4LjM1My0xLjMzMyAwLS41MTEtLjEtLjkxMy0uMzAxLTEuMjA3LS4yMDEtLjI5NS0uNDg4LS40NDItLjg2LS40NDItLjQwNSAwLS43MTguMTk0LS45MzguNTgxaC0uMDFWMUg5djQuOTE5aC44OXYtLjM4NnptLS4wMTUtMS4wNjF2LS4zNGMwLS4yNDguMDU4LS40NDguMTc1LS42MDFhLjU0LjU0IDAgMCAxIC40NDUtLjIzLjQ5LjQ5IDAgMCAxIC40MzYuMjMzYy4xMDQuMTU0LjE1NS4zNjguMTU1LjY0MyAwIC4zMy0uMDU2LjU4Ny0uMTY5Ljc2OGEuNTI0LjUyNCAwIDAgMS0uNDcuMjcuNDk1LjQ5NSAwIDAgMS0uNDExLS4yMTEuODUzLjg1MyAwIDAgMS0uMTYtLjUzMnpNOSAxMi43NjljLS4yNTYuMTU0LS42MjUuMjMxLTEuMTA4LjIzMS0uNTYzIDAtMS4wMi0uMTc4LTEuMzY5LS41MzMtLjM0OS0uMzU1LS41MjMtLjgxMy0uNTIzLTEuMzc0IDAtLjY0OC4xODYtMS4xNTguNTYtMS41My4zNzQtLjM3Ni44NzUtLjU2MyAxLjUtLjU2My40MzMgMCAuNzQ2LjA2Ljk0LjE3OXYuOTk4YTEuMjYgMS4yNiAwIDAgMC0uNzkyLS4yNzZjLS4zMjUgMC0uNTgzLjEtLjc3NC4yOTgtLjE5LjE5Ni0uMjgzLjQ2OC0uMjgzLjgxNiAwIC4zMzguMDkuNjAzLjI3Mi43OTcuMTgyLjE5MS40MzEuMjg3Ljc0OS4yODcuMjgyIDAgLjU1OC0uMDkyLjgyOC0uMjc2di45NDZ6TTQgN0wzIDh2NmwxIDFoN2wxLTFWOGwtMS0xSDR6bTAgMWg3djZINFY4eiIvPjwvc3ZnPg==",N5="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSIjZmZmIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjYgMi42NzdjLjE0Ny0uMzEuMzU2LS40NjUuNjI2LS40NjUuMjQ4IDAgLjQ0LjExOC41NzMuMzUzLjEzNC4yMzYuMjAxLjU1Ny4yMDEuOTY2IDAgLjQ0My0uMDc4Ljc5OC0uMjM1IDEuMDY3LS4xNTYuMjY4LS4zNjUuNDAyLS42MjcuNDAyLS4yMzcgMC0uNDE2LS4xMjUtLjUzNy0uMzc0aC0uMDA4di4zMUgxMVYxaC41OTN2MS42NzdoLjAwOHptLS4wMTYgMS4xYS43OC43OCAwIDAgMCAuMTA3LjQyNmMuMDcxLjExMy4xNjMuMTY5LjI3NC4xNjkuMTM2IDAgLjI0LS4wNzIuMzE0LS4yMTYuMDc1LS4xNDUuMTEzLS4zNS4xMTMtLjYxNSAwLS4yMi0uMDM1LS4zOS0uMTA0LS41MTQtLjA2Ny0uMTI0LS4xNjQtLjE4Ny0uMjktLjE4Ny0uMTIgMC0uMjE5LjA2Mi0uMjk3LjE4NWEuODg2Ljg4NiAwIDAgMC0uMTE3LjQ4di4yNzJ6TTQuMTIgNy42OTVMMiA1LjU2OGwuNjYyLS42NjIgMS4wMDYgMXYtMS41MUExLjM5IDEuMzkgMCAwIDEgNS4wNTUgM0g3LjR2LjkwNUg1LjA1NWEuNDkuNDkgMCAwIDAtLjQ2OC40OTNsLjAwNyAxLjUuOTQ5LS45NDQuNjU2LjY1Ni0yLjA4IDIuMDg1ek05LjM1NiA0LjkzSDEwVjMuMjJDMTAgMi40MDggOS42ODUgMiA5LjA1NiAyYy0uMTM1IDAtLjI4NS4wMjQtLjQ1LjA3M2ExLjQ0NCAxLjQ0NCAwIDAgMC0uMzg4LjE2N3YuNjY1Yy4yMzctLjIwMy40ODctLjMwNC43NS0uMzA0LjI2MSAwIC4zOTIuMTU2LjM5Mi40NjlsLS42LjEwM2MtLjUwNi4wODYtLjc2LjQwNi0uNzYuOTYxIDAgLjI2My4wNjEuNDczLjE4My42MzFBLjYxLjYxIDAgMCAwIDguNjkgNWMuMjkgMCAuNTA5LS4xNi42NTctLjQ4aC4wMDl2LjQxem0uMDA0LTEuMzU1di4xOTNhLjc1Ljc1IDAgMCAxLS4xMi40MzYuMzY4LjM2OCAwIDAgMS0uMzEzLjE3LjI3Ni4yNzYgMCAwIDEtLjIyLS4wOTUuMzguMzggMCAwIDEtLjA4LS4yNDhjMC0uMjIyLjExLS4zNTEuMzMyLS4zODlsLjQtLjA2N3pNNyAxMi45M2gtLjY0NHYtLjQxaC0uMDA5Yy0uMTQ4LjMyLS4zNjcuNDgtLjY1Ny40OGEuNjEuNjEgMCAwIDEtLjUwNy0uMjM1Yy0uMTIyLS4xNTgtLjE4My0uMzY4LS4xODMtLjYzIDAtLjU1Ni4yNTQtLjg3Ni43Ni0uOTYybC42LS4xMDNjMC0uMzEzLS4xMy0uNDctLjM5Mi0uNDctLjI2MyAwLS41MTMuMTAyLS43NS4zMDV2LS42NjVjLjA5NS0uMDYzLjIyNC0uMTE5LjM4OC0uMTY3LjE2NS0uMDQ5LjMxNS0uMDczLjQ1LS4wNzMuNjMgMCAuOTQ0LjQwNy45NDQgMS4yMnYxLjcxem0tLjY0LTEuMTYydi0uMTkzbC0uNC4wNjhjLS4yMjIuMDM3LS4zMzMuMTY2LS4zMzMuMzg4IDAgLjEuMDI3LjE4My4wOC4yNDhhLjI3Ni4yNzYgMCAwIDAgLjIyLjA5NS4zNjguMzY4IDAgMCAwIC4zMTItLjE3Yy4wOC0uMTE2LjEyLS4yNi4xMi0uNDM2ek05LjI2MiAxM2MuMzIxIDAgLjU2OC0uMDU4LjczOC0uMTczdi0uNzFhLjkuOSAwIDAgMS0uNTUyLjIwNy42MTkuNjE5IDAgMCAxLS41LS4yMTVjLS4xMi0uMTQ1LS4xODEtLjM0NS0uMTgxLS41OTggMC0uMjYuMDYzLS40NjQuMTg5LS42MTJhLjY0NC42NDQgMCAwIDEgLjUxNi0uMjIzYy4xOTQgMCAuMzcuMDY5LjUyOC4yMDd2LS43NDljLS4xMjktLjA5LS4zMzgtLjEzNC0uNjI2LS4xMzQtLjQxNyAwLS43NTEuMTQtMS4wMDEuNDIyLS4yNDkuMjgtLjM3My42NjItLjM3MyAxLjE0OCAwIC40Mi4xMTYuNzY0LjM0OSAxLjAzLjIzMi4yNjcuNTM3LjQuOTEzLjR6TTIgOWwxLTFoOWwxIDF2NWwtMSAxSDNsLTEtMVY5em0xIDB2NWg5VjlIM3ptMy0ybDEtMWg3bDEgMXY1bC0xIDFWN0g2eiIvPjwvc3ZnPg==",BD="",P5=({handleClose:l,searchText:t,setSearchText:n,replaceText:e,setReplaceText:s,handleReplaceAll:r,handleReplace:o,handleNextMatch:a,handlePreviousMatch:c,matchesCount:i,currentMatchIndex:u,searchInputRef:d,replaceInputRef:f,ReplaceBoxOpen:p,setReplaceBoxOpen:h})=>ae.jsx("div",{className:"search-and-replace-modal-overlay modal-overlay",children:ae.jsxs("div",{className:"search-and-replace-modal-content modal-content",children:[ae.jsx("div",{className:"search-and-replace-search-section search-section",children:ae.jsxs("div",{className:"search-and-replace-search-header search-header",children:[ae.jsx("img",{className:`search-and-replace-${p?"chevronDownIcon":"chevronRightIcon"}`,width:20,height:20,src:p?A5:T5,alt:"",onClick:()=>h(!p)}),ae.jsx("span",{children:"Find"}),ae.jsxs("div",{className:"search-and-replace-search-controls search-controls",children:[ae.jsx("input",{autoFocus:!0,type:"text",value:t,onChange:m=>n(m.target.value),className:"search-and-replace-search-input search-input",placeholder:"Search",ref:d}),i===0?ae.jsx("span",{className:"search-and-replace-no-results",children:"No results"}):ae.jsxs("span",{className:"search-and-replace-results-count",children:[u+1," of ",i]}),ae.jsx("button",{className:"search-and-replace-control-btn control-btn",onClick:c,children:ae.jsx("img",{className:"search-and-replace-upArrowIcon upArrowIcon",src:C5,alt:""})}),ae.jsx("button",{className:"search-and-replace-control-btn control-btn",onClick:a,children:ae.jsx("img",{className:"search-and-replace-downArrowIcon downArrowIcon",src:j5,alt:""})}),ae.jsx("button",{className:"search-and-replace-control-btn control-btn close",onClick:l,children:ae.jsx("img",{className:"search-and-replace-downArrowIcon downArrowIcon downArrowIcon",src:k5,alt:""})})]})]})}),p&&ae.jsx("div",{className:"search-and-replace-replace-section replace-section",children:ae.jsxs("div",{className:"search-and-replace-replace-header replace-header",children:[ae.jsx("span",{children:"Replace"}),ae.jsxs("div",{className:"search-and-replace-replace-controls replace-controls",children:[ae.jsx("input",{type:"text",value:e,onChange:m=>s(m.target.value),className:"search-and-replace-replace-input replace-input",placeholder:"Replace",ref:f}),ae.jsx("button",{className:"search-and-replace-control-btn control-btn",onClick:o,children:ae.jsx("img",{width:25,height:22,src:O5,alt:""})}),ae.jsx("button",{className:"search-and-replace-control-btn control-btn",onClick:r,children:ae.jsx("img",{width:25,height:22,src:N5,alt:""})})]})]})})]})});function I5({editor:l,matches:t,currentMatchIndex:n}){const[e,s]=he.useState([]);return he.useEffect(()=>{const r=[];t.forEach((o,a)=>{const c=l.getElementByKey(o.key);if(c&&c.firstChild){const i=c.firstChild;if(i.nodeType===Node.TEXT_NODE){const u=i.textContent||"",d=Math.min(o.start,u.length),f=Math.min(o.end,u.length),p=document.createRange();try{p.setStart(i,d),p.setEnd(i,f)}catch(g){console.error("Error setting range:",g);return}const h=p.getBoundingClientRect(),m=l.getRootElement();if(m){const g=m.getBoundingClientRect();r.push({key:`${o.key}-${o.start}`,top:h.top-g.top,left:h.left-g.left,width:h.width,height:h.height,isSelected:a===n})}}}}),s(r)},[t,n,l]),ae.jsx("div",{className:"search-highlight-container",style:{position:"absolute",top:0,left:0,pointerEvents:"none",width:"100%",height:"100%"},children:e.map(r=>ae.jsx("div",{className:"search-highlight",style:{position:"absolute",top:r.top,left:r.left,width:r.width,height:r.height,backgroundColor:r.isSelected?"orange":"yellow",opacity:r.isSelected?.7:.4,pointerEvents:"none"}},r.key))})}function HS(){const[l]=yn(),[t,n]=he.useState(!1),[e,s]=he.useState(""),[r,o]=he.useState(""),[a,c]=he.useState([]),[i,u]=he.useState(-1),d=he.useRef(null),f=he.useRef(null),[p,h]=he.useState(!1);he.useEffect(()=>{d&&d.current&&d.current.focus()},[]);function m(C){let T=[];return C instanceof Zr&&T.push(C),C.getChildren&&typeof C.getChildren=="function"&&C.getChildren().forEach(R=>{T=T.concat(m(R))}),T}const g=he.useCallback(()=>{if(!t||e===""){c([]),u(-1);return}l.getEditorState().read(()=>{const C=Mn(),T=m(C),R=[],F=e.toLowerCase();T.forEach(I=>{const A=I.getTextContent().toLowerCase();let j=0;for(;j<A.length;){const O=A.indexOf(F,j);if(O===-1)break;R.push({key:I.getKey(),start:O,end:O+e.length}),j=O+1}}),c(R),u(R.length>0?0:-1)})},[t,e,l]),b=()=>{n(!1)},v=C=>{if(C.getTextContent&&typeof C.getTextContent=="function"){const T=C.getTextContent();if(T&&e!==""&&T.toLowerCase().includes(e.toLowerCase())){const R=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),F=new RegExp(R,"gi"),I=T.replace(F,r);C.setTextContent&&C.setTextContent(I)}}C.getChildren&&typeof C.getChildren=="function"&&C.getChildren().forEach(T=>v(T))},_=()=>{l.update(()=>{const C=Mn();v(C)}),setTimeout(()=>{g()},0)},E=()=>{l.update(()=>{const C=a[i];if(C){const T=Dn(C.key);if(T&&T instanceof Zr){const R=T.getTextContent();S(i);const F=R.slice(0,C.start)+r+R.slice(C.end);T.setTextContent(F)}}}),setTimeout(()=>{g()},0)};he.useEffect(()=>{g()},[g]);const S=he.useCallback(C=>{if(a.length===0)return;const T=a[C];l.getEditorState().read(()=>{const R=Dn(T.key);if(R&&R instanceof Zr){const F=l.getElementByKey(R.getKey());F&&F.scrollIntoView({behavior:"smooth",block:"center"})}})},[a,l]),w=he.useCallback(()=>{if(a.length===0)return;const C=(i+1)%a.length;u(C),S(C)},[i,a,S]),y=he.useCallback(()=>{if(a.length===0)return;const C=(i-1+a.length)%a.length;u(C),S(C)},[i,a,S]),x=he.useCallback(C=>{if((C.ctrlKey||C.metaKey)&&C.key==="f"){if(!l.getRootElement().contains(document.activeElement))return;C.preventDefault(),l.getEditorState().read(()=>{const R=jt();if(St(R)){const F=R.getTextContent();s(F)}}),n(!0)}C.key==="Enter"&&d.current===document.activeElement&&(C.preventDefault(),w())},[l,w]);return he.useEffect(()=>(document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)),[x]),he.useEffect(()=>{if(t){const C=l==null?void 0:l.registerUpdateListener(()=>{g()});return()=>{C()}}},[l,t,g]),ae.jsxs(ae.Fragment,{children:[t&&ae.jsx(P5,{handleReplace:E,handleClose:b,handleReplaceAll:_,searchText:e,setSearchText:s,replaceText:r,setReplaceText:o,handleNextMatch:w,handlePreviousMatch:y,matchesCount:a.length,currentMatchIndex:i,searchInputRef:d,replaceInputRef:f,ReplaceBoxOpen:p,setReplaceBoxOpen:h}),ae.jsx(I5,{editor:l,matches:a,currentMatchIndex:i})]})}const zD="";function M5({editorRef:l}){const[t]=yn();return ir.useEffect(()=>{typeof l=="function"?l(t):typeof l=="object"&&(l.current=t)},[t]),null}const Es=()=>new Map,Yy=l=>{const t=Es();return l.forEach((n,e)=>{t.set(e,n)}),t},ou=(l,t,n)=>{let e=l.get(t);return e===void 0&&l.set(t,e=n()),e},R5=(l,t)=>{const n=[];for(const[e,s]of l)n.push(t(s,e));return n},D5=(l,t)=>{for(const[n,e]of l)if(t(e,n))return!0;return!1},iu=()=>new Set,Zy=l=>l[l.length-1],su=Array.from,L5=Array.isArray;class F5{constructor(){this._observers=Es()}on(t,n){return ou(this._observers,t,iu).add(n),n}once(t,n){const e=(...s)=>{this.off(t,e),n(...s)};this.on(t,e)}off(t,n){const e=this._observers.get(t);e!==void 0&&(e.delete(n),e.size===0&&this._observers.delete(t))}emit(t,n){return su((this._observers.get(t)||Es()).values()).forEach(e=>e(...n))}destroy(){this._observers=Es()}}const Ul=Math.floor,vh=Math.abs,qS=(l,t)=>l<t?l:t,au=(l,t)=>l>t?l:t,B5=l=>l!==0?l<0:1/l<0,WS=1,JS=2,Qy=4,Xy=8,z5=32,VS=64,bh=128,U5=31,KS=63,Jd=127,H5=2147483647,q5=Number.isInteger||(l=>typeof l=="number"&&isFinite(l)&&Ul(l)===l),W5=l=>l.toLowerCase(),J5=/^\s*/g,V5=l=>l.replace(J5,""),K5=/([A-Z])/g,GS=(l,t)=>V5(l.replace(K5,n=>`${t}${W5(n)}`)),G5=l=>{const t=unescape(encodeURIComponent(l)),n=t.length,e=new Uint8Array(n);for(let s=0;s<n;s++)e[s]=t.codePointAt(s);return e},Vd=typeof TextEncoder<"u"?new TextEncoder:null,$5=Vd?l=>Vd.encode(l):G5;let e0=typeof TextDecoder>"u"?null:new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});e0&&e0.decode(new Uint8Array).length===1&&(e0=null);class Kd{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}}const t0=()=>new Kd,Y5=l=>{let t=l.cpos;for(let n=0;n<l.bufs.length;n++)t+=l.bufs[n].length;return t},na=l=>{const t=new Uint8Array(Y5(l));let n=0;for(let e=0;e<l.bufs.length;e++){const s=l.bufs[e];t.set(s,n),n+=s.length}return t.set(new Uint8Array(l.cbuf.buffer,0,l.cpos),n),t},Z5=(l,t)=>{const n=l.cbuf.length;n-l.cpos<t&&(l.bufs.push(new Uint8Array(l.cbuf.buffer,0,l.cpos)),l.cbuf=new Uint8Array(au(n,t)*2),l.cpos=0)},So=(l,t)=>{const n=l.cbuf.length;l.cpos===n&&(l.bufs.push(l.cbuf),l.cbuf=new Uint8Array(n*2),l.cpos=0),l.cbuf[l.cpos++]=t},n0=So,Or=(l,t)=>{for(;t>Jd;)So(l,bh|Jd&t),t=Ul(t/128);So(l,Jd&t)},r0=(l,t)=>{const n=B5(t);for(n&&(t=-t),So(l,(t>KS?bh:0)|(n?VS:0)|KS&t),t=Ul(t/64);t>0;)So(l,(t>Jd?bh:0)|Jd&t),t=Ul(t/128)},o0=new Uint8Array(3e4),Q5=o0.length/3,X5=(l,t)=>{if(t.length<Q5){const n=Vd.encodeInto(t,o0).written||0;Or(l,n);for(let e=0;e<n;e++)So(l,o0[e])}else Ci(l,$5(t))},eM=(l,t)=>{const n=unescape(encodeURIComponent(t)),e=n.length;Or(l,e);for(let s=0;s<e;s++)So(l,n.codePointAt(s))},lu=Vd&&Vd.encodeInto?X5:eM,i0=(l,t)=>{const n=l.cbuf.length,e=l.cpos,s=qS(n-e,t.length),r=t.length-s;l.cbuf.set(t.subarray(0,s),e),l.cpos+=s,r>0&&(l.bufs.push(l.cbuf),l.cbuf=new Uint8Array(au(n*2,r)),l.cbuf.set(t.subarray(s)),l.cpos=r)},Ci=(l,t)=>{Or(l,t.byteLength),i0(l,t)},s0=(l,t)=>{Z5(l,t);const n=new DataView(l.cbuf.buffer,l.cpos,t);return l.cpos+=t,n},tM=(l,t)=>s0(l,4).setFloat32(0,t,!1),nM=(l,t)=>s0(l,8).setFloat64(0,t,!1),rM=(l,t)=>s0(l,8).setBigInt64(0,t,!1),$S=new DataView(new ArrayBuffer(4)),oM=l=>($S.setFloat32(0,l),$S.getFloat32(0)===l),Gd=(l,t)=>{switch(typeof t){case"string":So(l,119),lu(l,t);break;case"number":q5(t)&&vh(t)<=H5?(So(l,125),r0(l,t)):oM(t)?(So(l,124),tM(l,t)):(So(l,123),nM(l,t));break;case"bigint":So(l,122),rM(l,t);break;case"object":if(t===null)So(l,126);else if(L5(t)){So(l,117),Or(l,t.length);for(let n=0;n<t.length;n++)Gd(l,t[n])}else if(t instanceof Uint8Array)So(l,116),Ci(l,t);else{So(l,118);const n=Object.keys(t);Or(l,n.length);for(let e=0;e<n.length;e++){const s=n[e];lu(l,s),Gd(l,t[s])}}break;case"boolean":So(l,t?120:121);break;default:So(l,127)}};class YS extends Kd{constructor(t){super(),this.w=t,this.s=null,this.count=0}write(t){this.s===t?this.count++:(this.count>0&&Or(this,this.count-1),this.count=1,this.w(this,t),this.s=t)}}const ZS=l=>{l.count>0&&(r0(l.encoder,l.count===1?l.s:-l.s),l.count>1&&Or(l.encoder,l.count-2))};class _h{constructor(){this.encoder=new Kd,this.s=0,this.count=0}write(t){this.s===t?this.count++:(ZS(this),this.count=1,this.s=t)}toUint8Array(){return ZS(this),na(this.encoder)}}const QS=l=>{if(l.count>0){const t=l.diff*2+(l.count===1?0:1);r0(l.encoder,t),l.count>1&&Or(l.encoder,l.count-2)}};class a0{constructor(){this.encoder=new Kd,this.s=0,this.count=0,this.diff=0}write(t){this.diff===t-this.s?(this.s=t,this.count++):(QS(this),this.count=1,this.diff=t-this.s,this.s=t)}toUint8Array(){return QS(this),na(this.encoder)}}class iM{constructor(){this.sarr=[],this.s="",this.lensE=new _h}write(t){this.s+=t,this.s.length>19&&(this.sarr.push(this.s),this.s=""),this.lensE.write(t.length)}toUint8Array(){const t=new Kd;return this.sarr.push(this.s),this.s="",lu(t,this.sarr.join("")),i0(t,this.lensE.toUint8Array()),na(t)}}const cu=l=>new Error(l),Cs=()=>{throw cu("Method unimplemented")},Hl=()=>{throw cu("Unexpected case")},sM=crypto.getRandomValues.bind(crypto),XS=()=>sM(new Uint32Array(1))[0],aM=[1e7]+-1e3+-4e3+-8e3+-1e11,lM=()=>aM.replace(/[018]/g,l=>(l^XS()&15>>l/4).toString(16)),eE=l=>new Promise(l);Promise.all.bind(Promise);const tE=l=>l===void 0?null:l;class cM{constructor(){this.map=new Map}setItem(t,n){this.map.set(t,n)}getItem(t){return this.map.get(t)}}let nE=new cM,uM=!0;try{typeof localStorage<"u"&&localStorage&&(nE=localStorage,uM=!1)}catch{}const dM=nE,fM=Object.assign,pM=Object.keys,hM=(l,t)=>{for(const n in l)t(l[n],n)},rE=l=>pM(l).length,gM=l=>{for(const t in l)return!1;return!0},mM=(l,t)=>{for(const n in l)if(!t(l[n],n))return!1;return!0},yM=(l,t)=>Object.prototype.hasOwnProperty.call(l,t),vM=(l,t)=>l===t||rE(l)===rE(t)&&mM(l,(n,e)=>(n!==void 0||yM(t,e))&&t[e]===n),l0=(l,t,n=0)=>{try{for(;n<l.length;n++)l[n](...t)}finally{n<l.length&&l0(l,t,n+1)}},bM=(l,t)=>t.includes(l),$d=typeof process<"u"&&process.release&&/node|io\.js/.test(process.release.name)&&Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]";let js;const _M=()=>{if(js===void 0)if($d){js=Es();const l=process.argv;let t=null;for(let n=0;n<l.length;n++){const e=l[n];e[0]==="-"?(t!==null&&js.set(t,""),t=e):t!==null&&(js.set(t,e),t=null)}t!==null&&js.set(t,"")}else typeof location=="object"?(js=Es(),(location.search||"?").slice(1).split("&").forEach(l=>{if(l.length!==0){const[t,n]=l.split("=");js.set(`--${GS(t,"-")}`,n),js.set(`-${GS(t,"-")}`,n)}})):js=Es();return js},c0=l=>_M().has(l),u0=l=>tE($d?process.env[l.toUpperCase().replaceAll("-","_")]:dM.getItem(l)),oE=l=>c0("--"+l)||u0(l)!==null;oE("production");const wM=$d&&bM(process.env.FORCE_COLOR,["true","1","2"])||!c0("--no-colors")&&!oE("no-color")&&(!$d||process.stdout.isTTY)&&(!$d||c0("--color")||u0("COLORTERM")!==null||(u0("TERM")||"").includes("color"));class xM{constructor(t,n){this.left=t,this.right=n}}const ra=(l,t)=>new xM(l,t);typeof DOMParser<"u"&&new DOMParser;const SM=l=>R5(l,(t,n)=>`${n}:${t};`).join(""),oa=Symbol,iE=oa(),sE=oa(),EM=oa(),CM=oa(),jM=oa(),aE=oa(),kM=oa(),lE=oa(),TM=oa(),AM=l=>{var s;l.length===1&&((s=l[0])==null?void 0:s.constructor)===Function&&(l=l[0]());const t=[],n=[];let e=0;for(;e<l.length;e++){const r=l[e];if(r===void 0)break;if(r.constructor===String||r.constructor===Number)t.push(r);else if(r.constructor===Object)break}for(e>0&&n.push(t.join(""));e<l.length;e++){const r=l[e];r instanceof Symbol||n.push(r)}return n},OM={[iE]:ra("font-weight","bold"),[sE]:ra("font-weight","normal"),[EM]:ra("color","blue"),[jM]:ra("color","green"),[CM]:ra("color","grey"),[aE]:ra("color","red"),[kM]:ra("color","purple"),[lE]:ra("color","orange"),[TM]:ra("color","black")},NM=wM?l=>{var o;l.length===1&&((o=l[0])==null?void 0:o.constructor)===Function&&(l=l[0]());const t=[],n=[],e=Es();let s=[],r=0;for(;r<l.length;r++){const a=l[r],c=OM[a];if(c!==void 0)e.set(c.left,c.right);else{if(a===void 0)break;if(a.constructor===String||a.constructor===Number){const i=SM(e);r>0||i.length>0?(t.push("%c"+a),n.push(i)):t.push(a)}else break}}for(r>0&&(s=n,s.unshift(t.join("")));r<l.length;r++){const a=l[r];a instanceof Symbol||s.push(a)}return s}:AM,PM=(...l)=>{console.log(...NM(l)),IM.forEach(t=>t.print(l))},IM=iu(),cE=l=>({[Symbol.iterator](){return this},next:l}),MM=(l,t)=>cE(()=>{let n;do n=l.next();while(!n.done&&!t(n.value));return n}),d0=(l,t)=>cE(()=>{const{done:n,value:e}=l.next();return{done:n,value:n?void 0:t(e)}});class RM{constructor(t,n){this.clock=t,this.len=n}}class DM{constructor(){this.clients=new Map}}const uE=(l,t,n)=>t.clients.forEach((e,s)=>{const r=l.doc.store.clients.get(s);for(let o=0;o<e.length;o++){const a=e[o];wE(l,r,a.clock,a.len,n)}}),LM=(l,t)=>{let n=0,e=l.length-1;for(;n<=e;){const s=Ul((n+e)/2),r=l[s],o=r.clock;if(o<=t){if(t<o+r.len)return s;n=s+1}else e=s-1}return null},dE=(l,t)=>{const n=l.clients.get(t.client);return n!==void 0&&LM(n,t.clock)!==null},fE=l=>{l.clients.forEach(t=>{t.sort((s,r)=>s.clock-r.clock);let n,e;for(n=1,e=1;n<t.length;n++){const s=t[e-1],r=t[n];s.clock+s.len>=r.clock?s.len=au(s.len,r.clock+r.len-s.clock):(e<n&&(t[e]=r),e++)}t.length=e})},pE=(l,t,n,e)=>{ou(l.clients,t,()=>[]).push(new RM(n,e))},FM=(l,t)=>{Or(l.restEncoder,t.clients.size),su(t.clients.entries()).sort((n,e)=>e[0]-n[0]).forEach(([n,e])=>{l.resetDsCurVal(),Or(l.restEncoder,n);const s=e.length;Or(l.restEncoder,s);for(let r=0;r<s;r++){const o=e[r];l.writeDsClock(o.clock),l.writeDsLen(o.len)}})},hE=XS;class Yd extends F5{constructor({guid:t=lM(),collectionid:n=null,gc:e=!0,gcFilter:s=()=>!0,meta:r=null,autoLoad:o=!1,shouldLoad:a=!0}={}){super(),this.gc=e,this.gcFilter=s,this.clientID=hE(),this.guid=t,this.collectionid=n,this.share=new Map,this.store=new GM,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=a,this.autoLoad=o,this.meta=r,this.isLoaded=!1,this.isSynced=!1,this.whenLoaded=eE(i=>{this.on("load",()=>{this.isLoaded=!0,i(this)})});const c=()=>eE(i=>{const u=d=>{(d===void 0||d===!0)&&(this.off("sync",u),i())};this.on("sync",u)});this.on("sync",i=>{i===!1&&this.isSynced&&(this.whenSynced=c()),this.isSynced=i===void 0||i===!0,this.isSynced&&!this.isLoaded&&this.emit("load",[this])}),this.whenSynced=c()}load(){const t=this._item;t!==null&&!this.shouldLoad&&Fr(t.parent.doc,n=>{n.subdocsLoaded.add(this)},null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(su(this.subdocs).map(t=>t.guid))}transact(t,n=null){return Fr(this,t,n)}get(t,n=Mo){const e=ou(this.share,t,()=>{const r=new n;return r._integrate(this,null),r}),s=e.constructor;if(n!==Mo&&s!==n)if(s===Mo){const r=new n;r._map=e._map,e._map.forEach(o=>{for(;o!==null;o=o.left)o.parent=r}),r._start=e._start;for(let o=r._start;o!==null;o=o.right)o.parent=r;return r._length=e._length,this.share.set(t,r),r._integrate(this,null),r}else throw new Error(`Type with the name ${t} has already been defined with a different constructor`);return e}getArray(t=""){return this.get(t,ql)}getText(t=""){return this.get(t,Nh)}getMap(t=""){return this.get(t,du)}getXmlElement(t=""){return this.get(t,Xd)}getXmlFragment(t=""){return this.get(t,pu)}toJSON(){const t={};return this.share.forEach((n,e)=>{t[e]=n.toJSON()}),t}destroy(){su(this.subdocs).forEach(n=>n.destroy());const t=this._item;if(t!==null){this._item=null;const n=t.content;n.doc=new Yd({guid:this.guid,...n.opts,shouldLoad:!1}),n.doc._item=t,Fr(t.parent.doc,e=>{const s=n.doc;t.deleted||e.subdocsAdded.add(s),e.subdocsRemoved.add(this)},null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}}class BM{constructor(){this.restEncoder=t0()}toUint8Array(){return na(this.restEncoder)}resetDsCurVal(){}writeDsClock(t){Or(this.restEncoder,t)}writeDsLen(t){Or(this.restEncoder,t)}}class zM extends BM{writeLeftID(t){Or(this.restEncoder,t.client),Or(this.restEncoder,t.clock)}writeRightID(t){Or(this.restEncoder,t.client),Or(this.restEncoder,t.clock)}writeClient(t){Or(this.restEncoder,t)}writeInfo(t){n0(this.restEncoder,t)}writeString(t){lu(this.restEncoder,t)}writeParentInfo(t){Or(this.restEncoder,t?1:0)}writeTypeRef(t){Or(this.restEncoder,t)}writeLen(t){Or(this.restEncoder,t)}writeAny(t){Gd(this.restEncoder,t)}writeBuf(t){Ci(this.restEncoder,t)}writeJSON(t){lu(this.restEncoder,JSON.stringify(t))}writeKey(t){lu(this.restEncoder,t)}}class UM{constructor(){this.restEncoder=t0(),this.dsCurrVal=0}toUint8Array(){return na(this.restEncoder)}resetDsCurVal(){this.dsCurrVal=0}writeDsClock(t){const n=t-this.dsCurrVal;this.dsCurrVal=t,Or(this.restEncoder,n)}writeDsLen(t){t===0&&Hl(),Or(this.restEncoder,t-1),this.dsCurrVal+=t}}class HM extends UM{constructor(){super(),this.keyMap=new Map,this.keyClock=0,this.keyClockEncoder=new a0,this.clientEncoder=new _h,this.leftClockEncoder=new a0,this.rightClockEncoder=new a0,this.infoEncoder=new YS(n0),this.stringEncoder=new iM,this.parentInfoEncoder=new YS(n0),this.typeRefEncoder=new _h,this.lenEncoder=new _h}toUint8Array(){const t=t0();return Or(t,0),Ci(t,this.keyClockEncoder.toUint8Array()),Ci(t,this.clientEncoder.toUint8Array()),Ci(t,this.leftClockEncoder.toUint8Array()),Ci(t,this.rightClockEncoder.toUint8Array()),Ci(t,na(this.infoEncoder)),Ci(t,this.stringEncoder.toUint8Array()),Ci(t,na(this.parentInfoEncoder)),Ci(t,this.typeRefEncoder.toUint8Array()),Ci(t,this.lenEncoder.toUint8Array()),i0(t,na(this.restEncoder)),na(t)}writeLeftID(t){this.clientEncoder.write(t.client),this.leftClockEncoder.write(t.clock)}writeRightID(t){this.clientEncoder.write(t.client),this.rightClockEncoder.write(t.clock)}writeClient(t){this.clientEncoder.write(t)}writeInfo(t){this.infoEncoder.write(t)}writeString(t){this.stringEncoder.write(t)}writeParentInfo(t){this.parentInfoEncoder.write(t?1:0)}writeTypeRef(t){this.typeRefEncoder.write(t)}writeLen(t){this.lenEncoder.write(t)}writeAny(t){Gd(this.restEncoder,t)}writeBuf(t){Ci(this.restEncoder,t)}writeJSON(t){Gd(this.restEncoder,t)}writeKey(t){const n=this.keyMap.get(t);n===void 0?(this.keyClockEncoder.write(this.keyClock++),this.stringEncoder.write(t)):this.keyClockEncoder.write(n)}}const qM=(l,t,n,e)=>{e=au(e,t[0].id.clock);const s=ia(t,e);Or(l.restEncoder,t.length-s),l.writeClient(n),Or(l.restEncoder,e);const r=t[s];r.write(l,e-r.id.clock);for(let o=s+1;o<t.length;o++)t[o].write(l,0)},WM=(l,t,n)=>{const e=new Map;n.forEach((s,r)=>{di(t,r)>s&&e.set(r,s)}),p0(t).forEach((s,r)=>{n.has(r)||e.set(r,0)}),Or(l.restEncoder,e.size),su(e.entries()).sort((s,r)=>r[0]-s[0]).forEach(([s,r])=>{qM(l,t.clients.get(s),s,r)})},JM=(l,t)=>WM(l,t.doc.store,t.beforeState);class VM{constructor(){this.l=[]}}const gE=()=>new VM,mE=(l,t)=>l.l.push(t),yE=(l,t)=>{const n=l.l,e=n.length;l.l=n.filter(s=>t!==s),e===l.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},vE=(l,t,n)=>l0(l.l,[t,n]);class wh{constructor(t,n){this.client=t,this.clock=n}}const xh=(l,t)=>l===t||l!==null&&t!==null&&l.client===t.client&&l.clock===t.clock,Qr=(l,t)=>new wh(l,t),KM=l=>{for(const[t,n]of l.doc.share.entries())if(n===l)return t;throw Hl()},uu=(l,t)=>t===void 0?!l.deleted:t.sv.has(l.id.client)&&(t.sv.get(l.id.client)||0)>l.id.clock&&!dE(t.ds,l.id),f0=(l,t)=>{const n=ou(l.meta,f0,iu),e=l.doc.store;n.has(t)||(t.sv.forEach((s,r)=>{s<di(e,r)&&Va(l,Qr(r,s))}),uE(l,t.ds,s=>{}),n.add(t))};class GM{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}}const p0=l=>{const t=new Map;return l.clients.forEach((n,e)=>{const s=n[n.length-1];t.set(e,s.id.clock+s.length)}),t},di=(l,t)=>{const n=l.clients.get(t);if(n===void 0)return 0;const e=n[n.length-1];return e.id.clock+e.length},bE=(l,t)=>{let n=l.clients.get(t.id.client);if(n===void 0)n=[],l.clients.set(t.id.client,n);else{const e=n[n.length-1];if(e.id.clock+e.length!==t.id.clock)throw Hl()}n.push(t)},ia=(l,t)=>{let n=0,e=l.length-1,s=l[e],r=s.id.clock;if(r===t)return e;let o=Ul(t/(r+s.length-1)*e);for(;n<=e;){if(s=l[o],r=s.id.clock,r<=t){if(t<r+s.length)return o;n=o+1}else e=o-1;o=Ul((n+e)/2)}throw Hl()},h0=(l,t)=>{const n=l.clients.get(t.client);return n[ia(n,t.clock)]},g0=(l,t,n)=>{const e=ia(t,n),s=t[e];return s.id.clock<n&&s instanceof Wo?(t.splice(e+1,0,VE(l,s,n-s.id.clock)),e+1):e},Va=(l,t)=>{const n=l.doc.store.clients.get(t.client);return n[g0(l,n,t.clock)]},_E=(l,t,n)=>{const e=t.clients.get(n.client),s=ia(e,n.clock),r=e[s];return n.clock!==r.id.clock+r.length-1&&r.constructor!==Ga&&e.splice(s+1,0,VE(l,r,n.clock-r.id.clock+1)),r},$M=(l,t,n)=>{const e=l.clients.get(t.id.client);e[ia(e,t.id.clock)]=n},wE=(l,t,n,e,s)=>{if(e===0)return;const r=n+e;let o=g0(l,t,n),a;do a=t[o++],r<a.id.clock+a.length&&g0(l,t,r),s(a);while(o<t.length&&t[o].id.clock<r)};class YM{constructor(t,n,e){this.doc=t,this.deleteSet=new DM,this.beforeState=p0(t.store),this.afterState=new Map,this.changed=new Map,this.changedParentTypes=new Map,this._mergeStructs=[],this.origin=n,this.meta=new Map,this.local=e,this.subdocsAdded=new Set,this.subdocsRemoved=new Set,this.subdocsLoaded=new Set,this._needFormattingCleanup=!1}}const xE=(l,t)=>t.deleteSet.clients.size===0&&!D5(t.afterState,(n,e)=>t.beforeState.get(e)!==n)?!1:(fE(t.deleteSet),JM(l,t),FM(l,t.deleteSet),!0),SE=(l,t,n)=>{const e=t._item;(e===null||e.id.clock<(l.beforeState.get(e.id.client)||0)&&!e.deleted)&&ou(l.changed,t,iu).add(n)},Sh=(l,t)=>{let n=l[t],e=l[t-1],s=t;for(;s>0;n=e,e=l[--s-1]){if(e.deleted===n.deleted&&e.constructor===n.constructor&&e.mergeWith(n)){n instanceof Wo&&n.parentSub!==null&&n.parent._map.get(n.parentSub)===n&&n.parent._map.set(n.parentSub,e);continue}break}const r=t-s;return r&&l.splice(t+1-r,r),r},ZM=(l,t,n)=>{for(const[e,s]of l.clients.entries()){const r=t.clients.get(e);for(let o=s.length-1;o>=0;o--){const a=s[o],c=a.clock+a.len;for(let i=ia(r,a.clock),u=r[i];i<r.length&&u.id.clock<c;u=r[++i]){const d=r[i];if(a.clock+a.len<=d.id.clock)break;d instanceof Wo&&d.deleted&&!d.keep&&n(d)&&d.gc(t,!1)}}}},QM=(l,t)=>{l.clients.forEach((n,e)=>{const s=t.clients.get(e);for(let r=n.length-1;r>=0;r--){const o=n[r],a=qS(s.length-1,1+ia(s,o.clock+o.len-1));for(let c=a,i=s[c];c>0&&i.id.clock>=o.clock;i=s[c])c-=1+Sh(s,c)}})},EE=(l,t)=>{if(t<l.length){const n=l[t],e=n.doc,s=e.store,r=n.deleteSet,o=n._mergeStructs;try{fE(r),n.afterState=p0(n.doc.store),e.emit("beforeObserverCalls",[n,e]);const a=[];n.changed.forEach((c,i)=>a.push(()=>{(i._item===null||!i._item.deleted)&&i._callObserver(n,c)})),a.push(()=>{n.changedParentTypes.forEach((c,i)=>{i._dEH.l.length>0&&(i._item===null||!i._item.deleted)&&(c=c.filter(u=>u.target._item===null||!u.target._item.deleted),c.forEach(u=>{u.currentTarget=i,u._path=null}),c.sort((u,d)=>u.path.length-d.path.length),vE(i._dEH,c,n))})}),a.push(()=>e.emit("afterTransaction",[n,e])),l0(a,[]),n._needFormattingCleanup&&c3(n)}finally{e.gc&&ZM(r,s,e.gcFilter),QM(r,s),n.afterState.forEach((u,d)=>{const f=n.beforeState.get(d)||0;if(f!==u){const p=s.clients.get(d),h=au(ia(p,f),1);for(let m=p.length-1;m>=h;)m-=1+Sh(p,m)}});for(let u=o.length-1;u>=0;u--){const{client:d,clock:f}=o[u].id,p=s.clients.get(d),h=ia(p,f);h+1<p.length&&Sh(p,h+1)>1||h>0&&Sh(p,h)}if(!n.local&&n.afterState.get(e.clientID)!==n.beforeState.get(e.clientID)&&(PM(lE,iE,"[yjs] ",sE,aE,"Changed the client-id because another client seems to be using it."),e.clientID=hE()),e.emit("afterTransactionCleanup",[n,e]),e._observers.has("update")){const u=new zM;xE(u,n)&&e.emit("update",[u.toUint8Array(),n.origin,e,n])}if(e._observers.has("updateV2")){const u=new HM;xE(u,n)&&e.emit("updateV2",[u.toUint8Array(),n.origin,e,n])}const{subdocsAdded:a,subdocsLoaded:c,subdocsRemoved:i}=n;(a.size>0||i.size>0||c.size>0)&&(a.forEach(u=>{u.clientID=e.clientID,u.collectionid==null&&(u.collectionid=e.collectionid),e.subdocs.add(u)}),i.forEach(u=>e.subdocs.delete(u)),e.emit("subdocs",[{loaded:c,added:a,removed:i},e,n]),i.forEach(u=>u.destroy())),l.length<=t+1?(e._transactionCleanups=[],e.emit("afterAllTransactions",[e,l])):EE(l,t+1)}}},Fr=(l,t,n=null,e=!0)=>{const s=l._transactionCleanups;let r=!1,o=null;l._transaction===null&&(r=!0,l._transaction=new YM(l,n,e),s.push(l._transaction),s.length===1&&l.emit("beforeAllTransactions",[l]),l.emit("beforeTransaction",[l._transaction,l]));try{o=t(l._transaction)}finally{if(r){const a=l._transaction===s[0];l._transaction=null,a&&EE(s,0)}}return o},CE="You must not compute changes after the event-handler fired.";class Eh{constructor(t,n){this.target=t,this.currentTarget=t,this.transaction=n,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||(this._path=XM(this.currentTarget,this.target))}deletes(t){return dE(this.transaction.deleteSet,t.id)}get keys(){if(this._keys===null){if(this.transaction.doc._transactionCleanups.length===0)throw cu(CE);const t=new Map,n=this.target;this.transaction.changed.get(n).forEach(s=>{if(s!==null){const r=n._map.get(s);let o,a;if(this.adds(r)){let c=r.left;for(;c!==null&&this.adds(c);)c=c.left;if(this.deletes(r))if(c!==null&&this.deletes(c))o="delete",a=Zy(c.content.getContent());else return;else c!==null&&this.deletes(c)?(o="update",a=Zy(c.content.getContent())):(o="add",a=void 0)}else if(this.deletes(r))o="delete",a=Zy(r.content.getContent());else return;t.set(s,{action:o,oldValue:a})}}),this._keys=t}return this._keys}get delta(){return this.changes.delta}adds(t){return t.id.clock>=(this.transaction.beforeState.get(t.id.client)||0)}get changes(){let t=this._changes;if(t===null){if(this.transaction.doc._transactionCleanups.length===0)throw cu(CE);const n=this.target,e=iu(),s=iu(),r=[];if(t={added:e,deleted:s,delta:r,keys:this.keys},this.transaction.changed.get(n).has(null)){let a=null;const c=()=>{a&&r.push(a)};for(let i=n._start;i!==null;i=i.right)i.deleted?this.deletes(i)&&!this.adds(i)&&((a===null||a.delete===void 0)&&(c(),a={delete:0}),a.delete+=i.length,s.add(i)):this.adds(i)?((a===null||a.insert===void 0)&&(c(),a={insert:[]}),a.insert=a.insert.concat(i.content.getContent()),e.add(i)):((a===null||a.retain===void 0)&&(c(),a={retain:0}),a.retain+=i.length);a!==null&&a.retain===void 0&&c()}this._changes=t}return t}}const XM=(l,t)=>{const n=[];for(;t._item!==null&&t!==l;){if(t._item.parentSub!==null)n.unshift(t._item.parentSub);else{let e=0,s=t._item.parent._start;for(;s!==t._item&&s!==null;)s.deleted||e++,s=s.right;n.unshift(e)}t=t._item.parent}return n},jE=80;let m0=0;class e3{constructor(t,n){t.marker=!0,this.p=t,this.index=n,this.timestamp=m0++}}const t3=l=>{l.timestamp=m0++},kE=(l,t,n)=>{l.p.marker=!1,l.p=t,t.marker=!0,l.index=n,l.timestamp=m0++},n3=(l,t,n)=>{if(l.length>=jE){const e=l.reduce((s,r)=>s.timestamp<r.timestamp?s:r);return kE(e,t,n),e}else{const e=new e3(t,n);return l.push(e),e}},Ch=(l,t)=>{if(l._start===null||t===0||l._searchMarker===null)return null;const n=l._searchMarker.length===0?null:l._searchMarker.reduce((r,o)=>vh(t-r.index)<vh(t-o.index)?r:o);let e=l._start,s=0;for(n!==null&&(e=n.p,s=n.index,t3(n));e.right!==null&&s<t;){if(!e.deleted&&e.countable){if(t<s+e.length)break;s+=e.length}e=e.right}for(;e.left!==null&&s>t;)e=e.left,!e.deleted&&e.countable&&(s-=e.length);for(;e.left!==null&&e.left.id.client===e.id.client&&e.left.id.clock+e.left.length===e.id.clock;)e=e.left,!e.deleted&&e.countable&&(s-=e.length);return n!==null&&vh(n.index-s)<e.parent.length/jE?(kE(n,e,s),n):n3(l._searchMarker,e,s)},Zd=(l,t,n)=>{for(let e=l.length-1;e>=0;e--){const s=l[e];if(n>0){let r=s.p;for(r.marker=!1;r&&(r.deleted||!r.countable);)r=r.left,r&&!r.deleted&&r.countable&&(s.index-=r.length);if(r===null||r.marker===!0){l.splice(e,1);continue}s.p=r,r.marker=!0}(t<s.index||n>0&&t===s.index)&&(s.index=au(t,s.index+n))}},jh=(l,t,n)=>{const e=l,s=t.changedParentTypes;for(;ou(s,l,()=>[]).push(n),l._item!==null;)l=l._item.parent;vE(e._eH,n,t)};class Mo{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=gE(),this._dEH=gE(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(t,n){this.doc=t,this._item=n}_copy(){throw Cs()}clone(){throw Cs()}_write(t){}get _first(){let t=this._start;for(;t!==null&&t.deleted;)t=t.right;return t}_callObserver(t,n){!t.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(t){mE(this._eH,t)}observeDeep(t){mE(this._dEH,t)}unobserve(t){yE(this._eH,t)}unobserveDeep(t){yE(this._dEH,t)}toJSON(){}}const TE=(l,t,n)=>{t<0&&(t=l._length+t),n<0&&(n=l._length+n);let e=n-t;const s=[];let r=l._start;for(;r!==null&&e>0;){if(r.countable&&!r.deleted){const o=r.content.getContent();if(o.length<=t)t-=o.length;else{for(let a=t;a<o.length&&e>0;a++)s.push(o[a]),e--;t=0}}r=r.right}return s},AE=l=>{const t=[];let n=l._start;for(;n!==null;){if(n.countable&&!n.deleted){const e=n.content.getContent();for(let s=0;s<e.length;s++)t.push(e[s])}n=n.right}return t},Qd=(l,t)=>{let n=0,e=l._start;for(;e!==null;){if(e.countable&&!e.deleted){const s=e.content.getContent();for(let r=0;r<s.length;r++)t(s[r],n++,l)}e=e.right}},OE=(l,t)=>{const n=[];return Qd(l,(e,s)=>{n.push(t(e,s,l))}),n},r3=l=>{let t=l._start,n=null,e=0;return{[Symbol.iterator](){return this},next:()=>{if(n===null){for(;t!==null&&t.deleted;)t=t.right;if(t===null)return{done:!0,value:void 0};n=t.content.getContent(),e=0,t=t.right}const s=n[e++];return n.length<=e&&(n=null),{done:!1,value:s}}}},NE=(l,t)=>{const n=Ch(l,t);let e=l._start;for(n!==null&&(e=n.p,t-=n.index);e!==null;e=e.right)if(!e.deleted&&e.countable){if(t<e.length)return e.content.getContent()[t];t-=e.length}},kh=(l,t,n,e)=>{let s=n;const r=l.doc,o=r.clientID,a=r.store,c=n===null?t._start:n.right;let i=[];const u=()=>{i.length>0&&(s=new Wo(Qr(o,di(a,o)),s,s&&s.lastId,c,c&&c.id,t,null,new gu(i)),s.integrate(l,0),i=[])};e.forEach(d=>{if(d===null)i.push(d);else switch(d.constructor){case Number:case Object:case Boolean:case Array:case String:i.push(d);break;default:switch(u(),d.constructor){case Uint8Array:case ArrayBuffer:s=new Wo(Qr(o,di(a,o)),s,s&&s.lastId,c,c&&c.id,t,null,new Ph(new Uint8Array(d))),s.integrate(l,0);break;case Yd:s=new Wo(Qr(o,di(a,o)),s,s&&s.lastId,c,c&&c.id,t,null,new Mh(d)),s.integrate(l,0);break;default:if(d instanceof Mo)s=new Wo(Qr(o,di(a,o)),s,s&&s.lastId,c,c&&c.id,t,null,new $a(d)),s.integrate(l,0);else throw new Error("Unexpected content type in insert operation")}}}),u()},PE=()=>cu("Length exceeded!"),IE=(l,t,n,e)=>{if(n>t._length)throw PE();if(n===0)return t._searchMarker&&Zd(t._searchMarker,n,e.length),kh(l,t,null,e);const s=n,r=Ch(t,n);let o=t._start;for(r!==null&&(o=r.p,n-=r.index,n===0&&(o=o.prev,n+=o&&o.countable&&!o.deleted?o.length:0));o!==null;o=o.right)if(!o.deleted&&o.countable){if(n<=o.length){n<o.length&&Va(l,Qr(o.id.client,o.id.clock+n));break}n-=o.length}return t._searchMarker&&Zd(t._searchMarker,s,e.length),kh(l,t,o,e)},o3=(l,t,n)=>{let s=(t._searchMarker||[]).reduce((r,o)=>o.index>r.index?o:r,{index:0,p:t._start}).p;if(s)for(;s.right;)s=s.right;return kh(l,t,s,n)},ME=(l,t,n,e)=>{if(e===0)return;const s=n,r=e,o=Ch(t,n);let a=t._start;for(o!==null&&(a=o.p,n-=o.index);a!==null&&n>0;a=a.right)!a.deleted&&a.countable&&(n<a.length&&Va(l,Qr(a.id.client,a.id.clock+n)),n-=a.length);for(;e>0&&a!==null;)a.deleted||(e<a.length&&Va(l,Qr(a.id.client,a.id.clock+e)),a.delete(l),e-=a.length),a=a.right;if(e>0)throw PE();t._searchMarker&&Zd(t._searchMarker,s,-r+e)},Th=(l,t,n)=>{const e=t._map.get(n);e!==void 0&&e.delete(l)},y0=(l,t,n,e)=>{const s=t._map.get(n)||null,r=l.doc,o=r.clientID;let a;if(e==null)a=new gu([e]);else switch(e.constructor){case Number:case Object:case Boolean:case Array:case String:a=new gu([e]);break;case Uint8Array:a=new Ph(e);break;case Yd:a=new Mh(e);break;default:if(e instanceof Mo)a=new $a(e);else throw new Error("Unexpected content type")}new Wo(Qr(o,di(r.store,o)),s,s&&s.lastId,null,null,t,n,a).integrate(l,0)},v0=(l,t)=>{const n=l._map.get(t);return n!==void 0&&!n.deleted?n.content.getContent()[n.length-1]:void 0},RE=l=>{const t={};return l._map.forEach((n,e)=>{n.deleted||(t[e]=n.content.getContent()[n.length-1])}),t},DE=(l,t)=>{const n=l._map.get(t);return n!==void 0&&!n.deleted},i3=(l,t)=>{const n={};return l._map.forEach((e,s)=>{let r=e;for(;r!==null&&(!t.sv.has(r.id.client)||r.id.clock>=(t.sv.get(r.id.client)||0));)r=r.left;r!==null&&uu(r,t)&&(n[s]=r.content.getContent()[r.length-1])}),n},Ah=l=>MM(l.entries(),t=>!t[1].deleted);class LE extends Eh{constructor(t,n){super(t,n),this._transaction=n}}class ql extends Mo{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(t){const n=new ql;return n.push(t),n}_integrate(t,n){super._integrate(t,n),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new ql}clone(){const t=new ql;return t.insert(0,this.toArray().map(n=>n instanceof Mo?n.clone():n)),t}get length(){return this._prelimContent===null?this._length:this._prelimContent.length}_callObserver(t,n){super._callObserver(t,n),jh(this,t,new LE(this,t))}insert(t,n){this.doc!==null?Fr(this.doc,e=>{IE(e,this,t,n)}):this._prelimContent.splice(t,0,...n)}push(t){this.doc!==null?Fr(this.doc,n=>{o3(n,this,t)}):this._prelimContent.push(...t)}unshift(t){this.insert(0,t)}delete(t,n=1){this.doc!==null?Fr(this.doc,e=>{ME(e,this,t,n)}):this._prelimContent.splice(t,n)}get(t){return NE(this,t)}toArray(){return AE(this)}slice(t=0,n=this.length){return TE(this,t,n)}toJSON(){return this.map(t=>t instanceof Mo?t.toJSON():t)}map(t){return OE(this,t)}forEach(t){Qd(this,t)}[Symbol.iterator](){return r3(this)}_write(t){t.writeTypeRef(h3)}}class s3 extends Eh{constructor(t,n,e){super(t,n),this.keysChanged=e}}class du extends Mo{constructor(t){super(),this._prelimContent=null,t===void 0?this._prelimContent=new Map:this._prelimContent=new Map(t)}_integrate(t,n){super._integrate(t,n),this._prelimContent.forEach((e,s)=>{this.set(s,e)}),this._prelimContent=null}_copy(){return new du}clone(){const t=new du;return this.forEach((n,e)=>{t.set(e,n instanceof Mo?n.clone():n)}),t}_callObserver(t,n){jh(this,t,new s3(this,t,n))}toJSON(){const t={};return this._map.forEach((n,e)=>{if(!n.deleted){const s=n.content.getContent()[n.length-1];t[e]=s instanceof Mo?s.toJSON():s}}),t}get size(){return[...Ah(this._map)].length}keys(){return d0(Ah(this._map),t=>t[0])}values(){return d0(Ah(this._map),t=>t[1].content.getContent()[t[1].length-1])}entries(){return d0(Ah(this._map),t=>[t[0],t[1].content.getContent()[t[1].length-1]])}forEach(t){this._map.forEach((n,e)=>{n.deleted||t(n.content.getContent()[n.length-1],e,this)})}[Symbol.iterator](){return this.entries()}delete(t){this.doc!==null?Fr(this.doc,n=>{Th(n,this,t)}):this._prelimContent.delete(t)}set(t,n){return this.doc!==null?Fr(this.doc,e=>{y0(e,this,t,n)}):this._prelimContent.set(t,n),n}get(t){return v0(this,t)}has(t){return DE(this,t)}clear(){this.doc!==null?Fr(this.doc,t=>{this.forEach(function(n,e,s){Th(t,s,e)})}):this._prelimContent.clear()}_write(t){t.writeTypeRef(g3)}}const Ka=(l,t)=>l===t||typeof l=="object"&&typeof t=="object"&&l&&t&&vM(l,t);class b0{constructor(t,n,e,s){this.left=t,this.right=n,this.index=e,this.currentAttributes=s}forward(){switch(this.right===null&&Hl(),this.right.content.constructor){case Eo:this.right.deleted||fu(this.currentAttributes,this.right.content);break;default:this.right.deleted||(this.index+=this.right.length);break}this.left=this.right,this.right=this.right.right}}const FE=(l,t,n)=>{for(;t.right!==null&&n>0;){switch(t.right.content.constructor){case Eo:t.right.deleted||fu(t.currentAttributes,t.right.content);break;default:t.right.deleted||(n<t.right.length&&Va(l,Qr(t.right.id.client,t.right.id.clock+n)),t.index+=t.right.length,n-=t.right.length);break}t.left=t.right,t.right=t.right.right}return t},Oh=(l,t,n,e)=>{const s=new Map,r=e?Ch(t,n):null;if(r){const o=new b0(r.p.left,r.p,r.index,s);return FE(l,o,n-r.index)}else{const o=new b0(null,t._start,0,s);return FE(l,o,n)}},BE=(l,t,n,e)=>{for(;n.right!==null&&(n.right.deleted===!0||n.right.content.constructor===Eo&&Ka(e.get(n.right.content.key),n.right.content.value));)n.right.deleted||e.delete(n.right.content.key),n.forward();const s=l.doc,r=s.clientID;e.forEach((o,a)=>{const c=n.left,i=n.right,u=new Wo(Qr(r,di(s.store,r)),c,c&&c.lastId,i,i&&i.id,t,null,new Eo(a,o));u.integrate(l,0),n.right=u,n.forward()})},fu=(l,t)=>{const{key:n,value:e}=t;e===null?l.delete(n):l.set(n,e)},zE=(l,t)=>{for(;l.right!==null;){if(!(l.right.deleted||l.right.content.constructor===Eo&&Ka(t[l.right.content.key]??null,l.right.content.value)))break;l.forward()}},UE=(l,t,n,e)=>{const s=l.doc,r=s.clientID,o=new Map;for(const a in e){const c=e[a],i=n.currentAttributes.get(a)??null;if(!Ka(i,c)){o.set(a,i);const{left:u,right:d}=n;n.right=new Wo(Qr(r,di(s.store,r)),u,u&&u.lastId,d,d&&d.id,t,null,new Eo(a,c)),n.right.integrate(l,0),n.forward()}}return o},_0=(l,t,n,e,s)=>{n.currentAttributes.forEach((f,p)=>{s[p]===void 0&&(s[p]=null)});const r=l.doc,o=r.clientID;zE(n,s);const a=UE(l,t,n,s),c=e.constructor===String?new sa(e):e instanceof Mo?new $a(e):new hu(e);let{left:i,right:u,index:d}=n;t._searchMarker&&Zd(t._searchMarker,n.index,c.getLength()),u=new Wo(Qr(o,di(r.store,o)),i,i&&i.lastId,u,u&&u.id,t,null,c),u.integrate(l,0),n.right=u,n.index=d,n.forward(),BE(l,t,n,a)},HE=(l,t,n,e,s)=>{const r=l.doc,o=r.clientID;zE(n,s);const a=UE(l,t,n,s);e:for(;n.right!==null&&(e>0||a.size>0&&(n.right.deleted||n.right.content.constructor===Eo));){if(!n.right.deleted)switch(n.right.content.constructor){case Eo:{const{key:c,value:i}=n.right.content,u=s[c];if(u!==void 0){if(Ka(u,i))a.delete(c);else{if(e===0)break e;a.set(c,i)}n.right.delete(l)}else n.currentAttributes.set(c,i);break}default:e<n.right.length&&Va(l,Qr(n.right.id.client,n.right.id.clock+e)),e-=n.right.length;break}n.forward()}if(e>0){let c="";for(;e>0;e--)c+=`
1562
1544
  `;n.right=new Wo(Qr(o,di(r.store,o)),n.left,n.left&&n.left.lastId,n.right,n.right&&n.right.id,t,null,new sa(c)),n.right.integrate(l,0),n.forward()}BE(l,t,n,a)},qE=(l,t,n,e,s)=>{let r=t;const o=Es();for(;r&&(!r.countable||r.deleted);){if(!r.deleted&&r.content.constructor===Eo){const i=r.content;o.set(i.key,i)}r=r.right}let a=0,c=!1;for(;t!==r;){if(n===t&&(c=!0),!t.deleted){const i=t.content;switch(i.constructor){case Eo:{const{key:u,value:d}=i,f=e.get(u)??null;(o.get(u)!==i||f===d)&&(t.delete(l),a++,!c&&(s.get(u)??null)===d&&f!==d&&(f===null?s.delete(u):s.set(u,f))),!c&&!t.deleted&&fu(s,i);break}}}t=t.right}return a},a3=(l,t)=>{for(;t&&t.right&&(t.right.deleted||!t.right.countable);)t=t.right;const n=new Set;for(;t&&(t.deleted||!t.countable);){if(!t.deleted&&t.content.constructor===Eo){const e=t.content.key;n.has(e)?t.delete(l):n.add(e)}t=t.left}},l3=l=>{let t=0;return Fr(l.doc,n=>{let e=l._start,s=l._start,r=Es();const o=Yy(r);for(;s;){if(s.deleted===!1)switch(s.content.constructor){case Eo:fu(o,s.content);break;default:t+=qE(n,e,s,r,o),r=Yy(o),e=s;break}s=s.right}}),t},c3=l=>{const t=new Set,n=l.doc;for(const[e,s]of l.afterState.entries()){const r=l.beforeState.get(e)||0;s!==r&&wE(l,n.store.clients.get(e),r,s,o=>{!o.deleted&&o.content.constructor===Eo&&o.constructor!==Ga&&t.add(o.parent)})}Fr(n,e=>{uE(l,l.deleteSet,s=>{if(s instanceof Ga||!s.parent._hasFormatting||t.has(s.parent))return;const r=s.parent;s.content.constructor===Eo?t.add(r):a3(e,s)});for(const s of t)l3(s)})},WE=(l,t,n)=>{const e=n,s=Yy(t.currentAttributes),r=t.right;for(;n>0&&t.right!==null;){if(t.right.deleted===!1)switch(t.right.content.constructor){case $a:case hu:case sa:n<t.right.length&&Va(l,Qr(t.right.id.client,t.right.id.clock+n)),n-=t.right.length,t.right.delete(l);break}t.forward()}r&&qE(l,r,t.right,s,t.currentAttributes);const o=(t.left||t.right).parent;return o._searchMarker&&Zd(o._searchMarker,t.index,-e+n),t};class u3 extends Eh{constructor(t,n,e){super(t,n),this.childListChanged=!1,this.keysChanged=new Set,e.forEach(s=>{s===null?this.childListChanged=!0:this.keysChanged.add(s)})}get changes(){if(this._changes===null){const t={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=t}return this._changes}get delta(){if(this._delta===null){const t=this.target.doc,n=[];Fr(t,e=>{const s=new Map,r=new Map;let o=this.target._start,a=null;const c={};let i="",u=0,d=0;const f=()=>{if(a!==null){let p=null;switch(a){case"delete":d>0&&(p={delete:d}),d=0;break;case"insert":(typeof i=="object"||i.length>0)&&(p={insert:i},s.size>0&&(p.attributes={},s.forEach((h,m)=>{h!==null&&(p.attributes[m]=h)}))),i="";break;case"retain":u>0&&(p={retain:u},gM(c)||(p.attributes=fM({},c))),u=0;break}p&&n.push(p),a=null}};for(;o!==null;){switch(o.content.constructor){case $a:case hu:this.adds(o)?this.deletes(o)||(f(),a="insert",i=o.content.getContent()[0],f()):this.deletes(o)?(a!=="delete"&&(f(),a="delete"),d+=1):o.deleted||(a!=="retain"&&(f(),a="retain"),u+=1);break;case sa:this.adds(o)?this.deletes(o)||(a!=="insert"&&(f(),a="insert"),i+=o.content.str):this.deletes(o)?(a!=="delete"&&(f(),a="delete"),d+=o.length):o.deleted||(a!=="retain"&&(f(),a="retain"),u+=o.length);break;case Eo:{const{key:p,value:h}=o.content;if(this.adds(o)){if(!this.deletes(o)){const m=s.get(p)??null;Ka(m,h)?h!==null&&o.delete(e):(a==="retain"&&f(),Ka(h,r.get(p)??null)?delete c[p]:c[p]=h)}}else if(this.deletes(o)){r.set(p,h);const m=s.get(p)??null;Ka(m,h)||(a==="retain"&&f(),c[p]=m)}else if(!o.deleted){r.set(p,h);const m=c[p];m!==void 0&&(Ka(m,h)?m!==null&&o.delete(e):(a==="retain"&&f(),h===null?delete c[p]:c[p]=h))}o.deleted||(a==="insert"&&f(),fu(s,o.content));break}}o=o.right}for(f();n.length>0;){const p=n[n.length-1];if(p.retain!==void 0&&p.attributes===void 0)n.pop();else break}}),this._delta=n}return this._delta}}class Nh extends Mo{constructor(t){super(),this._pending=t!==void 0?[()=>this.insert(0,t)]:[],this._searchMarker=[],this._hasFormatting=!1}get length(){return this._length}_integrate(t,n){super._integrate(t,n);try{this._pending.forEach(e=>e())}catch(e){console.error(e)}this._pending=null}_copy(){return new Nh}clone(){const t=new Nh;return t.applyDelta(this.toDelta()),t}_callObserver(t,n){super._callObserver(t,n);const e=new u3(this,t,n);jh(this,t,e),!t.local&&this._hasFormatting&&(t._needFormattingCleanup=!0)}toString(){let t="",n=this._start;for(;n!==null;)!n.deleted&&n.countable&&n.content.constructor===sa&&(t+=n.content.str),n=n.right;return t}toJSON(){return this.toString()}applyDelta(t,{sanitize:n=!0}={}){this.doc!==null?Fr(this.doc,e=>{const s=new b0(null,this._start,0,new Map);for(let r=0;r<t.length;r++){const o=t[r];if(o.insert!==void 0){const a=!n&&typeof o.insert=="string"&&r===t.length-1&&s.right===null&&o.insert.slice(-1)===`
1563
- `?o.insert.slice(0,-1):o.insert;(typeof a!="string"||a.length>0)&&_0(e,this,s,a,o.attributes||{})}else o.retain!==void 0?HE(e,this,s,o.retain,o.attributes||{}):o.delete!==void 0&&WE(e,s,o.delete)}}):this._pending.push(()=>this.applyDelta(t))}toDelta(t,n,e){const s=[],r=new Map,o=this.doc;let a="",c=this._start;function i(){if(a.length>0){const d={};let f=!1;r.forEach((h,m)=>{f=!0,d[m]=h});const p={insert:a};f&&(p.attributes=d),s.push(p),a=""}}const u=()=>{for(;c!==null;){if(uu(c,t)||n!==void 0&&uu(c,n))switch(c.content.constructor){case sa:{const d=r.get("ychange");t!==void 0&&!uu(c,t)?(d===void 0||d.user!==c.id.client||d.type!=="removed")&&(i(),r.set("ychange",e?e("removed",c.id):{type:"removed"})):n!==void 0&&!uu(c,n)?(d===void 0||d.user!==c.id.client||d.type!=="added")&&(i(),r.set("ychange",e?e("added",c.id):{type:"added"})):d!==void 0&&(i(),r.delete("ychange")),a+=c.content.str;break}case $a:case hu:{i();const d={insert:c.content.getContent()[0]};if(r.size>0){const f={};d.attributes=f,r.forEach((p,h)=>{f[h]=p})}s.push(d);break}case Eo:uu(c,t)&&(i(),fu(r,c.content));break}c=c.right}i()};return t||n?Fr(o,d=>{t&&f0(d,t),n&&f0(d,n),u()},"cleanup"):u(),s}insert(t,n,e){if(n.length<=0)return;const s=this.doc;s!==null?Fr(s,r=>{const o=Oh(r,this,t,!e);e||(e={},o.currentAttributes.forEach((a,c)=>{e[c]=a})),_0(r,this,o,n,e)}):this._pending.push(()=>this.insert(t,n,e))}insertEmbed(t,n,e){const s=this.doc;s!==null?Fr(s,r=>{const o=Oh(r,this,t,!e);_0(r,this,o,n,e||{})}):this._pending.push(()=>this.insertEmbed(t,n,e||{}))}delete(t,n){if(n===0)return;const e=this.doc;e!==null?Fr(e,s=>{WE(s,Oh(s,this,t,!0),n)}):this._pending.push(()=>this.delete(t,n))}format(t,n,e){if(n===0)return;const s=this.doc;s!==null?Fr(s,r=>{const o=Oh(r,this,t,!1);o.right!==null&&HE(r,this,o,n,e)}):this._pending.push(()=>this.format(t,n,e))}removeAttribute(t){this.doc!==null?Fr(this.doc,n=>{Th(n,this,t)}):this._pending.push(()=>this.removeAttribute(t))}setAttribute(t,n){this.doc!==null?Fr(this.doc,e=>{y0(e,this,t,n)}):this._pending.push(()=>this.setAttribute(t,n))}getAttribute(t){return v0(this,t)}getAttributes(){return RE(this)}_write(t){t.writeTypeRef(m3)}}class w0{constructor(t,n=()=>!0){this._filter=n,this._root=t,this._currentNode=t._start,this._firstCall=!0}[Symbol.iterator](){return this}next(){let t=this._currentNode,n=t&&t.content&&t.content.type;if(t!==null&&(!this._firstCall||t.deleted||!this._filter(n)))do if(n=t.content.type,!t.deleted&&(n.constructor===Xd||n.constructor===pu)&&n._start!==null)t=n._start;else for(;t!==null;)if(t.right!==null){t=t.right;break}else t.parent===this._root?t=null:t=t.parent._item;while(t!==null&&(t.deleted||!this._filter(t.content.type)));return this._firstCall=!1,t===null?{value:void 0,done:!0}:(this._currentNode=t,{value:t.content.type,done:!1})}}class pu extends Mo{constructor(){super(),this._prelimContent=[]}get firstChild(){const t=this._first;return t?t.content.getContent()[0]:null}_integrate(t,n){super._integrate(t,n),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new pu}clone(){const t=new pu;return t.insert(0,this.toArray().map(n=>n instanceof Mo?n.clone():n)),t}get length(){return this._prelimContent===null?this._length:this._prelimContent.length}createTreeWalker(t){return new w0(this,t)}querySelector(t){t=t.toUpperCase();const e=new w0(this,s=>s.nodeName&&s.nodeName.toUpperCase()===t).next();return e.done?null:e.value}querySelectorAll(t){return t=t.toUpperCase(),su(new w0(this,n=>n.nodeName&&n.nodeName.toUpperCase()===t))}_callObserver(t,n){jh(this,t,new d3(this,n,t))}toString(){return OE(this,t=>t.toString()).join("")}toJSON(){return this.toString()}toDOM(t=document,n={},e){const s=t.createDocumentFragment();return e!==void 0&&e._createAssociation(s,this),Qd(this,r=>{s.insertBefore(r.toDOM(t,n,e),null)}),s}insert(t,n){this.doc!==null?Fr(this.doc,e=>{IE(e,this,t,n)}):this._prelimContent.splice(t,0,...n)}insertAfter(t,n){if(this.doc!==null)Fr(this.doc,e=>{const s=t&&t instanceof Mo?t._item:t;kh(e,this,s,n)});else{const e=this._prelimContent,s=t===null?0:e.findIndex(r=>r===t)+1;if(s===0&&t!==null)throw cu("Reference item not found");e.splice(s,0,...n)}}delete(t,n=1){this.doc!==null?Fr(this.doc,e=>{ME(e,this,t,n)}):this._prelimContent.splice(t,n)}toArray(){return AE(this)}push(t){this.insert(this.length,t)}unshift(t){this.insert(0,t)}get(t){return NE(this,t)}slice(t=0,n=this.length){return TE(this,t,n)}forEach(t){Qd(this,t)}_write(t){t.writeTypeRef(v3)}}class Xd extends pu{constructor(t="UNDEFINED"){super(),this.nodeName=t,this._prelimAttrs=new Map}get nextSibling(){const t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){const t=this._item?this._item.prev:null;return t?t.content.type:null}_integrate(t,n){super._integrate(t,n),this._prelimAttrs.forEach((e,s)=>{this.setAttribute(s,e)}),this._prelimAttrs=null}_copy(){return new Xd(this.nodeName)}clone(){const t=new Xd(this.nodeName),n=this.getAttributes();return hM(n,(e,s)=>{typeof e=="string"&&t.setAttribute(s,e)}),t.insert(0,this.toArray().map(e=>e instanceof Mo?e.clone():e)),t}toString(){const t=this.getAttributes(),n=[],e=[];for(const a in t)e.push(a);e.sort();const s=e.length;for(let a=0;a<s;a++){const c=e[a];n.push(c+'="'+t[c]+'"')}const r=this.nodeName.toLocaleLowerCase(),o=n.length>0?" "+n.join(" "):"";return`<${r}${o}>${super.toString()}</${r}>`}removeAttribute(t){this.doc!==null?Fr(this.doc,n=>{Th(n,this,t)}):this._prelimAttrs.delete(t)}setAttribute(t,n){this.doc!==null?Fr(this.doc,e=>{y0(e,this,t,n)}):this._prelimAttrs.set(t,n)}getAttribute(t){return v0(this,t)}hasAttribute(t){return DE(this,t)}getAttributes(t){return t?i3(this,t):RE(this)}toDOM(t=document,n={},e){const s=t.createElement(this.nodeName),r=this.getAttributes();for(const o in r){const a=r[o];typeof a=="string"&&s.setAttribute(o,a)}return Qd(this,o=>{s.appendChild(o.toDOM(t,n,e))}),e!==void 0&&e._createAssociation(s,this),s}_write(t){t.writeTypeRef(y3),t.writeKey(this.nodeName)}}class d3 extends Eh{constructor(t,n,e){super(t,e),this.childListChanged=!1,this.attributesChanged=new Set,n.forEach(s=>{s===null?this.childListChanged=!0:this.attributesChanged.add(s)})}}class JE{constructor(t,n){this.id=t,this.length=n}get deleted(){throw Cs()}mergeWith(t){return!1}write(t,n,e){throw Cs()}integrate(t,n){throw Cs()}}const f3=0;class Ga extends JE{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor!==t.constructor?!1:(this.length+=t.length,!0)}integrate(t,n){n>0&&(this.id.clock+=n,this.length-=n),bE(t.doc.store,this)}write(t,n){t.writeInfo(f3),t.writeLen(this.length-n)}getMissing(t,n){return null}}class Ph{constructor(t){this.content=t}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new Ph(this.content)}splice(t){throw Cs()}mergeWith(t){return!1}integrate(t,n){}delete(t){}gc(t){}write(t,n){t.writeBuf(this.content)}getRef(){return 3}}class Ih{constructor(t){this.len=t}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new Ih(this.len)}splice(t){const n=new Ih(this.len-t);return this.len=t,n}mergeWith(t){return this.len+=t.len,!0}integrate(t,n){pE(t.deleteSet,n.id.client,n.id.clock,this.len),n.markDeleted()}delete(t){}gc(t){}write(t,n){t.writeLen(this.len-n)}getRef(){return 1}}const p3=(l,t)=>new Yd({guid:l,...t,shouldLoad:t.shouldLoad||t.autoLoad||!1});class Mh{constructor(t){t._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=t;const n={};this.opts=n,t.gc||(n.gc=!1),t.autoLoad&&(n.autoLoad=!0),t.meta!==null&&(n.meta=t.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new Mh(p3(this.doc.guid,this.opts))}splice(t){throw Cs()}mergeWith(t){return!1}integrate(t,n){this.doc._item=n,t.subdocsAdded.add(this.doc),this.doc.shouldLoad&&t.subdocsLoaded.add(this.doc)}delete(t){t.subdocsAdded.has(this.doc)?t.subdocsAdded.delete(this.doc):t.subdocsRemoved.add(this.doc)}gc(t){}write(t,n){t.writeString(this.doc.guid),t.writeAny(this.opts)}getRef(){return 9}}class hu{constructor(t){this.embed=t}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new hu(this.embed)}splice(t){throw Cs()}mergeWith(t){return!1}integrate(t,n){}delete(t){}gc(t){}write(t,n){t.writeJSON(this.embed)}getRef(){return 5}}class Eo{constructor(t,n){this.key=t,this.value=n}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new Eo(this.key,this.value)}splice(t){throw Cs()}mergeWith(t){return!1}integrate(t,n){const e=n.parent;e._searchMarker=null,e._hasFormatting=!0}delete(t){}gc(t){}write(t,n){t.writeKey(this.key),t.writeJSON(this.value)}getRef(){return 6}}class gu{constructor(t){this.arr=t}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new gu(this.arr)}splice(t){const n=new gu(this.arr.slice(t));return this.arr=this.arr.slice(0,t),n}mergeWith(t){return this.arr=this.arr.concat(t.arr),!0}integrate(t,n){}delete(t){}gc(t){}write(t,n){const e=this.arr.length;t.writeLen(e-n);for(let s=n;s<e;s++){const r=this.arr[s];t.writeAny(r)}}getRef(){return 8}}class sa{constructor(t){this.str=t}getLength(){return this.str.length}getContent(){return this.str.split("")}isCountable(){return!0}copy(){return new sa(this.str)}splice(t){const n=new sa(this.str.slice(t));this.str=this.str.slice(0,t);const e=this.str.charCodeAt(t-1);return e>=55296&&e<=56319&&(this.str=this.str.slice(0,t-1)+"�",n.str="�"+n.str.slice(1)),n}mergeWith(t){return this.str+=t.str,!0}integrate(t,n){}delete(t){}gc(t){}write(t,n){t.writeString(n===0?this.str:this.str.slice(n))}getRef(){return 4}}const h3=0,g3=1,m3=2,y3=3,v3=4;class $a{constructor(t){this.type=t}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new $a(this.type._copy())}splice(t){throw Cs()}mergeWith(t){return!1}integrate(t,n){this.type._integrate(t.doc,n)}delete(t){let n=this.type._start;for(;n!==null;)n.deleted?n.id.clock<(t.beforeState.get(n.id.client)||0)&&t._mergeStructs.push(n):n.delete(t),n=n.right;this.type._map.forEach(e=>{e.deleted?e.id.clock<(t.beforeState.get(e.id.client)||0)&&t._mergeStructs.push(e):e.delete(t)}),t.changed.delete(this.type)}gc(t){let n=this.type._start;for(;n!==null;)n.gc(t,!0),n=n.right;this.type._start=null,this.type._map.forEach(e=>{for(;e!==null;)e.gc(t,!0),e=e.left}),this.type._map=new Map}write(t,n){this.type._write(t)}getRef(){return 7}}const VE=(l,t,n)=>{const{client:e,clock:s}=t.id,r=new Wo(Qr(e,s+n),t,Qr(e,s+n-1),t.right,t.rightOrigin,t.parent,t.parentSub,t.content.splice(n));return t.deleted&&r.markDeleted(),t.keep&&(r.keep=!0),t.redone!==null&&(r.redone=Qr(t.redone.client,t.redone.clock+n)),t.right=r,r.right!==null&&(r.right.left=r),l._mergeStructs.push(r),r.parentSub!==null&&r.right===null&&r.parent._map.set(r.parentSub,r),t.length=n,r};class Wo extends JE{constructor(t,n,e,s,r,o,a,c){super(t,c.getLength()),this.origin=e,this.left=n,this.right=s,this.rightOrigin=r,this.parent=o,this.parentSub=a,this.redone=null,this.content=c,this.info=this.content.isCountable()?JS:0}set marker(t){(this.info&Xy)>0!==t&&(this.info^=Xy)}get marker(){return(this.info&Xy)>0}get keep(){return(this.info&WS)>0}set keep(t){this.keep!==t&&(this.info^=WS)}get countable(){return(this.info&JS)>0}get deleted(){return(this.info&Qy)>0}set deleted(t){this.deleted!==t&&(this.info^=Qy)}markDeleted(){this.info|=Qy}getMissing(t,n){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=di(n,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=di(n,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===wh&&this.id.client!==this.parent.client&&this.parent.clock>=di(n,this.parent.client))return this.parent.client;if(this.origin&&(this.left=_E(t,n,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=Va(t,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===Ga||this.right&&this.right.constructor===Ga)this.parent=null;else if(!this.parent)this.left&&this.left.constructor===Wo&&(this.parent=this.left.parent,this.parentSub=this.left.parentSub),this.right&&this.right.constructor===Wo&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);else if(this.parent.constructor===wh){const e=h0(n,this.parent);e.constructor===Ga?this.parent=null:this.parent=e.content.type}return null}integrate(t,n){if(n>0&&(this.id.clock+=n,this.left=_E(t,t.doc.store,Qr(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(n),this.length-=n),this.parent){if(!this.left&&(!this.right||this.right.left!==null)||this.left&&this.left.right!==this.right){let e=this.left,s;if(e!==null)s=e.right;else if(this.parentSub!==null)for(s=this.parent._map.get(this.parentSub)||null;s!==null&&s.left!==null;)s=s.left;else s=this.parent._start;const r=new Set,o=new Set;for(;s!==null&&s!==this.right;){if(o.add(s),r.add(s),xh(this.origin,s.origin)){if(s.id.client<this.id.client)e=s,r.clear();else if(xh(this.rightOrigin,s.rightOrigin))break}else if(s.origin!==null&&o.has(h0(t.doc.store,s.origin)))r.has(h0(t.doc.store,s.origin))||(e=s,r.clear());else break;s=s.right}this.left=e}if(this.left!==null){const e=this.left.right;this.right=e,this.left.right=this}else{let e;if(this.parentSub!==null)for(e=this.parent._map.get(this.parentSub)||null;e!==null&&e.left!==null;)e=e.left;else e=this.parent._start,this.parent._start=this;this.right=e}this.right!==null?this.right.left=this:this.parentSub!==null&&(this.parent._map.set(this.parentSub,this),this.left!==null&&this.left.delete(t)),this.parentSub===null&&this.countable&&!this.deleted&&(this.parent._length+=this.length),bE(t.doc.store,this),this.content.integrate(t,this),SE(t,this.parent,this.parentSub),(this.parent._item!==null&&this.parent._item.deleted||this.parentSub!==null&&this.right!==null)&&this.delete(t)}else new Ga(this.id,this.length).integrate(t,0)}get next(){let t=this.right;for(;t!==null&&t.deleted;)t=t.right;return t}get prev(){let t=this.left;for(;t!==null&&t.deleted;)t=t.left;return t}get lastId(){return this.length===1?this.id:Qr(this.id.client,this.id.clock+this.length-1)}mergeWith(t){if(this.constructor===t.constructor&&xh(t.origin,this.lastId)&&this.right===t&&xh(this.rightOrigin,t.rightOrigin)&&this.id.client===t.id.client&&this.id.clock+this.length===t.id.clock&&this.deleted===t.deleted&&this.redone===null&&t.redone===null&&this.content.constructor===t.content.constructor&&this.content.mergeWith(t.content)){const n=this.parent._searchMarker;return n&&n.forEach(e=>{e.p===t&&(e.p=this,!this.deleted&&this.countable&&(e.index-=this.length))}),t.keep&&(this.keep=!0),this.right=t.right,this.right!==null&&(this.right.left=this),this.length+=t.length,!0}return!1}delete(t){if(!this.deleted){const n=this.parent;this.countable&&this.parentSub===null&&(n._length-=this.length),this.markDeleted(),pE(t.deleteSet,this.id.client,this.id.clock,this.length),SE(t,n,this.parentSub),this.content.delete(t)}}gc(t,n){if(!this.deleted)throw Hl();this.content.gc(t),n?$M(t,this,new Ga(this.id,this.length)):this.content=new Ih(this.length)}write(t,n){const e=n>0?Qr(this.id.client,this.id.clock+n-1):this.origin,s=this.rightOrigin,r=this.parentSub,o=this.content.getRef()&U5|(e===null?0:bh)|(s===null?0:VS)|(r===null?0:z5);if(t.writeInfo(o),e!==null&&t.writeLeftID(e),s!==null&&t.writeRightID(s),e===null&&s===null){const a=this.parent;if(a._item!==void 0){const c=a._item;if(c===null){const i=KM(a);t.writeParentInfo(!0),t.writeString(i)}else t.writeParentInfo(!1),t.writeLeftID(c.id)}else a.constructor===String?(t.writeParentInfo(!0),t.writeString(a)):a.constructor===wh?(t.writeParentInfo(!1),t.writeLeftID(a)):Hl();r!==null&&t.writeString(r)}this.content.write(t,n)}}const KE=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:{},GE="__ $YJS$ __";KE[GE]===!0&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438"),KE[GE]=!0;function b3(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}b3(function(l){const t=new URLSearchParams;t.append("code",l);for(let n=1;n<arguments.length;n++)t.append("v",arguments[n]);throw Error(`Minified Lexical error #${l}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)});const _3=po();function $E(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)}function w3(){const l=new Date,t=String(l.getHours()).padStart(2,"0"),n=String(l.getMinutes()).padStart(2,"0");return`${t}:${n}`}function YE(){return new Date().toLocaleDateString("en-US",{month:"short",day:"numeric"})}console.log(YE());function Rh(l,t,n,e,s,r,o){return{author:t,content:l,deleted:o===void 0?!1:o,id:r===void 0?$E():r,timeStamp:s===void 0?`${w3()} - ${YE()}`:s,type:"comment",userEmail:n===void 0?"":n,mentionedEmails:e===void 0?[]:e}}function ZE(l,t,n,e){return console.log("wpAndTaskId 2222222222222",e),{comments:t,id:n===void 0?$E():n,quote:l,type:"thread",resolved:!1,wpAndTaskId:e}}function QE(l){return console.log("thread clone is called",l),{comments:Array.from(l.comments),id:l.id,quote:l.quote,type:"thread",resolved:l.resolved,wpAndTaskId:l.wpAndTaskId}}function x3(l){return{author:l.author,content:"[Deleted Comment]",deleted:!0,id:l.id,timeStamp:l.timeStamp,type:"comment",userEmail:l.userEmail,mentionedEmails:l.mentionedEmails}}function Dh(l){const t=l._changeListeners;for(const n of t)n()}class ef{constructor(t){Hn(this,"_editor");Hn(this,"_comments");Hn(this,"_changeListeners");Hn(this,"_collabProvider");this._comments=[],this._editor=t,this._collabProvider=null,this._changeListeners=new Set}isCollaborative(){return this._collabProvider!==null}getComments(){return this._comments}setComments(t){this._comments=t,Dh(this)}addComment(t,n,e){const s=Array.from(this._comments),r=this._getCollabComments();if(n!==void 0&&t.type==="comment")for(let o=0;o<s.length;o++){const a=s[o];if(a.type==="thread"&&a.id===n.id){const c=QE(a);s.splice(o,1,c);const i=e!==void 0?e:c.comments.length;if(this.isCollaborative()&&r!==null){const u=r.get(o).get("comments");this._withRemoteTransaction(()=>{const d=this._createCollabSharedMap(t);u.insert(i,[d])})}c.comments.splice(i,0,t);break}}else{const o=e!==void 0?e:s.length;this.isCollaborative()&&r!==null&&this._withRemoteTransaction(()=>{const a=this._createCollabSharedMap(t);r.insert(o,[a])}),s.splice(o,0,t)}this._comments=s,Dh(this)}deleteCommentOrThread(t,n){const e=Array.from(this._comments),s=this._getCollabComments();let r=null;if(n!==void 0)for(let o=0;o<e.length;o++){const a=e[o];if(a.type==="thread"&&a.id===n.id){const c=QE(a);e.splice(o,1,c);const i=c.comments;if(r=i.indexOf(t),this.isCollaborative()&&s!==null){const u=s.get(o).get("comments");this._withRemoteTransaction(()=>{u.delete(r)})}i.splice(r,1);break}}else r=e.indexOf(t),this.isCollaborative()&&s!==null&&this._withRemoteTransaction(()=>{s.delete(r)}),e.splice(r,1);return this._comments=e,Dh(this),t.type==="comment"?{index:r,markedComment:x3(t)}:null}resolveThread(t){const n={...t,resolved:!0},e=this._comments.map(s=>s.type==="thread"&&s.id===n.id?n:s);this._comments=e,Dh(this)}registerOnChange(t){const n=this._changeListeners;return n.add(t),()=>{n.delete(t)}}_withRemoteTransaction(t){const n=this._collabProvider;n!==null&&n.doc.transact(t,this)}_withLocalTransaction(t){const n=this._collabProvider;try{this._collabProvider=null,t()}finally{this._collabProvider=n}}_getCollabComments(){const t=this._collabProvider;return t!==null?t.doc.get("comments",ql):null}_createCollabSharedMap(t){const n=new du,e=t.type,s=t.id;if(n.set("type",e),n.set("id",s),e==="comment")n.set("author",t.author),n.set("content",t.content),n.set("deleted",t.deleted),n.set("timeStamp",t.timeStamp),n.set("userEmail",t.userEmail);else{n.set("quote",t.quote);const r=new ql;t.comments.forEach((o,a)=>{const c=this._createCollabSharedMap(o);r.insert(a,[c])}),n.set("comments",r)}return n}registerCollaboration(t){this._collabProvider=t;const n=this._getCollabComments(),e=()=>{t.connect()},s=()=>{try{t.disconnect()}catch{}},r=this._editor.registerCommand(_3,a=>(e!==void 0&&s!==void 0&&(a?(console.log("Comments connected!"),e()):(console.log("Comments disconnected!"),s())),!1),Jn),o=(a,c)=>{if(c.origin!==this)for(let i=0;i<a.length;i++){const u=a[i];if(u instanceof LE){const d=u.target,f=u.delta;let p=0;for(let h=0;h<f.length;h++){const m=f[h],g=m.insert,b=m.retain,v=m.delete,_=d.parent,E=d===n?void 0:_ instanceof du&&this._comments.find(S=>S.id===_.get("id"));if(Array.isArray(g))g.slice().reverse().forEach(S=>{const w=S.get("id"),x=S.get("type")==="thread"?ZE(S.get("quote"),S.get("comments").toArray().map(C=>Rh(C.get("content"),C.get("author"),C.get("userEmail"),C.get("mentionedEmails"),C.get("timeStamp"),C.get("id"),C.get("deleted"))),w,S.get("wpAndTaskId")):Rh(S.get("content"),S.get("author"),S.get("userEmail"),S.get("mentionedEmails"),w,S.get("timeStamp"),S.get("deleted"));this._withLocalTransaction(()=>{this.addComment(x,E,p)})});else if(typeof b=="number")p+=b;else if(typeof v=="number")for(let S=0;S<v;S++){const w=E===void 0||E===!1?this._comments[p]:E.comments[p];this._withLocalTransaction(()=>{this.deleteCommentOrThread(w,E)}),p++}}}}};return n===null?()=>null:(n.observeDeep(o),e(),()=>{n.unobserveDeep(o),r(),this._collabProvider=null})}}function S3(l){const[t,n]=he.useState(l.getComments());return he.useEffect(()=>l.registerOnChange(()=>{n(l.getComments())}),[l]),t}const JD="",E3={...sy,paragraph:"CommentEditorTheme__paragraph"},C3="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJNNDQwLTQwMGg4MHYtMTIwaDEyMHYtODBINTIwdi0xMjBoLTgwdjEyMEgzMjB2ODBoMTIwdjEyMFpNODAtODB2LTcyMHEwLTMzIDIzLjUtNTYuNVQxNjAtODgwaDY0MHEzMyAwIDU2LjUgMjMuNVQ4ODAtODAwdjQ4MHEwIDMzLTIzLjUgNTYuNVQ4MDAtMjQwSDI0MEw4MC04MFptMTI2LTI0MGg1OTR2LTQ4MEgxNjB2NTI1bDQ2LTQ1Wm0tNDYgMHYtNDgwIDQ4MFoiLz48L3N2Zz4NCg==",j3="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTIyLjg4MXB4IiBoZWlnaHQ9Ijg5Ljg0MnB4IiB2aWV3Qm94PSIwIDAgMTIyLjg4MSA4OS44NDIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEyMi44ODEgODkuODQyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48Zz48cGF0aCBkPSJNMS4yMzIsNTUuNTQxYy0xLjUzMy0xLjM4OC0xLjY1Mi0zLjc1Ni0wLjI2NS01LjI4OWMxLjM4OC0xLjUzNCwzLjc1Ni0xLjY1Miw1LjI5LTAuMjY1bDM0LjA1MywzMC44NzhsNzYuMDk5LTc5LjY5OSBjMS40MjktMS41MDEsMy44MDQtMS41NjEsNS4zMDUtMC4xMzJjMS41MDIsMS40MjgsMS41NjEsMy44MDMsMC4xMzMsNS4zMDVMNDMuMjIzLDg4LjY4M2wtMC4wMDUtMC4wMDUgYy0xLjM5NiwxLjQ2OC0zLjcxNiwxLjU2My01LjIyNywwLjE5NkwxLjIzMiw1NS41NDFMMS4yMzIsNTUuNTQxeiIvPjwvZz48L3N2Zz4=",k3="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgZmlsbD0iIzAwMDAwMCIgaGVpZ2h0PSI4MDBweCIgd2lkdGg9IjgwMHB4IiB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIA0KCSB2aWV3Qm94PSIwIDAgNDkwIDQ5MCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cG9seWdvbiBwb2ludHM9IjQ1Ni44NTEsMCAyNDUsMjEyLjU2NCAzMy4xNDksMCAwLjcwOCwzMi4zMzcgMjEyLjY2OSwyNDUuMDA0IDAuNzA4LDQ1Ny42NzggMzMuMTQ5LDQ5MCAyNDUsMjc3LjQ0MyA0NTYuODUxLDQ5MCANCgk0ODkuMjkyLDQ1Ny42NzggMjc3LjMzMSwyNDUuMDA0IDQ4OS4yOTIsMzIuMzM3ICIvPg0KPC9zdmc+",T3=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;let XE=class{constructor(t){this.key=t,this.ref={current:null},this.setRefElement=this.setRefElement.bind(this)}setRefElement(t){this.ref={current:t}}};const eC=l=>{const t=document.getElementById("typeahead-menu");if(!t)return;const n=t.getBoundingClientRect();n.top+n.height>window.innerHeight&&t.scrollIntoView({block:"center"}),n.top<0&&t.scrollIntoView({block:"center"}),l.scrollIntoView({block:"nearest"})};function tC(l,t){const n=l.getBoundingClientRect(),e=t.getBoundingClientRect();return n.top>e.top&&n.top<e.bottom}function A3(l,t,n,e){const[s]=yn();he.useEffect(()=>{if(t!=null&&l!=null){const r=s.getRootElement(),o=r!=null?function(d,f){let p=getComputedStyle(d);const h=p.position==="absolute",m=/(auto|scroll)/;if(p.position==="fixed")return document.body;for(let g=d;g=g.parentElement;)if(p=getComputedStyle(g),(!h||p.position!=="static")&&m.test(p.overflow+p.overflowY+p.overflowX))return g;return document.body}(r):document.body;let a=!1,c=tC(t,o);const i=function(){a||(window.requestAnimationFrame(function(){n(),a=!1}),a=!0);const d=tC(t,o);d!==c&&(c=d,e!=null&&e(d))},u=new ResizeObserver(n);return window.addEventListener("resize",n),document.addEventListener("scroll",i,{capture:!0,passive:!0}),u.observe(t),()=>{u.unobserve(t),window.removeEventListener("resize",n),document.removeEventListener("scroll",i,!0)}}},[t,s,e,n,l])}const nC=po();function O3({close:l,editor:t,anchorElementRef:n,resolution:e,options:s,menuRenderFn:r,onSelectOption:o,shouldSplitNodeWithQuery:a=!1,commandPriority:c=Jn}){const[i,u]=he.useState(null),d=e.match&&e.match.matchingString;he.useEffect(()=>{u(0)},[d]);const f=he.useCallback(h=>{t.update(()=>{const m=e.match!=null&&a?function(g){const b=jt();if(!St(b)||!b.isCollapsed())return null;const v=b.anchor;if(v.type!=="text")return null;const _=v.getNode();if(!_.isSimpleText())return null;const E=v.offset,S=_.getTextContent().slice(0,E),w=g.replaceableString.length,y=E-function(C,T,R){let F=R;for(let I=F;I<=T.length;I++)C.substr(-I)===T.substr(0,I)&&(F=I);return F}(S,g.matchingString,w);if(y<0)return null;let x;return y===0?[x]=_.splitText(E):[,x]=_.splitText(y,E),x}(e.match):null;o(h,m,l,e.match?e.match.matchingString:"")})},[t,a,e.match,o,l]),p=he.useCallback(h=>{const m=t.getRootElement();m!==null&&(m.setAttribute("aria-activedescendant","typeahead-item-"+h),u(h))},[t]);return he.useEffect(()=>()=>{const h=t.getRootElement();h!==null&&h.removeAttribute("aria-activedescendant")},[t]),T3(()=>{s===null?u(null):i===null&&p(0)},[s,i,p]),he.useEffect(()=>wr(t.registerCommand(nC,({option:h})=>!(!h.ref||h.ref.current==null)&&(eC(h.ref.current),!0),c)),[t,p,c]),he.useEffect(()=>wr(t.registerCommand(Wu,h=>{const m=h;if(s!==null&&s.length&&i!==null){const g=i!==s.length-1?i+1:0;p(g);const b=s[g];b.ref!=null&&b.ref.current&&t.dispatchCommand(nC,{index:g,option:b}),m.preventDefault(),m.stopImmediatePropagation()}return!0},c),t.registerCommand(qu,h=>{const m=h;if(s!==null&&s.length&&i!==null){const g=i!==0?i-1:s.length-1;p(g);const b=s[g];b.ref!=null&&b.ref.current&&eC(b.ref.current),m.preventDefault(),m.stopImmediatePropagation()}return!0},c),t.registerCommand(Fs,h=>{const m=h;return m.preventDefault(),m.stopImmediatePropagation(),l(),!0},c),t.registerCommand(Ju,h=>{const m=h;return s!==null&&i!==null&&s[i]!=null&&(m.preventDefault(),m.stopImmediatePropagation(),f(s[i]),!0)},c),t.registerCommand(Ls,h=>s!==null&&i!==null&&s[i]!=null&&(h!==null&&(h.preventDefault(),h.stopImmediatePropagation()),f(s[i]),!0),c)),[f,l,t,s,i,p,c]),r(n,he.useMemo(()=>({options:s,selectOptionAndCleanUp:f,selectedIndex:i,setHighlightedIndex:u}),[f,i,s]),e.match?e.match.matchingString:"")}const N3=`\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'"~=<>_:;`;function rC(l,{minLength:t=1,maxLength:n=75}){return he.useCallback(e=>{const s=new RegExp("(^|\\s|\\()(["+l+"]((?:"+("[^"+l+N3+"\\s]")+"){0,"+n+"}))$").exec(e);if(s!==null){const r=s[1],o=s[3];if(o.length>=t)return{leadOffset:s.index+r.length,matchingString:o,replaceableString:s[2]}}return null},[n,t,l])}function oC({options:l,onQueryChange:t,onSelectOption:n,onOpen:e,onClose:s,menuRenderFn:r,triggerFn:o,anchorClassName:a,commandPriority:c=Jn,parent:i}){const[u]=yn(),[d,f]=he.useState(null),p=function(g,b,v,_=document.body){const[E]=yn(),S=he.useRef(document.createElement("div")),w=he.useCallback(()=>{S.current.style.top=S.current.style.bottom;const x=E.getRootElement(),C=S.current,T=C.firstChild;if(x!==null&&g!==null){const{left:R,top:F,width:I,height:B}=g.getRect(),A=S.current.offsetHeight;if(C.style.top=`${F+window.pageYOffset+A+3}px`,C.style.left=`${R+window.pageXOffset}px`,C.style.height=`${B}px`,C.style.width=`${I}px`,T!==null){T.style.top=`${F}`;const j=T.getBoundingClientRect(),O=j.height,L=j.width,N=x.getBoundingClientRect();R+L>N.right&&(C.style.left=`${N.right-L+window.pageXOffset}px`),(F+O>window.innerHeight||F+O>N.bottom)&&F-N.top>O+B&&(C.style.top=F-O+window.pageYOffset-B+"px")}C.isConnected||(v!=null&&(C.className=v),C.setAttribute("aria-label","Typeahead menu"),C.setAttribute("id","typeahead-menu"),C.setAttribute("role","listbox"),C.style.display="block",C.style.position="absolute",_.append(C)),S.current=C,x.setAttribute("aria-controls","typeahead-menu")}},[E,g,v,_]);he.useEffect(()=>{const x=E.getRootElement();if(g!==null)return w(),()=>{x!==null&&x.removeAttribute("aria-controls");const C=S.current;C!==null&&C.isConnected&&C.remove()}},[E,w,g]);const y=he.useCallback(x=>{g!==null&&(x||b(null))},[g,b]);return A3(g,S.current,w,y),S}(d,f,a,i),h=he.useCallback(()=>{f(null),s!=null&&d!==null&&s()},[s,d]),m=he.useCallback(g=>{f(g),e!=null&&d===null&&e(g)},[e,d]);return he.useEffect(()=>{const g=u.registerUpdateListener(()=>{u.getEditorState().read(()=>{const b=u._window||window,v=b.document.createRange(),_=jt(),E=function(y){let x=null;return y.getEditorState().read(()=>{const C=jt();St(C)&&(x=function(T){const R=T.anchor;if(R.type!=="text")return null;const F=R.getNode();if(!F.isSimpleText())return null;const I=R.offset;return F.getTextContent().slice(0,I)}(C))}),x}(u);if(!St(_)||!_.isCollapsed()||E===null||v===null)return void h();const S=o(E,u);if(t(S?S.matchingString:null),S!==null&&!function(y,x){return x===0&&y.getEditorState().read(()=>{const C=jt();if(St(C)){const T=C.anchor.getNode().getPreviousSibling();return Jt(T)&&T.isTextEntity()}return!1})}(u,S.leadOffset)&&function(x,C,T){const R=T.getSelection();if(R===null||!R.isCollapsed)return!1;const F=R.anchorNode,I=x,B=R.anchorOffset;if(F==null||B==null)return!1;try{C.setStart(F,I),C.setEnd(F,B)}catch{return!1}return!0}(S.leadOffset,v,b)!==null)return w=()=>m({getRect:()=>v.getBoundingClientRect(),match:S}),void(ir.startTransition?ir.startTransition(w):w());var w;h()})});return()=>{g()}},[u,o,t,d,h,m]),d===null||u===null?null:ae.jsx(O3,{close:h,resolution:d,editor:u,anchorElementRef:p,options:l,menuRenderFn:r,shouldSplitNodeWithQuery:!0,onSelectOption:n,commandPriority:c})}const iC=`\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'"~=<>_:;`,sC={NAME:"\\b[A-Z][^\\s"+iC+"]",PUNCTUATION:iC}.PUNCTUATION,x0=["@"].join(""),aC="[^"+x0+sC+"\\s]",P3="(?:\\.[ |$]| |["+sC+"]|)",I3=75,M3=new RegExp("(^|\\s|\\()(["+x0+"]((?:"+aC+P3+"){0,"+I3+"}))$"),R3=50,D3=new RegExp("(^|\\s|\\()(["+x0+"]((?:"+aC+"){0,"+R3+"}))$"),L3=5,S0=new Map,F3={search(l,t,n){setTimeout(()=>{const e=l.filter(s=>s.name.toLowerCase().includes(t.toLowerCase()));n(e)},500)}};function B3(l,t){const[n,e]=he.useState([]);return he.useEffect(()=>{const s=S0.get(l);if(l==null){e([]);return}if(s!==null){if(s!==void 0){e(s);return}S0.set(l,null),F3.search(t,l,r=>{S0.set(l,r),e(r)})}},[l,t]),n}function z3(l,t){let n=M3.exec(l);if(n===null&&(n=D3.exec(l)),n!==null){const e=n[1],s=n[3];if(s.length>=t)return{leadOffset:n.index+e.length,matchingString:s,replaceableString:n[2]}}return null}function U3(l){return z3(l,1)}class H3 extends XE{constructor(n,e,s){super(n);Hn(this,"name");Hn(this,"email");Hn(this,"picture");this.name=n,this.email=e,this.picture=s}}function q3({index:l,isSelected:t,onClick:n,onMouseEnter:e,option:s}){let r="item";return t&&(r+=" selected"),ae.jsxs("li",{tabIndex:-1,className:r,ref:s.setRefElement,role:"option","aria-selected":t,id:"typeahead-item-"+l,onMouseEnter:e,onClick:n,children:[s.picture,ae.jsx("span",{className:"text",children:s.name})]},s.key)}function W3({mentionItems:l,setmentionedEmails:t}){const[n]=yn(),[e,s]=he.useState(null),r=B3(e,l),o=rC("/",{minLength:0}),a=he.useMemo(()=>r.map(u=>new H3(u.name,u.email,ae.jsx("i",{className:"icon user"}))).slice(0,L3),[r]),c=he.useCallback((u,d,f)=>{t(p=>[...p,u.email]),n.update(()=>{const p=Xm(`@${u.name}`);d&&d.replace(p),p.select(),f()})},[n]),i=he.useCallback(u=>o(u,n)!==null?null:U3(u),[o,n]);return ae.jsx(oC,{onQueryChange:s,onSelectOption:c,triggerFn:i,options:a,menuRenderFn:(u,{selectedIndex:d,selectOptionAndCleanUp:f,setHighlightedIndex:p})=>u.current&&r.length?kf.createPortal(ae.jsx("div",{className:"typeahead-popover mentions-menu",children:ae.jsx("ul",{children:a.map((h,m)=>ae.jsx(q3,{index:m,isSelected:d===m,onClick:()=>{p(m),f(h)},onMouseEnter:()=>{p(m)},option:h},h.key))})}),u.current):null})}const E0=po();function J3({anchorKey:l,editor:t,onAddComment:n}){const e=he.useRef(null),s=he.useCallback(()=>{const r=e.current,o=t.getRootElement(),a=t.getElementByKey(l);if(r!==null&&o!==null&&a!==null){const{right:c}=o.getBoundingClientRect(),{top:i}=a.getBoundingClientRect();r.style.left=`${c-20}px`,r.style.top=`${i-30}px`}},[l,t]);return he.useEffect(()=>(window.addEventListener("resize",s),()=>{window.removeEventListener("resize",s)}),[t,s]),ir.useLayoutEffect(()=>{s()},[l,t,s]),ae.jsx("div",{className:"CommentPlugin_AddCommentBox",ref:e,children:ae.jsx("button",{style:{display:"flex",justifyContent:"center",alignItems:"center"},className:"CommentPlugin_AddCommentBox_button",onClick:n,children:ae.jsx("img",{src:C3,alt:""})})})}function V3({onEscape:l}){const[t]=yn();return he.useEffect(()=>t.registerCommand(Fs,n=>l(n),2),[t,l]),null}function lC({className:l,autoFocus:t,onEscape:n,onChange:e,editorRef:s,placeholder:r="",mentionItems:o,setmentionedEmails:a}){const c={namespace:"Commenting",nodes:[xd],onError:i=>{throw i},theme:E3};return he.useEffect(()=>()=>{a([])},[]),ae.jsxs(fp,{initialConfig:c,children:[ae.jsxs("div",{className:"CommentPlugin_CommentInputBox_EditorContainer",children:[ae.jsx(nx,{contentEditable:ae.jsx(Ad,{className:l}),placeholder:ae.jsx(Od,{children:r}),ErrorBoundary:Rl}),ae.jsx(Xw,{onChange:e}),ae.jsx(yp,{}),t!==!1&&ae.jsx(Lp,{}),ae.jsx(V3,{onEscape:n}),ae.jsx(Zw,{}),s!==void 0&&ae.jsx(M5,{editorRef:s})]}),ae.jsx(W3,{mentionItems:o,setmentionedEmails:a})]})}function cC(l,t){return he.useCallback((n,e)=>{n.read(()=>{l(ay()),t(!ly(e.isComposing(),!0))})},[t,l])}function K3({editor:l,cancelAddComment:t,submitAddComment:n,userName:e,userEmail:s,mentionItems:r,mentionedEmails:o,setmentionedEmails:a,wpAndTaskId:c,setShowCommentInput:i}){const[u,d]=he.useState(""),[f,p]=he.useState(!1),h=he.useRef(null),m=he.useMemo(()=>({container:document.createElement("div"),elements:[]}),[]),g=he.useRef(null),b=fC(),v=he.useCallback(()=>{l.getEditorState().read(()=>{const w=jt();if(St(w)){g.current=w.clone();const y=w.anchor,x=w.focus,C=a_(l,y.getNode(),y.offset,x.getNode(),x.offset),T=h.current;if(C!==null&&T!==null){const{left:R,bottom:F,width:I}=C.getBoundingClientRect(),B=l_(l,C);let A=B.length===1?R+I/2-125:R-125;A<10&&(A=10),T.style.left=`${A}px`,T.style.top=`${F+20+(window.pageYOffset||document.documentElement.scrollTop)}px`;const j=B.length,{container:O}=m,L=m.elements,N=L.length;for(let U=0;U<j;U++){const D=B[U];let z=L[U];z===void 0&&(z=document.createElement("span"),L[U]=z,O.appendChild(z));const K="255, 212, 0",G=`position:absolute;top:${D.top+(window.pageYOffset||document.documentElement.scrollTop)}px;left:${D.left}px;height:${D.height}px;width:${D.width}px;background-color:rgba(${K}, 0.3);pointer-events:none;z-index:5;`;z.style.cssText=G}for(let U=N-1;U>=j;U--){const D=L[U];O.removeChild(D),L.pop()}}}})},[l,m]);ir.useLayoutEffect(()=>{v();const w=m.container,y=document.body;if(y!==null)return y.appendChild(w),()=>{y.removeChild(w)}},[m.container,v]),he.useEffect(()=>(window.addEventListener("resize",v),window.addEventListener("scroll",v,!0),()=>{window.removeEventListener("resize",v),window.removeEventListener("scroll",v,!0)}),[v]);const _=w=>(w.preventDefault(),t(),!0),E=()=>{if(console.log("this is called",c),f){let w=l.getEditorState().read(()=>{const y=g.current;return y?y.getTextContent():""});w.length>100&&(w=w.slice(0,99)+"…"),n(ZE(w,[Rh(u,e??b,s,o)],void 0,c),!0,void 0,g.current),g.current=null}},S=cC(d,p);return ae.jsxs("div",{className:"CommentPlugin_CommentInputBox",ref:h,children:[ae.jsx(lC,{className:"CommentPlugin_CommentInputBox_Editor",onEscape:_,onChange:S,mentionItems:r,setmentionedEmails:a}),ae.jsxs("div",{className:"CommentPlugin_CommentInputBox_Buttons",children:[ae.jsx(Fi,{onClick:t,className:"CommentPlugin_CommentInputBox_Button",children:"Cancel"}),ae.jsx(Fi,{onClick:E,disabled:!f,className:"CommentPlugin_CommentInputBox_Button primary",children:"Comment"})]})]})}function G3({submitAddComment:l,thread:t,placeholder:n,userName:e,userEmail:s,mentionItems:r,mentionedEmails:o,setmentionedEmails:a}){const[c,i]=he.useState(""),[u,d]=he.useState(!1),f=he.useRef(null),p=fC(),h=cC(i,d),m=()=>{if(u){a([]),l(Rh(c,e??p,s,o),!1,t);const g=f.current;g!==null&&g.dispatchCommand(Mf,void 0)}};return ae.jsxs(ae.Fragment,{children:[ae.jsx(lC,{className:"CommentPlugin_CommentsPanel_Editor",autoFocus:!1,onEscape:()=>!0,onChange:h,editorRef:f,placeholder:n,mentionItems:r,setmentionedEmails:a}),ae.jsx(Fi,{className:"CommentPlugin_CommentsPanel_SendButton",onClick:m,disabled:!u,children:ae.jsx("i",{className:"send"})})]})}function uC({commentOrThread:l,deleteCommentOrThread:t,onClose:n,thread:e=void 0}){return ae.jsxs(ae.Fragment,{children:["Are you sure you want to delete this ",l.type,"?",ae.jsxs("div",{className:"Modal__content",children:[ae.jsx(Fi,{onClick:()=>{t(l,e),n()},children:"Delete"})," ",ae.jsx(Fi,{onClick:()=>{n()},children:"Cancel"})]})]})}function dC({comment:l,deleteComment:t,thread:n,rtf:e,userName:s,userEmail:r,mentionedEmails:o,setmentionedEmails:a}){const[c,i]=Da();return ae.jsxs("li",{className:"CommentPlugin_CommentsPanel_List_Comment",children:[ae.jsxs("div",{className:"CommentPlugin_CommentsPanel_List_Details",children:[ae.jsx("span",{className:"CommentPlugin_CommentsPanel_List_Comment_Author",children:l.author}),ae.jsxs("span",{className:"CommentPlugin_CommentsPanel_List_Comment_Time",style:{fontSize:"13px"},children:["· ",l.timeStamp]})]}),ae.jsx("p",{className:l.deleted?"CommentPlugin_CommentsPanel_DeletedComment":"",style:{whiteSpace:"pre-wrap"},children:l.content.split(/(@\w+)/g).map((u,d)=>{if(!u.startsWith("@"))return u;const f=u.slice(1).toLowerCase();return(l.mentionedEmails??[]).some(h=>h.split("@")[0].toLowerCase()===f)?ae.jsx("span",{className:"CommentPlugin_Mention",children:u},d):u})}),!l.deleted&&ae.jsxs(ae.Fragment,{children:[s==l.author&&ae.jsx(Fi,{onClick:()=>{i("Delete Comment",u=>ae.jsx(uC,{commentOrThread:l,deleteCommentOrThread:t,thread:n,onClose:u}))},className:"CommentPlugin_CommentsPanel_List_DeleteButton",children:ae.jsx("i",{className:"delete"})}),c]})]})}function $3({activeIDs:l,comments:t,deleteCommentOrThread:n,listRef:e,submitAddComment:s,markNodeMap:r,userName:o,userEmail:a,resolveThread:c,mentionItems:i,mentionedEmails:u,setmentionedEmails:d,wpAndTaskId:f}){const[p]=yn(),[h,m]=he.useState(0),[g,b]=Da(),v=he.useMemo(()=>new Intl.RelativeTimeFormat("en",{localeMatcher:"best fit",numeric:"auto",style:"short"}),[]);he.useEffect(()=>{const E=setTimeout(()=>{m(h+1)},1e4);return()=>{clearTimeout(E)}},[h]),console.log("comments",t,f);const _=t.filter(E=>E.wpAndTaskId&&E.wpAndTaskId.workplanId===f.workplanId&&E.wpAndTaskId.taskId===f.taskId);return console.log("Filtered comments",_,f),ae.jsx("ul",{className:"CommentPlugin_CommentsPanel_List",ref:e,children:_.length>0?_.map(E=>{var w,y;const S=E.id;if(E.type==="thread"){const x=()=>{const C=r.get(S);if(C!==void 0&&(l===null||l.indexOf(S)===-1)){const T=document.activeElement;p.update(()=>{const R=Array.from(C)[0],F=Dn(R);Pl(F)&&F.selectStart()},{onUpdate(){T!==null&&T.focus()}})}};return ae.jsxs("li",{onClick:x,className:`CommentPlugin_CommentsPanel_List_Thread ${r.has(S)?"interactive":""} ${l.indexOf(S)===-1?"":"active"}`,children:[ae.jsxs("div",{className:"CommentPlugin_CommentsPanel_List_Thread_QuoteBox",children:[ae.jsxs("blockquote",{className:"CommentPlugin_CommentsPanel_List_Thread_Quote",children:[ae.jsx("span",{children:(w=E==null?void 0:E.comments[0])==null?void 0:w.author}),ae.jsx("img",{className:`add-toolbar-image-icon CommentPlugin_CommentsPanel_List_ResolveButton ${E!=null&&E.resolved?"opacity-full":""}`,src:j3,alt:"Resolve Comment",onClick:()=>c(E)})]}),o==((y=E==null?void 0:E.comments[0])==null?void 0:y.author)&&ae.jsx(Fi,{onClick:()=>{b("Delete Thread",C=>ae.jsx(uC,{commentOrThread:E,deleteCommentOrThread:n,onClose:C}))},className:"CommentPlugin_CommentsPanel_List_DeleteButton",children:ae.jsx("i",{className:"delete"})}),g]}),ae.jsx("ul",{className:"CommentPlugin_CommentsPanel_List_Thread_Comments",children:E&&E.comments&&E.comments.length&&E.comments.map(C=>C.deleted?null:ae.jsx(dC,{comment:C,deleteComment:n,thread:E,rtf:v,userName:o,userEmail:a},C.id))}),ae.jsx("div",{className:"CommentPlugin_CommentsPanel_List_Thread_Editor",children:!(E!=null&&E.resolved)&&ae.jsx("div",{className:"CommentPlugin_CommentsPanel_List_Thread_Editor",children:ae.jsx(G3,{submitAddComment:s,thread:E,userName:o,userEmail:a,mentionItems:i,mentionedEmails:u,setmentionedEmails:d})})})]},S)}return ae.jsx(dC,{comment:E,deleteComment:n,rtf:v,userName:o,userEmail:a},S)}):ae.jsx("div",{className:"CommentPlugin_CommentsPanel_Empty",children:"No Comments"})})}function Y3({activeIDs:l,deleteCommentOrThread:t,comments:n,submitAddComment:e,markNodeMap:s,userName:r,userEmail:o,resolveThread:a,setShowComments:c,mentionItems:i,mentionedEmails:u,setmentionedEmails:d,wpAndTaskId:f}){const p=he.useRef(null),h=n.length===0;return ae.jsxs("div",{className:"CommentPlugin_CommentsPanel",children:[ae.jsxs("div",{className:"CommentPlugin_CommentsPanel_HeaderDiv",children:[ae.jsx("h2",{className:"CommentPlugin_CommentsPanel_Heading",children:"Comments"}),ae.jsx("img",{onClick:()=>c(!1),className:"CommentPlugin_CommentsPanel_close_icon",width:12,height:12,src:k3,alt:""})]}),h?ae.jsx("div",{className:"CommentPlugin_CommentsPanel_Empty",children:"No Comments"}):ae.jsx($3,{activeIDs:l,comments:n,deleteCommentOrThread:t,listRef:p,submitAddComment:e,markNodeMap:s,userName:r,userEmail:o,resolveThread:a,mentionItems:i,mentionedEmails:u,setmentionedEmails:d,wpAndTaskId:f})]})}function fC(){const l=Nd(),{yjsDocMap:t,name:n}=l;return t.has("comments")?n:"Playground User"}function pC({providerFactory:l,handleSaveComments:t,showComments:n,setShowComments:e,userName:s,userEmail:r,mentionItems:o,mentionedEmails:a,setmentionedEmails:c,wpAndTaskId:i,setShowCommentInput:u,showCommentInput:d}){const f=Nd(),[p]=yn(),h=he.useMemo(()=>(p!=null&&p._commentStore||(p._commentStore=new ef(p)),p==null?void 0:p._commentStore),[p]),m=S3(h),g=he.useMemo(()=>new Map,[]),[b,v]=he.useState(),[_,E]=he.useState([]),{yjsDocMap:S}=f;he.useEffect(()=>{if(l){const R=l("comments",S);return h.registerCollaboration(R)}},[h,l,S]);const w=he.useCallback(()=>{p.update(()=>{const R=jt();R!==null&&(R.dirty=!0)}),u(!1)},[p]),y=he.useCallback((R,F)=>{var I;if(R.type==="comment"){if(s===R.author){const B=h.deleteCommentOrThread(R,F);if(!B)return;if(F&&F.comments.every(L=>L.id===R.id||L.deleted===!0)){h.deleteCommentOrThread(F);const L=g.get(F.id);L?setTimeout(()=>{p.update(()=>{for(const N of L){const U=Dn(N);Pl(U)&&(U.deleteID(F.id),U.getIDs().length===0&&D1(U))}}),t(h.getComments())}):t(h.getComments());return}const{markedComment:A,index:j}=B;h.addComment(A,F,j),t(h.getComments())}}else{((I=R.comments)==null?void 0:I[0].author)==s&&h.deleteCommentOrThread(R);const B=F!==void 0?F.id:R.id,A=g.get(B);A!==void 0?setTimeout(()=>{p.update(()=>{for(const j of A){const O=Dn(j);Pl(O)&&(O.deleteID(B),O.getIDs().length===0&&D1(O))}}),t(h.getComments())}):t(h.getComments())}},[h,p,g,t,s]),x=he.useCallback((R,F,I,B)=>{console.log("submitAddComment is called"),h.addComment(R,I),t(h.getComments()),F&&(p.update(()=>{if(St(B)){const A=B.isBackward(),j=R.id;FT(B,A,j)}}),u(!1))},[h,p]),C=R=>{R&&R.type==="thread"&&h.resolveThread(R),t(h.getComments())};he.useEffect(()=>{const R=[];for(let F=0;F<_.length;F++){const I=_[F],B=g.get(I);if(B!==void 0)for(const A of B){const j=p.getElementByKey(A);j!==null&&(j.classList.add("selected"),R.push(j),e(!0))}}return()=>{for(let F=0;F<R.length;F++)R[F].classList.remove("selected")}},[_,p,g]),he.useEffect(()=>{const R=new Map;return wr(b_(p,Ks,F=>oy(F.getIDs()),(F,I)=>{F.getIDs().forEach(A=>{I.addID(A)})}),p.registerMutationListener(Ks,F=>{p.getEditorState().read(()=>{for(const[I,B]of F){const A=Dn(I);let j=[];B==="destroyed"?j=R.get(I)||[]:Pl(A)&&(j=A.getIDs());for(let O=0;O<j.length;O++){const L=j[O];let N=g.get(L);R.set(I,j),B==="destroyed"?N!==void 0&&(N.delete(I),N.size===0&&g.delete(L)):(N===void 0&&(N=new Set,g.set(L,N)),N.has(I)||N.add(I))}}})}),p.registerUpdateListener(({editorState:F,tags:I})=>{F.read(()=>{const B=jt();let A=!1,j=!1;if(St(B)){const O=B.anchor.getNode();if(Jt(O)){const L=BT(O,B.anchor.offset);L!==null&&(E(L),A=!0),B.isCollapsed()||(v(O.getKey()),j=!0)}}A||E(O=>O.length===0?O:[]),j||v(null),!I.has("collaboration")&&St(B)&&u(!1)})}),p.registerCommand(E0,()=>{const F=window.getSelection();return F!==null&&F.removeAllRanges(),u(!0),!0},Tn))},[p,g]);const T=()=>{p.dispatchCommand(E0,void 0)};return ae.jsxs(ae.Fragment,{children:[d&&ao.createPortal(ae.jsx(K3,{editor:p,cancelAddComment:w,submitAddComment:x,userName:s,userEmail:r,mentionItems:o,mentionedEmails:a,setmentionedEmails:c,wpAndTaskId:i,setShowCommentInput:u}),document.body),b!=null&&!d&&ao.createPortal(ae.jsx(J3,{anchorKey:b,editor:p,onAddComment:T}),document.body),n&&ao.createPortal(ae.jsx(Y3,{comments:m,submitAddComment:x,deleteCommentOrThread:y,activeIDs:_,markNodeMap:g,userName:s,userEmail:r,resolveThread:C,setShowComments:e,mentionItems:o,mentionedEmails:a,setmentionedEmails:c,wpAndTaskId:i}),document.body)]})}const hC=({onChange:l})=>{const[t]=yn(),[n,e]=he.useState(!0),s=he.useRef(""),r=s.current,o=he.useCallback(()=>{t.update(()=>{const a=W1(t);n?e(!1):a!==r&&(l(a),s.current=a)})},[t,n,l,r]);return he.useEffect(()=>{const a=t.registerUpdateListener(o);return()=>a()},[t,o]),null};function Z3(){const[l]=yn();return he.useEffect(()=>l.registerCommand(ai,()=>(l.update(()=>{document.querySelectorAll(".lexical-highlight").forEach(r=>r.classList.remove("lexical-highlight"));const n=jt();if(!St(n)||n.isCollapsed()||n.getTextContent().length===0)return;const e=n.getNodes(),s=r=>_r(r)&&r.getChildren().length===0;e.forEach(r=>{const o=s(r);if(_r(r)&&o){const a=l.getElementByKey(r.getKey());a&&a.classList.add("lexical-highlight")}})}),!1),Jn),[l]),null}const Lh="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAS4AAABmCAMAAAE15bxSAAAAyVBMVEUAAAAAAADtHCQAAADtHCQAAADtHCQAAADtHCQAAADtHCQAAADtHCQAAADtHCSNV0YAAADtHCQhISJqUEfVPS0AAADtHCRNQj4AAACiV0LtHCRgTEQAAADtHCQAAADtHCRnT0YAAABeS0TtHCSAVUgAAADtHCSHV0dURkEAAADtHCQCAgLTQC5LQDxaSUMZGRkfHyAAAAAhISJEPDlURkFhTUVtUUd6VEiFVkiQV0WbV0SmVkCyVD2+TzjJSTPUPy3gMCrtHCT////o2L2jAAAAMXRSTlMAEBAgIDAwQEBQUGBgcHB8gICIiIiQkJigoKCosLDAwMjQ0NDY4ODo6/Dw8fLz8/v+gRdbXwAAAAFiS0dEQhDXPfQAAAvcSURBVHja7V1rd6S4ES0ZY0HT7RVJ2ks6WIQ4OMF53t31znqynln+/5/KB/HQCxq6256ds9Q59rhpUbpclUqlksQQXVgw/JRERLHxjfAUo5CIQBi+gVejK3VfJLGKgYhERUSSiIFIYNlTXDdNU0TudQEAra6bxpS2ZgCCiLgEarKh3zYv0Aqrur7r7uuk/SLy6ScAkF7QaUpfVvomABGoJsqNdsZQqv0F/ZpVTG9MgNSPuomIeP91Ro7hQCqDAlN/L5K0aRofkQCAUP1ttfyWiIgkAMmJaNc2YWKoaRq8Npbuhogo0Fp+337x5Gv6HAC4D3OURl+46SlDQETEuQLI+1/Ezb/aEl1BSpCQdp1MC5BiMJZEN57aKgjuMx1VQXt/bpgfWFusJmbWCvWZGECu7wHZFXW2TEQU88B+BMNQQV+HHBqfFNf+0jkcqTTDb5rmUTfQ6N7R/A0AEYw6FmidcD/mlrnrM5umaYquc0R3pielnYO6nPYLtjzSKr8SUX6+cyLBYEohEYWciIgxIsY5D3T3Q1VNRBQOF9i+77ohiEiIvuNKo89z2Rdk3cWEiOTgo6U1MipdBENXbepSuvNWwaCLKUdJIOKarhBdNWjjK01XnQzc6Lo6Lwcot93qIoFBFwxdSdcFK2S2LnPc7nRR2dYbtEP0gKus9Rs1XeGYrt4FtP9qz9gPiZYuCNNXD7q6S0K1NK8yKbWKq7pt7UxK/pvrSJuic5tXc4pz2TvPjMx4xye3I1rcAQRHNPXu3RzqAQBSxG3DcWEo+3PTNE1zp91ylT7aGu+zNpDzyr4bgPAyOnsomub1GR8GjCPh2X0jh3HNHf1CCbRhizseP3bD2lVaOBMEn4Sm8rspUm9pVNlu1BSiwqNp429mMX8qFqXplw9vV1nlHEkgQw7EfbcSQlRoR3QiMXQILQaVsONfohJmVxK6xlLr5QyIQ9nfKW2v2gbu3kC7V6vjGhx8jyvo9YXou7j0a+TDsKyL9M5opTZ/8GnRcRHreOxxUdJh7eZy47jI5Xgcl5qsZ4YWNpBs4iJKVJQ14KJcNVDf8H07DhqlrFEzLcsFaJ/97dhj8z+MjYsoAwxcVIOIykxz1Q5fmVtrpdnXRKg0HxdRDei4CCBR0xSuYW6vK+ZTuFQrJFp/PIqLyGLd/Oi3L94nExLVrVFP85UBqIZIQFrZq0Qm9tSCiJhZSpoxhJK9pVHKXIuZkiG8acuHq8/+CkVLos0K8sej6jNCrlCUmJKK+e56bE6Qw+Yomlhigdh3N+dLsdVctKh6FqSY01ZhpoqbnOFT0zTN43ZWe1xtD08+YK8fP/708qqmPJvTmvofptcrpycIIzYr2hb68Ol8m+xTi793cMGZHOrCeCIMSyk9zxEdzjWGO1NhOdswZTyTzpu0WGyhPj27KTR5fK6nut6M43w6rPO9VVZZZZX3krjURm7OebtO0l/o4xH9qvPt8DdvxdBojLssB3JmVumEr0ASZNr0MROi21hhztukFiENSxXDWmGfEDADPUAIsdc0kkQWJPp83BcY1mp2l/WFuLpae3DBwcWGa/uRmXH7seontlxVMZaucJNHer7EM/+Wes5hKM9sRX5cbHRGP4IL83HlcJbxeZ8OAk3iosW4Ag+uwIuLSsBNCdh5ND8u0bejnarw46phJMBaXFoSTcfV292gat+tFYaTuEJAz0Pxo7hU+ikwcMXakryJi9wtUKpAbCRVzDSmlNJYHojN5YLR9JfUlu8BAPXO9zSy3a1RmrgqtRwqJiwWVk5SRchH+FLG0TWDs33HxkVAZm4SsYF62tHdEqFhncBFsnve47gYkJGVlqOsnMTFnDWnCb9hwp+Ni0IMS9Pqc0L6ZNln94lb+Sxc8fx2VB3KGslA07gGD6NWwolouh0ZbPDHcdlPn+jZvzH/pXUtptKUbAqXAIJukJyNizJMeEZACCmdFZHe9oFkcHtu+a5RasOZOGnOId+61xIbpsfeZeYdSiwFsZTM9Utu+VVWWeW9hc3Nk6usX1oYqariPt1cLkEV7PLKTbCVk1nU67sjGb2Hw/bm9KlgPp2KHNm7ET3Nzzg+LFteYKKalST1NOr2pJR9epS9QNQLlhUy+/anM3LIjyPk8b1ZaS1zITg3hjjORa4nna1NRw/nL3c86txppiRFHMxo6l3lC/DnrAJE2xmZ74c/fFsCQJmLxVv7gtrGlf1HrULdzPUjPkifXz9+ePn5VXWL03pt7ERteFisKbpTS3CvL8/ADx99afllq0Tbp+azg2tk9W9CuvWhf308f82y3+33wcEFoIyX4AFQi/ZhrmctuhT36SYy2iWK0sJwBfc+XF0H4h7qOBd7Y90qc1fur5cvCTXew01eXMelTCbb5La4EKwlwEQwt1scFvvqyJvQOT5InLLZOLp7OGnlsR9ap5Ygy9ksTTi9+1GAxe2RscDBVu5jRheXKNqkaZqmt9ENrbLKKqusssoqq6yyytctXMud7dnUfEnunHBf+PJ90jifoF02Z/uJ59QZkVo31Svi0/lFOzHqnQBo2bg6cXFN7vG1Mbep17DWdoUMUPodLbW5cX6KLqBkR+miHeDUqE51GM3C9ReAhDzhLsa+aAmgdpogA2re15l54HItvTA1QTM2JmfxBF3tcjmfR5cnY+rQRXu45z6osuvgo+9LcehqTdZqqlxfv2OO5cuxl3J4O8jUup/Fj3TIGaMr8xDm0kW5uzk7cyx4EV3kNik7crhzGV2IZ9NVOU83Rleb80iO0EWV7b4SV98iugLX+wTG4a6z6Np5nd8IXRmc7SyjdBGx2nLlPrpYbT5K4OnES+gKa8/wkQNAyS9Al9IPoPImuXS64trz2pEJulrdg+P10UWByUXlIYYDKLudkULwUbrCDINPd8bg0RSsBLBr1Sfi6JnspBpdAgSAUkqpSuQukkm6Wpwlm6CLuO7kMtt6PYGEoLFAospG/QrrI4k6pulAYo6RBe3xHelC2Vl7bJfQpTpwOy756aJk8HE739sF5nXGBNOliIZ3QOxO74y2yYopV38CXe1Rm2ycLhKduwn9lc30XTmmhy1lZZkbG59IF8VvQhexSg2SY3RRptw9q+H1LXNdfVj7w2OnMuuRTqWLO4Z6Ebq68aQe9QsSqIjVvvdXLRoZ9zPenyGcpf0FdOkbZylzXop1Ibr6sWlMTQXk1RgnCwIJVgOoLf8XGp2vdgDPpyvWBvrEM3G5GF2tzx9vNu/00U8XmwpThTud2GtdNPP4N5uu8e7MZHv6VQKoxbGo/hy6iJUTdLHam5zwZiTk5CQocDIBbcqllCWAitORQOKYpYWxSPjZK7G/9jRVImLOaJVVVllllVUuINeRKVdfD3TOEyH2Ukp371gppRDx+a/oudmmxcItvw9FkabbX8FGqYCLvaywVCZSP6OyuXtsLiZPxX26ja7fgyLGRVbifOm3uR6V7QWJGjG/9PaynZhxkVe4tBx/v+VV0byzPBTp9sRzK2EiZL2YhCW2l0w7qqfmi8rjDOoY3431Nin3QsT8xDkcjz3dOJvqhcc9eLqJosjyQmqs3KRpmt4XxcOlrO4+3dxos7y9ZUhSZmLH32TmF2obiJOJhODP9r7ku+1557uuok1qHRpbIL+8vvz4PYDv/v33v/zpW/6+M3+VmR7PrbEa+K96+9hh+0ajWLRN78fJ+/T68eWn52d8/2P78rLRDvsewd7m8M8fJuhql3+q5L3aL/rmj3/92/NzZ/bPP/3v0/II5XDJA47Kt2yGcwqv+N1U3rZ/x1jyFobPuRDSyr+V2Y4T0XWUHopLDLOHNI1OiJBvovSu8Ax0n4M5dPWH/kTCz6FnJ3L/UC/34wf4LkSdZ6ga5PH00zdDFnvGi/aklDITluTq1P7xUNl/Smtyhvom1M19geYUtD3eSKoTTl96h9nl89dzXuR5PW/svJSU++QN38IbbdJD8UZh9dPdzMiAifpMkuQ++QL/R8d5AZ5+TH95CBXs8oUUZZfIFV0+MbdN07uimLTBx6JILxWLhHwnMsuHS9lNzdZU6SqrrLLKKqv8puX/EHWEkP7TC5MAAAAASUVORK5CYII=",Fh="data:image/gif;base64,R0lGODlhlgCWAPf/AAAAAAAAAAAAVQAAgAAAgAAAjwAAlAAAmQAAngAAqgAAqgAAvwAA/wCAgACAgACZZgCZmQCfgACiiwCkfwCqVQCqgACqgACqhQCqiACqjgCqqgCq/wCscgCsgwCufgCuhgCuigCvgwCvhwCvjwCwggCwhgCxhQCxhQCxhQCxhQCxhQCxhgCxhgCxhwCyfwCyhACyhwCyhwCyhwCyhwCyhwCyhwCyiACyiACyiACyiACyiACyigCzgACzgACzhQCzhgCzhwCzhwCzhwCzhwCziACziAC0gAC0hwC0iQC0iQC1hAC1igC1kQC2bQC2gAC2gAC2hgC2hwC4hQC4jgC6igC7egC/gAC/gADDiwDMZgDMmQDVgAD/AAD/gAD//wD//wEAmQEAoQGA/wGxiAUAnQYBoggAoAkAnAoCowwAnAwBnAwCnwwCoA0AmQ0Cng4Dnw4Dnw4Enw8Eng8Eng8Eng8Eng8Fnw8FnxAEnhAFnxAFnxAFoBAFoDOZzDPMzDPM/0C/v0C//0Df30W+30ba/0m220m2/0u56E2z5k6x2E/E40/E61C/31DL5lDP71PE81S85VTH8VWqqlWq1VWq41Wq/1W65VW73VW/6lXA11XG/1XV1VXV/1X//1a671a+6Va/8VbG41bM7lfB5VfE7VfI7Vi+7Vi/51i/6FjB5FjB6VjD6VjE61m86Vm/5lnA5FnA5VnA51nA7FnB5lnC51nE51rB5lrB5lrB5lrB5lrB5lrB51rB6FrC5lrC5lrC51rC51rC6FrD4VrD5lrD51rD6lrF6Vu221vB5lvB51vC5lvC51vC51vC51vC6FvD6VvG6Fy56Fy/4F3G713R6GXM/oD///8AAP+AAP+ZAP+ZM/+qAP+qAP+qKv+qOf+xO/+0Mv+2JP+3OP+3Pf+5L/+7Nf+8O/+8Pv++Pf++Pv++Pv+/F/+/PP+/Pv+/Pv+/P/+/P/+/QP+/QP/APv/BNP/BPf/DO//GOf/HL//MM//VKv/bJP//AP//AP//AAD/ACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBADNACwZAEMAYAAQAIcAAAAAAFUAAIAAAI8AAJQAAJkAAJ4AAKoAAL8AAP8AgIAAmWYAmZkAn4AAoosApH8AqlUAqoAAqoUAqogAqo4AqqoAqv8ArHIArIMArn4AroYArooAr4MAr4cAr48AsIIAsIYAsYUAsYYAsYcAsn8AsoQAsocAsogAsooAs4AAs4UAs4YAs4cAs4gAtIAAtIcAtIkAtYQAtYoAtZEAtm0AtoAAtoYAtocAuIUAuI4AuooAu3oAv4AAw4sAzGYAzJkA1YAA/wAA/4AA//8BAJkBAKEBgP8BsYgFAJ0GAaIIAKAJAJwKAqMMAJwMAZwMAp8MAqANAJkNAp4OA58OBJ8PBJ4PBZ8QBJ4QBZ8QBaAzmcwzzMwzzP9Av79Av/9A399Fvt9G2v9JtttJtv9LuehNs+ZOsdhPxONPxOtQv99Qy+ZQz+9TxPNUvOVUx/FVqqpVqtVVquNVqv9VuuVVu91Vv+pVwNdVxv9V1dVV1f9V//9Wuu9WvulWv/FWxuNWzO5XweVXxO1XyO1Yvu1Yv+dYv+hYweRYwelYw+lYxOtZvOlZv+ZZwORZwOVZwOdZwOxZweZZwudZxOdaweZawedawehawuZawudawuhaw+Faw+Zaw+daw+paxelbtttbweZbwedbwuZbwudbwuhbw+lbxuhcuehcv+Bdxu9d0ehlzP6A////AAD/gAD/mQD/mTP/qgD/qir/qjn/sTv/tDL/tiT/tzj/tz3/uS//uzX/vDv/vD7/vj3/vj7/vxf/vzz/vz7/vz//v0D/wD7/wTT/wT3/wzv/xjn/xy//zDP/1Sr/2yT//wAA/wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/wCbCRRYxUmWKlakDFzIsKHAFyFaiIAxwoTDiwwXhYK0cRPGjwKB6RqmS+Qwh1GyGGyiMktKkAxDyNAgA8TMmjJgMiTFqFMbnp0WBdXJsJiuYriMFstVjGEVLFKwIIyK8CnRiSZMTBxxIgRFi0QnNSI1idIispTGTiIaciSvXm6DjRzI0mBKg3hb6pTBga9fmxxg2NQpqadQw0ETLyJKcqlSpkdznWyGxYlUqQcxT4XZwkRXGCYkgm4BAvQJmI1EQRKlljUpSJcYkdIJNxgvucNuuxUZrGXdlnntguzb4a/xviBA9mzTCbHzoLNBHk0a+bHjXAafVsm8XbtUKx9HkP8ejVW0CRYTQV6adKm1e1KORDGCmduk7txybfcODrzl3Y84IXecXxyAxNxzh0EnG0xMNWhddbpEJQV3FFZhYRYfBXZeeRx21gJIlrw3iWsjnuUITPndp6JJ/vXHH0x9xRjgjB0o51NziTlHylkwTffgdUtRZuGE2h1kRXacieAhh6ChdxpIkKRFFokkWqKTbXDhF5cutgHTzF1Z/JYXSzAOCBhOOgGV4GE7DqVTY5A5Vt1ARCb0HZFVXNWCV6Ep2eeHRJHVHnxmwccaW7uNpEuWb+myEJiQYsiWjGcix1YzOJ6lqZtsxSlZgyQ1RGQWeF4q0Hl8mgACoKYKKpsj7ZkYOtAwv6Q4GUZOyHpRTroy1EmvDjXVUEAAACH5BAkEAP8ALBkAPwBgABMAAAj/AP8J/GdHjpo8cuy42TOwocOHECNKnEixYsU2e9TswagRo8WPIEOKnCgnj0Y5chYmlMNwpMuXMBumybhnpsabNGPq3FnRTR6fJVkG3YNSTUgiK5AiSerS1itio5bBetbr5Txz79ClMzevIU2bNHFqTGMxxBKzJc4iSSvSmCu3cN++Gnm1Xjm7eM0JVImQaN+hKCuaQAKDyODCJQgTAals6iypzmb9cvVsVsh3XNG1w6o187+woHHarKg2LdrSSywWewWXtdxncj/WM5cX791yXX2e/Pu3oB2KhIEkLrxC8XCLjn9NtSW1svJnFrfOQ4d5enXNXL+GBl3xtPclps9S/4RlDJIx1+dbw4ZO8S652bXv0i73D2FBv0JTEqVogshwpcQRBkNxFC1jyy7LNcfcVLFIVdF00lGX2XXv/MPRRtt5NBF4Z3H4nVkhUGQeeiS2ZkxF8sUHn3x7EaVfQifJIVhwxQVIHBGFUZRMgjw+s+AzsFRE4YREdiWQaDRp2J2HTIYX4kSuPVOiXG6xN9F8K2Z5W0NA/bQfSEAkJaZixa1gA4EUxfLLKz4qKBUxj1mU1WbWEZlVhTwJtMQHSIDo4VqpVZQeJFLGZYw0bsmG5aJ45TmQmDj6t5SkIPm4C2WSwRKZgx9lRqeE023m6EBpffCnaSGlR2VsIaXoql2jNhkEAwwlRJqYS8bY0tgzDQbpUp3xoGOkQAEBACH5BAkEAP8ALBkAOQBgABoAAAj/AP8JFGhHDh43BQcqXMiwocOHECNKnJhmT0U1e9rswTixo8ePICFilCPHzR6SI+2EXMmy5UKMGjHKtLjRpc2bHU+SPJlHzkk7JuXgHEp04MajM2dqLMr0ppw8I3vy9EnyadOrK5FqTbrnDNavHqNSlfq0rEqwaCFuXVsxrVuHaoD2JEvXzUckMIisQLICyEpir57ZWubqWct26Oahe2fu3cuMbI92DLGEcoklH5BcBmnslTFIzzxD+hwynrl65OqdLldv4dOgJX+6ydOxBV69SFrYKIEXhsdYsJ7N2lXYlq3gsT62M6c4HXN0y+cpjMyxY+Ully1f3ywxtDFXnb+H/wfvqmM91qxXqz4vXaEcO1FneyQCA4aJ23vzrqB/RCIsZ7MsE9xgAybz30TOvbPYc4w111hDZ+wRUgiabWchZSFEJNp4HBbmSi0SqSfieSSWM9QLRPCmH354AbFXRL/Y8suAAgpWIyzLvCKRYtEtqBhjQA5VoXZEXpchROB5lqR4SnonEXokjljOPOYMJUKL+eGmH31ERDQLjWDaWFhyEQHp45nREYXhhdgZqeFnHCrZ2TOusPIkauulV+J5ROnFZZb5uehXRLHsEiaBNk7k4I8MNpaYmmxm1+ZEzshpKZ3fmSdlnu0RBYMN930aKm4eCTbjM7H8MuYyZE5kTjzQOTna43JNrSnCdbce2ZF4hQX2oY4f6ZmaeiZeBQNfeNmw30rCOeMKq7sAGxKPzJlDK1qU4UQaTq0xFBAAIfkECQQA/wAsGQAzAGAAIAAACP8A/wkUKEfNHjsFBypcyLChw4cQI0qc2GaPwYt7zkzcyLGjx4hyEO4J6SYPyT0fU6pcubCiwTQW97jck4alzZsb8cgxKXKnwZ1ucAodOjDmTIwYiSq9+dPkSKdATcpZSjVlTKRXZdKsypWjz6dywI6Us7Or2Yh5sKqVebZtw59kxX6d6rauwqNZk9rdS5ZnWKBj9wr+l3UmzMGI3YwtGRKx4395FNd8TNkmERhEViCBASRlL1jPbCVz9WyXynTm6qFrZ+4d1xJLQiyBLRu2x2evjLkylnu3K4/l6qUOnppcvXJLNWNWTsTEZiIcd4Ge9QuWM+qgbXFk987cPHTdv7P/nmeOKG0kImLPVm9bIu5nkHgbi59bmu6Nwo/nJ66f6GUiJfzHnHITgRYLMtktA9oonzkzEWrkjQeed+hAOFRt7GVYW0S+ybdbbx5OFFw55Ok3nH7ICZXZcwNuBsMK0EEUWnWhKVjjdMv8FtE7FVIY3oQ8uobTehgWqV4IHHqoJIivPCPRiCZGSQ55QmkGY4vL/RfRZ8TYYqOXCYIGi0TdBekjhRYKJVt6RtI2W5If6rakbg5GFJxxJ5444lCZCciiizBKZAuNYN5Y44Ornfndj+kM9YGGRKK3xES4zTfnbpDglyeKJhKVJWYlILECDKFy9Mwsu5A2Co2zLPMKRxRKL8hameUpxWakst1Gmiu1gKhjR/vtR2VVLz7nXEqG2qLMrx4JF15rbk1amUL2NBQQACH5BAkEAP8ALBkALwBgACQAAAj/AP8JFCjHzR45BQcqXMiwocOHECNKnNhmj5o9aSzuaTOxo8ePICPKyeMmjxw7JU/K2ROypcuXCytelKnxohqYOHN2zKPGpMmDP0+60Um06ECNGW3W1Gi0ac6LI1dGBRoVj9OrLZcqVSoTq1ePJQ1OHYuQ5dezEDXS3MoUrduGUAtSPWgH6tu7MZFqxWgWr1+xKE2iPCjHr+F/fGfqPcwYsNjCjCP/Myi5suXLmDNr3sxZ85EWQFYgafES1rNRyF4te4nO3Dt07czN81piSQgkIZZ8QFIb5LNXzyAZe2VM2vCQ88rVK5d8eb2romEAKUFkhQ3qK4h4tAXLWaxdpkf1/zId62Psd+bOp3eNrumU3LXh28YdZeLw4MONucovrZarjvWY45yAyhH4XFFESGcCEjBUxyAM2AEhkWmz/GKaLcuEN95qErHj2ofzoIPePOakI1tR8qW4RHy4RQSLMZD8pl9++xHnyjMSKUcOiQMu11w5RJkwXYIONhgdEAtG9IwttgCH4YUZPlPhKxKRaGKII4ooGzqz6cSbbSuCGd8SItgWkXA20qjmK6zk+GOAPRZI1G1GMlhkdUSAFpEzFEb55JIWLikReq9lmeV5KJIp5qLwRbRfjTOmeeN+EhloaZwIZrcCDNE5uKloEs2yjCvO/IkhqbH0MtFrsWG5ZauwJWN6W24pfmkfcGhGit9/E/FIDpwFOtcUaKJtuqB0oHb0TCzKADfLLqTOEkx5HW15JWxboudUbbvRGmYIH6l5I5ogBRvsr+ZgZeQSyCLRkne7zFLLLMnA4hKhAsbqlnaaHbhQQAAAIfkECQQA/wAsGQAwAGAAIwAACP8A/wkUqGZPwYIDEypcyLChw4cQI0qU42aPnDxyLMaRyLGjx48QDe5JI7KNyDMgU6pcqVBOQTkULbq0mIelzZscC5o8KJIkQpxAgwqsCDPjRaN2iApdelMkz6d7TKZhSjXlxZcYaRqFuaeq145Ow0Jt87UsRKxGsx7FiMesW4Zi45J8S7elG4xq87qpy/cfyZ1hffbte5doTDlJBysObFCx438FKz6efPPDkhJLQlymTBcJDCIriHxe4Zmz2cxLRCyxjFlzCdNePRMxARq0bBOlO/aC9cxWMlfPdqlMZ64eunbm3lFljbr1ZdQdn70y5srY9OquPparV3x7cXL1yi3/tT1aNmkYQEhL3MV71i9YztzzttWR3Ttz89Ddz498njmhzgWImmYhRCTdM5BYZ0yC00lDHUfchRehdxIGRVpo55FX22cR8RYLMvMtw9souzkjEXH+9acffuigCFRmSAjoWnMQYadgddfdKNF25fgnYXcSigfUhhqeB4N6D/X2Xm8iMtneMtlB9E6LLO634pTKASXjcwSuVuONYOb4yjMR8fjjmeT4F9QOMBxpnmwlgBbRbsTY0qSdIfIGS0T3YVkliy4GxSWXSBAokY1iUnejiRBtBx6QQPI4XpsXAhHnCh3ZsiSeTjJ54nF/5mdlOlR12ZpH0i0YpqKQQAhpkD9+OGWCSs/Msgtwoyw5yzKvdMSiisj1+R9sCj0DnCu15BilRxNOqCaxC3VqizLLfsTdfslBS5c9DAUEACH5BAkEAP8ALBkANQBgAB4AAAj/AP8J/KcmjxyDBuUMXMiwocOHECNKnDhRzZ40eyy2ybiHosePIENGLCjHjps9cuRYLCmypcuXDDVytGgRo0WYOHNSRJkSpUGfK3UKHTpwplGaezamIcoU58GVPw/K4TkVJAwgJYg0bXq0q0aPS0IsERE27NahUKdK9SlV4UQkMGxkvboCLoyzOb0axUixLFmxJcoGxovTJEK1UfO4mUgEBhETcInUdQz5LuGXGDcirclxImDBoAFffnnwZEo3Bk3aoSg58uTWMGCs0Dra5eaknScuCfy5d9kQtUnHMW3YYwkks18rb0ybIrFXxGY9G/XsZTp08dClM/duq9i/u0OP//Vo7JUxV+fTvxI5z1y9cu/jl2Mqmblyu7MpLoP1bNZ+Z7P8wp8tILVjTnsGvoPOOweaQ5RYvvGGBFkUlafehei54lE97pXTXnwd1sNUcswdtwIMx1kmESzL+Dfgfv398oozFG2nIIPzLHigdtwxxVt4ISABIUXoQWIheuYheR4rE7lHDocgyvdeU7Hdp6JEy9iyy4tcPsOihhLluF2OOOrIYHdN/RjCFCAZmeGRcJo3EXwh1vlee8F9ZEuXtsDYJ3+wTFTmoDvimKdHST6TZJzn0SgRfHRGCemUh1K0i4zP/JnpftEpQ1GOBpJZKHcLVlqheZAomh560py3oZ2Rwj1nqkeZ7uJKjLAAuN9HpIZqzpjoGDgrrYsmuh5IHnY4z6QODuuRM7FsmakygbZUj47tzeNsS8ZAIpSIDQUEACH5BAkEAP8ALBkANgBgAB0AAAj/AP8JHEiwoMGDBpcgXMiwocOHECGuWLICyAoiMH5E3Mixo0eBJZZ8WBJyZMgQH1OqTFkCCQwYK5C0sGFCpo2VOCPuUbOnDceRIZYEDXoSScicSBHKkeNmjxw7PCNipOmSSEwYRFpiTcr1X8+de9KAFQsxqAihJNGeXCKia9KlTZ+6yfNUzh6HJojUxHrVqkuYRNzmbDMWLM/DdxmmJaoW7VDBK+fOlUPXaWW5DUO4tFi178WtkFMaHo2Yp0+GjFMvFho6ZdzLsCkvbej3omeXNla0Fl2a9Fc1DoUabUwUye6PlF/ble10aWKGJfR2xuiXYzBXz2L9cuUM1kd26Oah/2tnbh5BsIR7I45IPC3HZ6+MuZJP31XHeubqldOvf165gXQxZdlyUDm1ERJ52dYRMbA8M8sysDgzy3bP2LLRO+WNZ8476KSzoTkCpReWb6cdJ1Ax8c2XojGvPKMiRPjxl99+NNYzEE9yBRiXHCYO1OKEDdoCoYO/NPgQOxliKJ6SGr4zkIhQPmfifCrSt2KKzjg0Y4z7bTljQU7tEVePBDljS5EVDilkgw/a15B4Hi6ZZJJkQlTlnSzKV0t8DtXYpYwy1vmQLbAQs2aaQS7ToncNYcghk0zGKahD8UGSJ54tztcnoH/6OalDseyS6KgO7vJQOxrKKSeH5n3KUJ6QwD1XX30wegkoOTa62lCFu2AHpITLuPnQhqmiwyR5ujp06aXwcdQpl/4l+1B3aD4Yy0fikfeotBwZk1SuBQUEACH5BAkEAP8ALBkAMgBgACEAAAj/AP8JHEiwoMGDA0ksCbGkxBKEECNKnEix4sQSRGAQwaixhMWPIEOKbLiQ5AeSIUSqXMlS4AokMGC81GgCyYqNLXPqjOjwpEOGP5E43Em06D+YNmYSUarUqFOWQEv+RLlExNOrIG/W1MgUpkwkWMNSFCq1LMOzYtNGhAmkK9eMNtTKNRi1rsklH+bqFfh1RVuYSwGv2EvYbEmgYAnv/fq2Y2LFH9vsSbNHzZ6RZw9DBilHzh45dtzkkYNnJZK2m0FW3iPZcuvJqdV2Ht35cx7LcvIo7uXqma1lvVeeMzcP3TviBV2vtmyZsuW9xF4ZczW9+quQ9czVK5d9+zxzAnHb//Gcm3we0XL0xoLl+xcsZ7PcPxv18fh3++jaEQe/vD/zyZXJZYx01BE4YHWuVDQPd9xp1+B29fyTG26j2UbeeJep9d4sy7D3m4fJsEcROua8YxxxJxaXTon+tWjZGWpJB8mBBSL4DHUTOdjdgwxu58ZnGJZn249yvKHWMrbI96FvHT4DyzLXSVScfsXhd9yVAP6n5WpyzWjgl9M9I91EPfK443cSlhfkeUCqIdcsHja55G+9xTLRlSnmSaVA/b3m3FzU1SjogDcWQyaEOia6nUCiESkHkaHtleR7c8rpDEUmUpnnilMSlGWWhIlpDCSiDgqJgg5+Vw85EHKH0B5upDL2zCy79GaLMuzNEp1FJW6Kon6xRXSjdQiCZKaO5QQrETGVJiiSiVYqaxE0p+oUoUEBAQAh+QQJBAD/ACwZAC8AYAAkAAAI/wD/CRxIsKDBgwORwABSgogNhBAjSpxIseLEJSGQhFjyAUmJJRZDihxJsoRChkRW2Gi4ggjJlzBjCsS45ONGmxpBytzJE+JJEwpTKoTREEbPo0j/3aRpsyZGj0mjwiyBEoZQqyt+upTKNaTTpWCXiODYtSxFk1iDZsVKpIVRs3AhbhwbtmmJuHgN2mi5AsZaoX2z5h0skG5OsB51Eh7cAjAMoAvXLl6McyPYyZNhEFWIBCjmzwItgx5NurTp06hTq0btStks18RgtjM3z9zseQj3qNHNWw3mZ6+MQQJuzFXxkfXM1SOXvF65egbtyNkjx85uOXncLLYF65mtXa687//qbivkbXTpaKN7R5sg7zTv3w+uFdx4/eL4XVWs7bz5c+Xl4PYPHtgVSF12B/qGFyzLzLIMeQ8+M8svrzxDUXrvrKcee/OgM9s7vLXR24i74RUcJMbcp2JxFkqkHHMA+tdfOW4cOJ2B2NUohxxx/WLLLxAG+Uwsy7wyUYfncahhhiDu5iSJe8CnoFkormgfixVO9NyWMsZoDnbX5XGjmNRJt0dcvQhpS4RrhhfLROwxuaF6t0H55JNpxHViivip+Ex4E73Y5YzOXUegjQfqmNcs43nHJpu9UJRheh0qGaeH/0hpJ295EXelfX8eRxF///UXo0A7lqmjHW6IKceUcXlFB+SQ4A35oEV00mYOpeiZM9AeIu4WbG+L8RnesaJaVGqAW9ZWkBw6vprgbz9WGAuQL83DzqUCGhTlHjWKWJoxR0FnUEAAACH5BAkEAP8ALBkAMgBgACIAAAj/AP8JHEiwoMGDA00sCYGkxEKEECNKnEixYsQfJpDAAJJxYwmLIEOKHLmwpMMQSxx+GMmypUuBJTQCWaGRyAqbMEy83MkzIkqUJ1MuRIKyQ8+jSJG0yFmTJgwiJYg8RUr1pcmrQId+rMpV5NOONptqtBGzq1mLQrOqXSLi4dm3EnHGfOo07Ea4eBH+xCr0Q8O8gAs65VjThE2ogRMLXPIhbUOTiiMzXRqzBVmRu2A9i4XsFbHILBm2Rbky5LNXzyAZe2VMmjFXoEdqZNkLlrNYmZ+Nqv1sVuy8tVylXv2auGtYv+FqnvVLs61lmndrDtnO3Dx06cy9g9hmT5o9avYo/2YN6XRx1q6Ip7dYz1w9cu3rlWtfUI6cPfbd4MeT+JktW6g95xx0vf3ySkXvWGdOdtdVd91A4HkX4XfhtQGYauippyFrFMU3n3sfylePQPblIYcd98mRR3gqAmbLcgQK6F9zzyAnUXYJJnidjgta90+FEYYXHoXi4ZXhkcUJx6FE7pEzD4gezjNfOSyiiJ+JV7phImCxLOOKMzI+92Usv1D0JIPo6Jimdei0E+SbQkqoRl6nDXeknRSVI6WIUPapIotYqpiilYAtM4oyqM2yy5ezQFdRde+suSObDsJpaXhnBGZeesKpBltFU3oo6nzk6CfolSnmYeobiSkzCzKx+FQXjI0VNcimmjliJ+elESbH0pN8ihgqiSnad6UaJtoxp68jXYcmjuZUB2GcRFLIbEujvkffQFqaaoe3blzrUj3YUYrQrt0tK+5LI06kBh73rXtWQAAAIfkECQQA/wAsGQA3AGAAHQAACP8A/wkcSLCgwYMGTSBcyLChw4cQIS4JgaTExCUlImrcyLGjQCQwiKxA0sJGCZBEOI7qBctYr18eY3a8aJGiCJoan0Ey9srYzp6QZAp1CBKGCZQjYQAZ2QLiM1u/YD3dJTXWMlhDsx4McZFrTYxdHRpzxXNsWVfPer7SyvafCSInQyYVWXSkQ6hSbV19uncWzLZZK9Ic7HViw55kySI+mxZwVhFII8slErLhKFjO9ObdqxctLcdDC4sG+8Eww8RnUyN+BlqoSMp05da10XAZXr6bpcJatrZ1zK/AB3c4zPOZYrOrX7H27dEGDKOS6a54qJtzX5bENqZDFw9dOnPvFqr/2dNmT5o9G8FyvSka4thaaI//9Klxnrl65fDrL1dQjps9csgxXoAbEdECEW8ptQJlGkXljFV5UfUMVhG1Y459Fr6DzjsXmjPQHuOdFyKI6G1kAmEcQXOcfBrVc1859un3Yj0CBZiHHHb8h6MaN9rB3EK8OTOKMq7UsotG32nI4TwbXugdeP+MV954VJpH4o8MNcbRfeS4KON++OlohxwA3lgmj3Jg6RiT3zG5ZJMcvkNilXSSV6KabOU345742SdHHgOa+SeZAZKJJ1tvJurkknM2WucZh2qVn55fTorfgAGWSWgeOr4RaVZMWujmouBt6Oip432qlZeUtkrjP2PeQSgop2W6oWpWpYpqTpvoWPihiFaOqMatksYIo6UeDuTGmADaEagccRDLVj1N2jfPQcIGKy1orzLk7B7LDrstngEBACH5BAkEAP8ALBkAMwBgACAAAAj/AP8JHEiwoMGDCBMqHPjKWSxkrpYtnEixosWLB5+9MubK2MaOkDCKHEly4SxYz2Ilg+UMli2Us0rKnClyI6RnIHHiNEazp0+EKEfZcuXM1jKYv2BJ/Mm0JyRjNz965OgRZ9OrMp3N2uXqmVGUX1NyxUoW41OpaKluLMuWoq1RxMLKPZqyrd2ENjWq3dvxrt+CXrl6pRt21tK/IkksCbGkxBKMUzumjYpYZAkkMIisQNKCSImLz7YS/dryZeWLjRenDoFExGKLT7ueharztMXNMGDg9qzZM+jCv17Ztuj4w+rVSBzXfHbzr5o9buRgxGxjt3XMRGyjM/fOXDtz8xDm/3neZs/zNBYZO1avev0SEZXJ1Ss3v565evLLFZTjZo8cOc/9pwZFKxBhAnbX5bYZYui0g848DXJnTjrcoTOQeXukgaGG5E2UXHsgMiYiYvbhN8995MxDXznh/TNeHnLA6J+MMbrhIQxAJGggETDY8BeFEAKJTndBgvfPeRg+pySGE4kYYmrGhfDXiiXSdx+V5Mgxo5YxcgkjjBNVp5lu2B3Y2QqIQfgdhEQOCd6DSca5ZHkDLqQaY1EulhwSiLFI5ZVV2hdjgDTS+J8dFOlGRAs2mMCjZ3ymWWGblIKHIZ1yYnhGRaq5xpqUpwEqan1XBvjfljMGiFGBnQ33z4lCVkeq5j8cZrqkqzLVZyWp9QnEn392BGhHf//hKtOb3b0TIZvmXFhrrecZO9OJ+AXaLEG/djmjjdJO6x14EyaEaRp5dMtUPQcFBAAh+QQJBAD/ACwZAC8AYAAkAAAI/wD/CRxIsKDBgwgTKhw4i1gsYrCWLZxIsaLFiweNvTImzZgrjrVcYRxJsuTCXa6ejeoFyxmsXq6c9TJJsyZGjR5rbfz46hkkYzaDCkUI61msXUVtLSs661fLoVCF/kz5kadHnCmjajXp0OkzpUmXPmsqcqvZix13Yl278axbiskiyv0qFuwzWG/zJtwI6Znav1f1CjYYy+ususteLYvlbLDjgX6N9a169eerx5idzUKp2amzwpcxP6Z6deezsqIxJ7OlbNTdZKFTy352Sbbt27hz697N260cO272/FazhyQRE0RWIGmBu525eeaczztInHiaPdWLX1wSYkkJ7ki+y/+uZ64eOfL1ytUrKEdO8N9u8vyWo50iEhgwTNwnUoJICxiiSYdOOs+h885zA7WB3R7XZZcdRdxF2N13H4S3xGPQpYeeeuWVM50aecQnh3zCkTjcRPfZoB8Mye1Xwn2OEfiOgQUeOA86zr2zoIM7LnjGQt2JEOF3Ew45WHnndbihhuUQNyJ9T5b4pBwLHbefcixiCcMKRAx2o4A20jijjjzyqKAaCnk35JrdtTmYenAuqaQ58b1noont1XfQizAAgWWLWRLB4mAHjlljgdIteGaPDwKpZpGQcnekeXIymd4/wrknpXB2ODlRcqD+qdwKNqwABKEDHnpjoTj+0yCDjMJaOlF3Fbb5qIUYzqmhkgOJCJx8msqBR0WBtqCioPzB6Biiz5lD4I0EErToosRdRCESQkIqGofpzQMndAa9ZweUJHH554sr2DYPO6xOp5AbNkUhQhQh8LaeQQEBACH5BAkEAP8ALBkAMQBgACMAAAj/AP8JHEiwoMGDCBMqHBhrGaxno5ItnEixosWLB425MvZKI0djGEOKHDlxmS2HzmL9cuXspCuSMGNi9NhxY0dpzzbK3MkTYS+Hz04+FPps1rKeSHnWfAbpo02aIJNKHbkLFjGiWJe9IjZrqleMNZ2KfcX02dezFJ3N+jUUKNFYu16inYvwVa2weKHS3Vtw1sNYydoKNsu3sECoTze6Ymq4sUNio3oNXdmyceOwiyE9q1nL8mW3QGGNTGduHrp35t55Drn5IySR5OqZq1dONm3Zq/maI226XerdpdEZbLNHzZ4zuXnaJjdvdm3n9QjKkZNHTZ44edzkSQ6zHTrTqMEH/+ctcE+a4nuIGz+fRmSJJblrP78N3fm/6dX3THej346cPRetAIQJRMCAxApIWCbegqcFp5p65qFn3IQAUvTBEu9d+F4I8BlWzjzy2Tbfc9ppR91/J+onhxoUGbgCESvYgCAMMHbIF28NMhhefudR6GN6C3GYIRIbYrgEh4XVR9+S5RiX4pN5oCjHQjIiQeOMMFoJIxB8oYZjeDmi046EZFLY40JFpnmkkSEUJuKb0N2XH5Qo+ofHQlpiqaeVMCQp3jtiOmjOPzyWSeZCRxK5ppoaNtYck/MQFKV/+kWpIn9TLkRECXl2CgMMCCpojm+mpVMQhBBS2AZFagq56JHcITzkpByY2uFkRZ5meaWVsSqEXo/FXcTmsEX2qtB0K1Z4kQl8MgsDEJzSaOxZF4rwaggJTovWgbr2qS1BAQEAIfkECQQA/wAsGQA3AGAAHQAACP8A/wkcSLCgwYMIEyoc6MrZrGWvli2cSLGixYsHjb0y5kojR44YQ4ocufDXqGexksFyBsuWq2e2QtYzl87cPHPoSOq0WKsjpGcdO27sKO3ivHIz6yE1V2+nU4Wwno3qFdXWsqq/olqch64m15rvzL3L+bSswI0/h3oU+gySMYpKky5VenSeWbMOs8K8ujfqrKwTuYYVbBNd2LDs7j4V+lGt47cL50qWO1OxU2SjiFmtynfzM1gTBxsuLLqdTcs70T57zNhVrYlMJ8eWi1qn5s64/UoMjM404d+GDe5Rs6dN7YmrGytPSxGpc8pMyd0kKEeOmz1y7BA/rhDmroabncX/AkzRa2/ShU23E7gnzfD277ePXDIyrfKgF+k+n81UYHXr2NnhRh7ZyZHHRTDYUAISCa6AhEh99YXReV+lZ5M5AhFHnHsaxrdHRSEsUcISIY4Y4kivAEXMSObYMxc5SZEj0IADGigHdgQG6AZFMBBhAoNEONhCkA9ypxA66L1DkIcdNtneRCKSGGWJUho5UWUFEWcjjjfaSKAdC8Hg4ApE9jhmkERYGRKTbLYx3EImTimniWpiZOB1W+ZZ3YcJLUimg2YCSWaPdV70nptOdrgQiUjE6aiUJRRqaHV45pidlnCWqSmgYhYpKUWIwuekcRM9SmWIqH5qUY0CEghgdRQxQAjDgoH2WAIRMPygqkWhhprGRUiIAOmwJ+56UR5uaMfnRbTC8GMLQCwIrbGfjihsCI0ySu2uQJpARAs2bDtRQAAAIfkECQQA/wAsGQAzAGEAIAAACP8A/wkcSLCgwYMIEypcyPAgOnPzzKUz966hxYsYM1qMZ65euXodP2ocSbJkwojz0LWDqBKiyZcwMXqcGXKmyJg4cxakaG5lync8V1bUSRTmR3IRaSotV7RpyXctf7IEmrKd06sZP9bcStMe1q8MJ0odiw4oR7BoER4FuZQt07RwCUYUW3Yqy3RxNUp79sqYK74abbodbC4vxlfLYDmL9QvWMlu9MLL0WRfqSsMXIRnrC4mvMc19MWqth3TtW8wMZyV+phrWM1urbdmSnHKi5cKoG/rd3dfV5s+bR34sN0+hnDxy9hyXYydvY2ewXUd/nezvrKZt9qjZk0a7d40hlpT/WBJexEXfvnv/Tu+3VlE5eLYzl2/HTZ6LSGAQWZGfiAkkLVj0WGOvxbaaY68Q1d12DHrH4H0MkYeECOSJV2EJDYHG24Z/vcKKTmrkEeJyyiGnnB1qNKRfCUTox5+L+TEUjGLT1fjLX7Ho5OCODW6XxkLhjRfkhRWGwBA0GrKnJFFulJgcicshh8dC+/X3YpUwwLACEQwx5lprBVrHC1E8ltndjwkhIaSFQ4bnZkPqvfJMh3w9U5R98pkIpR3JKfTfllcG2iKXDSnmGmN/ydaUd9n1uCND5RHZpngXxelXMU7JJ0eeT8rRpBwM7TdooPlpSShGoywDVqPcMepddwytQCmrhBRimNtCn9annKfKTRkqoIOWgMQKMAi7wq0NsdogrBaxySYSbyLb0Kd5fOpGRlZmC4O0eVEYgprkcatQQAAAIfkECQQA/wAsGQAvAGEAJAAACP8A/wkcSLCgwYMIEypcyBChuXjm0qFrSLGixYsV65mrV04jx3kYQ4ocmTCduXno2p1MedIcyZcwM27sONNjx5g4cxpc+Y5nS5PvdAqNWbPox47khiodibJnU58o0y2depEmR5tYN1LdyhAoOqdfV6qc55Kr2YNIs16debZtwXroTD5FOfar27sCya49erUc3rtiA7+LW/avW3Jqy83za/gvWblxGTc2vDHp5MuYM2ve7HYJZ4pq7LjZIyePm5ArlqwAsoIIjB8iYz2z9QvWMq5n9qjZ00a3b4sllnxYEnx48BAWjb0y5urZclfKp8oRTVrObjnW91AsgQQGjBVIWtj/MBHeRsVdr5zN+uWK2HpYtWYpzb07jW/79RsOD7GEP//jSATXkHPPQKIccwdK49xQeKiRR2lykPaghKct5Np43REBHgxEcMchQ688E8sysMxG4my9lCjUfb7t5uJvC/EnQn/E0XjcEiIwhOBzB0L3nFCjQShhhBA+KIdCJhBBHocbatjdd0QsRAxtJdpyopUlzkKiTi12+WJvaShU43820ujfQgbyqOaOxuhU2nUTColdhAqF0B1rGTbZ2ocKpTjllYCWCAuXu/X24qHaxTjmojcip9CaPrLZ3IpzDinhdQw52Zqe3dmwAkO/UGlilYAOhZ+XXTbUX4Bl/odEQz3GRsqjK0oFacd11E23nZJ5uuZkRc+8J2IyzY1S21JdnrrbRa3WeJFzzD3TnI9bBfmgkSEB4SEMJojk3pXBjNLWaJpBBx1VAQEAIfkECQQA/wAsGQAxAGEAIwAACP8A/wkcSLCgwYMIEypcyBChuXTm5plrSLGixYsV65WrZ04jx3oYQ4ocmTAeunYRT6Z8R7KlS4seN27sOBPky5s4C6qch+5dSpQ82eUc+rKm0Y/kNBJdOhJoz5VQ5zGdepHmx6MypVLduvDdzqc8fYqdyLXswXLzZF5FKtGs24JiwcpFafOt3XrkJHrsmDeiOLuAzcX1yRMoWcB2s6qlibixXMKHGyOuJ+6j5MuIQyzRXGIz5oty1OyxExpjiRVIYBBBrbrE54Zt9oievSd2RSIiNi/p/AFJ5xAin7kqK6f4Hjl2RMvJoyYPxRKpVyNpYQN6a4vPZjmDtX3ZcKaxRaf/kb1nvPiGmjnr/r17SQeKwo29eiZNPjRpTIvnWS7neB43/qnBUGowmBAda6sRoVpDycyyCyzPxKIMhLMs8wpR5IVHHm2inaHQZr6tJyJnDBnjSnyuyGeifZAMBSB//vW3nBv7xaGQCURYJ51qrAGBGkO2ePdMkBASSYwtuwy14ZK0hadQiOpFqRtwCkGiYoqvrJgllkMtp9x+MR5n3EKp+XjggQrCsJAtRS7T5pvPwJITc0zW2cZC6Y3YXnoLpYilloCemJNypIU543EM2bCCgjvu6CNDy9jSC5xExundUBpyuGRDSEjJXmcMWbnllSpK80yWRPFnx4ur7uccRTYYTwhDrGhSBGEsbg6Zq6SwLANehptahMQHS+TGZ0UmnhpoLVnix9SLoYk5EhAtABHSLxT+4oozsfwy3yhc0YmZls9AomyLr5klZJDbxsJUQAAAIfkECQQA/wAsGQA3AGEAHQAACP8A/wkcSLCgwYMIEypcyPDgPHPz0L0z966hxYsYM1qMV65eR3P2yj3USLKkSYTtIKJLGfGdRHMnY8q8+NBjPXM2O3acybNnQXQUzbF8OTFlRZ9IZeIkV/OjTZzlkko1GXHoxJYqXU7ditGp15s563Edy9Bq1rPzzpFdi7AjObBfobKdW3BiOrQvW04tsSTEEr4l6BKcpxOu4agF5ajZY0cxyRVIYBCBDAPICsECVZp1mbJgmz2LQ+/5jJHvh79LTvMNgfmfU6ZuPSaWI2ePHDuL5eRRk8ciZRiQW9gwgaQFkcAXic1aBstZrGWxSKq86/KuZ9B70mDXvjhNw9V9w6//RsL3ojFXxl49k5beGCSTSxHSzqO7tm43tnczjDw88mT/JUQGQ0PB2LILLM/EogyCy8GSFHafiSbhaAv5JYJ4GPqFnELnPYMeeq+clx407/mUG3352ZcHfrQptMJx/lH2X2WQMWTLMq48cyOCOxJjIFLYTSgadwqRlyFqfiW5EIgihsgkiEjpdqKK9jW2x0KRWRZjjETAMKBCv/DInI5j7pigT0GmOSFDSR4JHmsKhciek+09+YyJtuFBZX4sMgRclzPOaBlDPvYi5qHPLPcKUtypmWZDbmLIECR1VkqneklVyaIdbtDXm0UwECfZi6MiYRGDZZYZ5p1SRTjaoxgdN+nXRR5ael4tIZYoFYuK2SZHSQHC8ANJq87yiyvO/aKeg2Sp0VpBTT4DyTO5PvssjmQiG51UAQEAIfkECQQA/wAsGQA+AGAAFQAACP8A/wkcSLCgwYMIEypcyPCguHrm6pWbZ66hxYsYMzZE987cO47mKLbTSLKkyYPlINYjp3JixJMwY1o0ly4kyHno2tmUybMnQZYpU0YUulIiQTV43OyRY0cNyRVEYBBZgQQGDJ8XO+LUehNdzXkD2+xRsyfN2LMYQyxRW2LtkrYfMroyNvcVXWMYh7bcG1SgHDlKmZJlKiePRaotbFCVaqIqEYyuns36BcvZZFjPLuL82lWrx39iyYo+K9rwQhFrkaBm67atRUjPIBmzK9uutFoWg0rcq9ecmjxu8hSWs1T40qYMo051vHg5DCAMI8dChtnWMsyjesFa1rDmR65cv5L/Hj+abJqFrNO/dRuC4V27dd/TbZiSZW+J84IONj68+HA8CxFRAnMEWkXVQs/YQlmC1zGI2SzXNeSRTeDtRN6FoSm0nnptqeXhQrXJF19dmTH0TlD57abXP8EFxh9/f+2xUFWKFTiVcgslAwsx1lXXYI8JWoQTRR/pNA876Qh0VmgXksWQh61F+aFC8M0mopWuFIORbkMdtRRg/h03GEMwQCVVc1StoNhjCtGioI9wMngKSRUdxKRZ5ZUlI3rspdYhEq65RxuWhL6CFYvHBfdXYHIcdqNUA64AQwlsMvSKZLtENsqCEG53KGhLnmUWRh1uuB5kdD3jSi1V2vWpQIE1HrWUGyRNikQLUx2hUZw9cveql79eJA0r8KnKyqcBAQAh+QQJBAD/ACwZAEIAYAARAAAI/wD/CRxIsKDBgwgTKixo7NXChxAFurHjZo+cPG4iGkQCA0YJJC2IaCS4y9UyWMRgPRs1kiA6dPPQvTM376CaPTfb4NyTZs/IEktCLBERdAnQlg2NQXr2ypgrpy3/1TNXr9w8qlYLXqwoRw5XinkimiACw0YJskBWcBQZ8eQzWyXf7lJpa2Q7mujSmXuH7m5NgTpv9rxJmKfPh0WJCgW6eAnEpE+bPp0MFeLUqpjJYS5XT6AcNXkuyrEYmnTGhWSJmFirFoZqjhBhLZvl1pbbWb9eOYOIjuZevDP56m23c/DOwjcfNl5utGiJhU8hQZ4u2dhDrFcxY918UzTp0aJDy/9Bvdp1ayLnV7BNuAwu3dpuZcN6KBy4fb7vjusvPFhhc+aMDRXUQtJRVt2B1i3E2YKXcUYVOVe5kUd3pXknhx0XKiQCSOixxhpZNiwEy3skvhUffXvJZF9Mes1T3H76KYdEgDQWRcJCTUmHYGROPfMQZ5ptt92C/1iE4XcWeWXRQx2a56F5UTwESzIl2kbXLxCxuKKKMdUU2B5fIneYQjUC6NhDTDlF3TORQcSgg5tpJ1GS3X1mZESujeVkSGpp1N4vKsUSVyzLuKIRXnfxlaiKBBnn6JgQAfXBfzMOqFGarrDJZi3zjQRnkHIWBFpXEo4XFQxprfVRVALZYotJtLETKlBMM101k6wjCYXrrglhZVBAAAAh+QQJBAD/ACwZAEIAYAASAAAI/wD/CRxIsKDBgwgTKhxozJUxSM4gLZxI0U0eNXni5JFjh6JBIitAIoEBwyPBWMpgPbO1DFatUbFMyhTYZo+aPTVvptkjs8OSEEtK/Ay6RCYkY68ePkt61OHMgeXmlUPI0aIcOTflXOxIUQQRGCJb2CgxkojHWS2fzdrlaqUtlbOIzXyHbp45u+0K5sRpc89OnTwnDhUaAomIwUUnIm242GFSh65MmqtXrt7kypPJDbS5ceMerXI+53Ez8SsME2VXjASiGkaLhb1gOUOrkmXtZCppUURH95053+nu8jb3r+/em8j7TgTKnChQwkEXOjz6uHHDZ04nUrZbjxzl7pbr/f/L6hm0aIxy3ihsQYQs2NYiSapemMzWr9ppbT+D1XIi3XbC+TYPOsHRlU5fySXIVxoKIQHdg4iFsBB1jFX32FLGTFTZhuFhBp45WpEXmnkcaaWQe/GlGBJYC+2C34srLdNWZAvZ1VuAwgE4D4I8Kricc0AK9cFPEz5knYXYUZRZh0xeltVVoo140WelrajiSDCENJEtLsYIoy22UDRgcAMKOFxv/xzXo3ILNQfhc4lNZGGF2GVIkYd4hucdceN9ZseTbvjpEUmovZcaEiuYNMt9z8TyS1ux9GKSjsOVKVxw8Qy0119setTcYXBKKNOFr2D3zEzfXabndwVZVd5T/4ApZcJXrBHxGqz/jCIXrmaSSaBwuFI0FAnBFlvQdxxeZuyyzJpkpoAEBQQAIfkECQQA/wAsGQBCAGAAEgAACP8A/wkcSLCgwYMIEyocaMyVMUjOIC2cSNFNHjV54uSRY4eiQSIrQCKBAcMjwVi/YD2ztQxWLVixTMoU2GaPmj01b6bZI7PDkhBLSvwMukQmJGOvHj5L6vDVs5keOVqUI+emnIsdKYogAsPGipFETIA12UulrV2uVu4yC/Udunnm4KYrmBOnzT07dfKcOBQoUKF/i05c2hBpYYeITZqrV67e4saQB9rcuHHPVTmW87iZyBWGWBgiSX5usbDsslktV6ae9cvpLIpv0b0zNztdXHTtzP27W/em77sT/Q4FTPTvwqRHmRpu2vDpRMZw65FjLN1xvX9WK1/OjFHOG4UtiJT/APsVdHkYXxeuTKnabOpYy15NdJt7nuzbtunf/c3fbhqFSBAn4HA/LZRcYcoxRdhE0z1mXWOLNXhVdphtx9FVCo1nHnnkcUXEQmu1JyJLabkyUX732TebfbbNs9+L/QVX3IxCfVCgQkcdyFxTz5g4UYQPBgmZVVRlVuFFlnFWXmihefXhQrOEyJJ7ZtlCEYu3rXjfbO/80xuMwC0kwk8BEhiYRwki2KMxHk0HWZBA6oadZXYQ6QadHpUgHkihoYcEaRStp1IsaD0Dn3wU5Udblrfl1iVNd+UVpkdjhoBEpUN9MJOCJbIpk3TRQVjdYwRNpR1U/5TgpHlPohrMK8SMHoLqoljWig6qJllaAq68HkTdm6T2KuywM2m5IkEBAQAh+QQJBAD/ACwZAEIAYAARAAAI/wD/CRxIsKDBgwgTKixo7NXChxAFurHjZo+cPG4iGkQCA0YJJC1gaCS4y9UyWMRgPRs18mA7hWr2xGwjc0+aPSNNLAmxRMTOJSWWtGxozFXRo65aCjRnr1w9c/PKGbxYUY6cqhTzRDTBEUgJIjC8dtW4S+Wsk85m/VIJayQ6qOjamXuH7t3cgTRj3ozJ1ybOhz+D8gz6AajQh0SNvjq62GjSiObqlZsXmdxTyfMEylGT56Ici51BZ1wIFsgKjkROw7ChesVDWMvOqrR18pnaV84gz4sL1+5uuf9q7q3ZN+bDwYGTD15oFFLi542NPXRqObJT65Ilx/QM+rPnznJIc/+FkRq1ahgriCxcZqvsM9qza8Nuu5Buut747RPf3zevQiSCGYYcTz6FsJBzjkHHmHQLOeXgZdfVQw5lF20XGndWfaYQVy2UR55qqYFlw0KwxGfie/I95Ftd+O3mm3D87XccgMoJuAQJCzX2THQ8FvXMQ9gFmZ11wclhh3cX2rHdQx42CeIKhykUyy+voGgiMWpB9FuLLNL1zj/D5cWfVoANaGNQEBEFyY5IGSNNQxBFKOdl1Ulk0WZ3bmdHROSZABYR45WnEXsl2bZWWss8BhFccrkIlTnADTTcpH9ttURhAaI5EpuKFVULfRFJCGFUQ9ZTkIWeKSWQWKt9pOo/ttgZYtJZqjbKm5eQJqTGqxvx6utBD1om1UABAQAh+QQJBAD/ACwZAEIAYAARAAAI/wD/CRxIsKDBgwaXIFzIsKHDgfYaurHjZo+cPG4eGjRBZAWQFURgANFYsJerZ7F+uXJG0mA6dPHQtTNXj51BNXtwtsm5J82eliGWBC0hFAnRlv+MvTJ2cqmrWq6QkqtHcyrNcvPKEbxYUY6crhTzaDSBBAYRsmZLlB2p0dbKWSqJwYUllyS7d+bmoUuXFx1evQJ34vSJs3DPnw6LEh2qWKHDZ6+eQVLKlLI0yBqp1iunmfPVegLlqMlzUY5F0qczNgwJRK3ZFWWJuIbhMHKsZbCe2cKtu1fuhzPf+e37d29enoR5GsbpkLHzJYuhO6zslLIr6w+rdt7OuRzO0qdNl/8mLYchSNcdY8OGAQN2w1+2fuXePZ/3rGWvHOrlq7c43v/KBWiYYAxBJ5SBzwUVQkOTVecgU7Us5ZBnm2131TzmXPQdauB5ZRpDIay1XnqvhUREQ7bQRZ9uvO0WGSwO+UfcjPPwJJiAPDWH4I7RLcjQUtJYJ2Rk1zmk3WefdfePRV6Fd9p3Dn3UEYnprWDDCkc4dN9JK9In1y4P7UfjcMKl88+NywX40BIfIKEggkY51hBkz1z3oJ2ZIVnhhQOB9R1FTGoEEkhpIXEeEiQ5E19usSRz0ii4taTXTBjyJ1NByWWK2FhswnlUS5AxVWedSiH1D4abZVXhQRuWZqpAJMIeUMKJphIDC2+xODPKq6eSuVdDavAqbEPGQDKsQwEBACH5BAkEAP8ALBkAQgBgABEAAAj/AP8JHEiwoMGDCBMqXMjwILl65SDGK4fQTR41eeLkkWOnoUEiMIisQAIDiEeDsJz9QuYq2cmC6N6ZmxdzpjmDbfao0ckzzZ6XJZaEWCJC6JKgL/89e2XMlTGmr2pBSlpunrl6D69GvDmQo5w9HHfKudix4UgYNkqABHKWyElksJ7Z2uVKri1Yy2ydNCeTZrqZ6NoBFphzp0/DPX8uDDq06FDGR5c0fNq06TOnmJ82jMi5nlbPECH+07lxI1jTY90wBEnEBEmRr13DgMEw7qxfcW0ty73bWUOZ72rS7Ivu7zyehXnuXK5Y4WOjkKMvZAqJslOmmZ0y/Mw9NGexqMNj/5TzZmHr123Tm1TobC7v985i7WZIU/BwwMD5Kt/PPGcahUhEB51Rji1UHXbWWbeUMQx1tlVoWlk1FnhfjVWhHWMthEQLsIWUHmsL7fKeXLuR+MozsDAEnHAs2sffizsxFEKAAz732EKZIajjZb4tFFFWEHoHkVh4VBieG2AxxBZ6THrIEDLukTiifB4Vh9+VwbHzz2Ew8tRQjZE9N1mOlSHoikegPajmPF2BZQeScshhUYYNhWQCayNxONJJz9w2JW4v1cdXYIClU1ByXMZ4UlEfhEnjS9dZdmJdTCX1z49pVnRahXJY+g8RJcS2XlIk1iVfip4KlA46bDKkRqqwKgeEWS2xLhQQACH5BAkEAP8ALBkAQgBgABEAAAj/AP8JHEiwoMGDCBMqXMjwYLl6D8vFK4fQTR41eeLkkWOnoUEiMIisQAIDiEeDsJz9QuYq2cmC5t6Zm4dO5jxzBtvsUbOzZ5o9L0ssCbFExNAlQl/+e/bKmCtjTV/VgqT0obl65OpdLXeTIEc5ezjylHOxY8ORMGyUAAkELZGTyWA9s/Ur5ay6y0adNNduJrp0fm3i/KeT50/DPoEuFErUKFHGSJc0hOqUMiTKT181zLpVK0TPXCnu3LgxbGmybhiCJGKCpEjXrWE0lDtrmVxbtp/VTtmw77uagf32ndezcE+eyBUrfHwUsvOFTS83zVz56VOGVzl/7hxx7OnvGOW8/1n4OqRbtDBWvFXozNau27lxp4xlmyHN4cBpyvz97rj/5DqloVBkzBV4VAgLSVfZdJgxZQxDEW0noVVkeQcWWRfaQZZCI6l3nmvqhbTQe3PFZ+Irz8DC0H75tTjcfzDyxFBjzdX42ELWYaYjiq44AyFWoAXZXVh4XPidG2GpFmJ5r7WQ3noJIUMXfFQ+Q59HfwWnX0zotENYjP4x9IGNBCJh1GTR7VidRzdNCNo8A41lB5JyyGERRx61INJqI+lZAhIn6baLKyXStoxmJ903kzmA3VeQcYf19JJRYzKGRFIvOfUMdZkp9U+boX120J2neSpQerAB6ikx8rF6qKkD7Q/HDqymSkbrQNBIcytDAQEAIfkECQQA/wAsGQBCAGAAEQAACP8A/wkcSLCgwYMIEypcyFChvYVu7LjZIyePm4YHkcCAUQJJCxgYCwZz9SzWL1fOYIUsmA5dPHTtzNVjZ1DNHpttbu5Js2eliSUhlpQAimToyn/PXhkjqdTV0qPk6sksV49quXnlCFacKEcOV4l5ML7QSMQE2Y4wgIS0BcuZSVfEZi0jqRIju3fm5pmL+Q4d3nnoBOa0ydOm4Z09GRIdGpRx0SUNkxqDJNnpq2eWMUqtqrfqZqoC5ajJU1EORdKnLy4kkhYtkRVnNa5geHlWMljPbC3DPesX7oZ8/eYVDjhdXp2FdR62ybAxUKHPGQtd6NTyUmNNsS91xlBm1KmfPZf/s1n6tOnSpOWsNgvjNVnYG1cQWejMlu/cu/Hznsuw+PC/wuH1jnIEHjaYQo85p+ASIgBFnXbWRViLUgxRBd6FnJlTEXmoldeVaQqZ1YJ77cH3Gms2LMQWMbrh1iJ+l9WlEIA0/nccYQUS2FyC0C1IwkJKSQPhkJc51Z1nGFpV1T8U2XFeh3aQx9CJ8pkIWwtArADZQrHMpZ9+ce3SUF8xAVZjX+n8k9xgBYalWAhIBKXgY5EVSeR1rmiW5GfzDMSVaBQBKocdGJXIGhEdyddRSLndF4syJI2yzCsrAVamOcZZWlBynCaG0U8f9EjnShAmhVlSR/3T2VVKHsRhaakKIAQEWjYsmmpK98kVS6yqBohOmgqpwatBSAxLkDHGNhQQACH5BAkEAP8ALBkAQwBgABAAAAj/AP8JFChHzR45dtwMXMiwocAjJoisQNIChsOLC3e9emZrmatnsDCK/NfO3DxzJec5bLPHYJqWe1iOZGhiyYclJWziXDKTobFXxiA9AwrJmKueDE/WK7e0KUM5edzkQSgVIVSkE2HAmNjChgmKFpHugvVs1q6PtmyRjYVUYDqTKM29Q/fO5MCXBlka3Auz55IQfwPnDIEkZ09WQF39NLpY8dGeSstFrmduqcp/edRMnXqQM9WZRGB4RQJDImkiJU7PhOVs1jKyHWEnIwtZLl2Tt+ehezsPJl6YfPOOBCxCsHHAIUYSbcz8o+KZlclRblqZqXWDUOV01p59qh2Rpb+W/85qWusKIiN/2foF+zVH97CWvZqpm3fu23XfAd/PV69I1MfthNxfIxWVGHOJDfXMTExVN12DlpkjlRvbVSjHhXuIlBoMQJDnYWjoidRLeyS+9xFbI9Wlm4r3qQiTXvz1NZyANA5GoEjLHajjMx9BR92P1i2F2YUUZneQHdjNZMNE53lI2pIhimRWibFx1EtP8aCTUou2vfMPjL/x9dJMyBUWoGEzDcXYjo4h9eCbDg5UZELeFSkHUuGddt54Uaa53lq/nPhaW5VpCZd9JS0E46IZtjWgjYCV0NY/jSnY5qQQShZkOQ0VuYedkwoEAxIfhioQR79sFAt7pv5jEjv5aRSJjkhqtNpQpLYuZEyuDDElHUMBAQA7",gC=gS([...L1]);function Q3({htmlString:l,wpAndTaskId:t}){const[n]=yn();return he.useEffect(()=>{!l||!t||n.update(()=>{const s=Mn().getChildren().filter(_r);s.forEach((r,o)=>{var h;const a=r.getChildren().find(Vs);if(!a)return;let c=r.getChildren().find(m=>Jt(m)&&m.getTextContent().startsWith("Figure"));if(!c)for(let m=o+1;m<s.length;m++){const g=s[m];if(g.getTextContent().trim()==="")continue;const b=g.getChildren().find(v=>Jt(v)&&v.getTextContent().startsWith("Figure"));if(b){c=b;break}}if(!c)return;const i=typeof c.getId=="function"?c.getId():void 0,u=c.getTextContent(),d=parseInt(((h=u.match(/\d+/))==null?void 0:h[0])||"1"),f=i||Rc(u,d,t);a.__captionId=f;const p=new qo(c.getTextContent(),"black",f);c.replace(p)})})},[n,l,t]),null}function X3({htmlString:l}){const[t]=yn();return he.useEffect(()=>{l&&t.update(()=>{Mn().getChildren().filter(dr).forEach((s,r)=>{const o=s.getPreviousSibling();if(o&&_r(o)){const a=o.getChildren(),c=a.find(i=>i.getTextContent().startsWith("Table")&&i.getId&&i.getId());if(c){const i=c.getId();s.__captionId=i}else{const i=o.getTextContent();localStorage.getItem("tableCount")-1;const u=Dp(i,r);s.__captionId=u,a.forEach(d=>{if(d.getTextContent().startsWith("Table")){const f=new qo(d.getTextContent(),"black",u);d.replace(f)}})}}})})},[t,l]),null}function eR({setEditorEditable:l,htmlString:t,isEditable:n,setIsexistingIdPresent:e}){const[s]=yn();return he.useRef({}),he.useEffect(()=>{s.update(()=>{const r=new DOMParser,o=Ww(t),a=Vw(o),c=r.parseFromString(a,"text/html");c.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(f=>{const p=f.getAttribute("id");p&&f.setAttribute("data-preserved-id",p)});const i=Ed(s,c);i.forEach(f=>{if(jd(f)){const p=s.getElementByKey(f.getKey());if(p){const h=p.getAttribute("data-preserved-id");if(h){const m=CustomHeadingNode.create(f.getHeadingLevel(),h);f.replace(m)}}}}),Mn().clear();const d=En();Xo(i),Xo([d]),s.setEditable(!1),setTimeout(()=>{s.setEditable(n),l(!0)},5e3)})},[s,t]),null}function tR(){const[l]=yn();return he.useEffect(()=>l.registerCommand(vs,t=>{var s;const n=t==null?void 0:t.clipboardData;if(!n)return!1;const e=n==null?void 0:n.getData("text/html");if(e){const r=new DOMParser,o=r.parseFromString(e,"text/html"),a=e==null?void 0:e.match(/<!--StartFragment-->(.*?)<!--EndFragment-->/s),c=a?a[1]:o.body.innerHTML;console.log("fragmentHtml",c);const u=(r==null?void 0:r.parseFromString(c,"text/html")).body.children;if((s=Array.from(u))==null?void 0:s.every(f=>f.tagName.toLowerCase()==="table"?!0:f.tagName.toLowerCase()==="p"?f.innerHTML.trim()==="<br>":!1))return alert("🚫Standalone table was pasted — blocked."),!0}return!1},wo),[l]),null}function nR({initialEditorState:l,userObj:t,CollabApiKey:n,docId:e,mentionItems:s,type:r,updateSharepointList:o,updateSharepointList2:a,savedComments:c,styleConfig:i,handleSaveComments:u,pagination:d=!1,customHeight:f,customWidth:p,isCollab:h=!0,defaultState:m,editId:g,toolbarShow:b=!0,isEditable:v=!1,showTabContent:_=!0,wpAndTaskId:E,enableCaptions:S=!0,showPagination:w=!1,setshowPagination:y,editorTitle:x,showPdf:C,showCommentPlugin:T,exportToPDF:R,editorForTemplate:F}){const I=he.useRef(null),{historyState:B}=j_(),[A,j]=he.useState([]),[O,L]=he.useState(""),[N,U]=he.useState("skyp_1"),[D,z]=he.useState([]),[K,G]=he.useState(!1),[P,W]=Da(),[J,H]=he.useState(null),[$,Z]=he.useState([]),[X,Y]=he.useState(null),[ee,ie]=he.useState(!1),[fe,de]=he.useState(!1),[ne,Ee]=he.useState(!1),[xe,me]=he.useState([]),je=he.useRef(null),[ue,se]=he.useState(!1);he.useState(!1);const[pe,ce]=he.useState(!1);console.log("codoxStarted, editorForTemplate",K,F);const Te=async()=>({state:{root:[]},timestamp:Date.now()});let Ae=()=>{console.log("[Lexical Demo][onBlacklistedInsert] blacklisted combination found")};const{userName:ke,userId:Me,userEmail:We}=t||{userName:"aa",userId:"aa",userEmail:"aa@sample.com"},De={name:ke,id:Me,email:We},Le={docId:e+"_"+g,apiKey:n,user:De,hooks:{fetchDocOnNetworkReconnect:Te,contentChanged:(Ht,ct)=>{},usersUpdate:Ht=>{j(Ht),renderOnlineUsers(Ht),console.log("asadasdad 111111111",Ht),console.log("[Lexical Demo][usersUpdate hook] hook invoked by Codox: ",Ht)}}};he.useEffect(()=>{let Ht=[],ct=[];A&&A.length>0&&A.map((Ot,we)=>{ct.includes(Ot.name)||(ct.push(Ot.name),Ht.push(ae.jsxs("div",{title:Ot.name,className:`avatarStyle avatar-color-${we+1}`,children:[" ",Ot.name&&Ot.name[0],Ot.name&&Ot.name[4]]},we)))}),z(Ht)},[A]);const Ce=()=>{je.current&&(je.current.initComments(c),["content_changed","error","users_update"].forEach(ct=>{console.log("[Lexical Demo][[Subscribe to Codox Event]: ",ct),je.current.on(ct,Ot=>{})}),je.current.start(Le).then(()=>{console.log("[Lexical Demo][codox.start] success"),G(!0)}).catch(ct=>console.log("[Lexical Demo][codox.start] error",ct)))},Xe=()=>{je.current&&je.current.stop(),G(!1)};he.useEffect(()=>{setTimeout(()=>{Al('[class^="finalProposalEditorContainer_"]').animate({scrollTop:0},500,()=>{})},1e3)},[]),he.useEffect(()=>{Al(".editor-outer").css({justifyContent:fe?"flex-start":"center"})},[fe]),he.useEffect(()=>{(async()=>{if(!N)return;K&&Xe();let Ht=m;if(Ht)try{mS(Ht,gC),H(Ht)}catch(ct){console.error("[APP] error: ",ct)}})()},[N]),he.useEffect(()=>{J&&e&&!K&&n&&setTimeout(()=>{Ce()},2e3)},[J,e,K,n]);const Ie=he.useMemo(()=>{if(J)return{editorState:Ht=>{Ht.update(()=>{const ct=new ef(Ht);c&&(ct.setComments(c),Ht._commentStore||(Ht._commentStore=new ef(Ht),Ht._commentStore.getComments().length===0&&Ht._commentStore.setComments(c)))})},namespace:`editor_${e}`,nodes:gC,onError:Ht=>{console.error("[Lexical Demo][Editor Error Captured]: ",Ht)},theme:sy}},[J]),Ze=he.useRef(l);he.useEffect(()=>{Ze.current||(Ze.current=l)},[l]);const at=ae.jsx(Od,{children:""}),[rt,it]=he.useState(null),[Kt,Qe]=he.useState(!1),[Gt,Ut]=he.useState(!1),[Qt,en]=he.useState(!1),Et=Ht=>{Ht!==null&&it(Ht)};he.useEffect(()=>{const Ht=()=>{const ct=Mc&&window.matchMedia("(max-width: 1025px)").matches;ct!==Kt&&Qe(ct)};return Ht(),window.addEventListener("resize",Ht),()=>{window.removeEventListener("resize",Ht)}},[Kt]),he.useEffect(()=>{const Ht=ct=>{X&&!ct.target.closest(".reference-toolbar")&&Y(null)};return document.addEventListener("click",Ht),()=>{document.removeEventListener("click",Ht)}},[X]),Al(document).on("keydown mouseup",`.editor-autosave-${g}`,()=>{}),he.useState(""),he.useRef(""),he.useEffect(()=>{l&&t&&t.userName&&e&&i?setTimeout(()=>{se(!0)},1e3):se(!1)},[l,t,i]);const zt=Ht=>{o(Ht),L(Ht)};return he.useEffect(()=>{const Ht=document.querySelector(".finalProposalEditorContainer_c1fd8e2e");if(!Ht)return;const ct=()=>{console.log("Editor container scrolled"),Y(null),Ee(!1)};return Ht.addEventListener("scroll",ct),()=>{Ht.removeEventListener("scroll",ct)}},[]),ae.jsx(ae.Fragment,{children:ue?ae.jsxs(fp,{initialConfig:Ie,children:[ae.jsx(C_,{children:ae.jsx(F1,{children:ae.jsxs("div",{ref:I,className:"editor-shell",style:{position:"relative"},children:[ae.jsxs("div",{className:!K&&!F?"blurred-editor-content":"",children:[ae.jsxs(ae.Fragment,{children:[ae.jsx(eR,{setEditorEditable:en,isEditable:v,htmlString:l}),ae.jsx(X3,{htmlString:l}),ae.jsx(Q3,{htmlString:l,wpAndTaskId:`${E.workplanId}-${E.taskId}`}),T&&ae.jsx(pC,{showComments:ee,setShowComments:ie,handleSaveComments:u,userName:ke,userEmail:We,mentionItems:s,mentionedEmails:xe,setmentionedEmails:me,wpAndTaskId:E,setShowCommentInput:Ee,showCommentInput:ne}),ae.jsx(tR,{}),v?ae.jsxs(ae.Fragment,{children:[i&&b&&ae.jsx(Kw,{styleConfig:i,setIsLinkEditMode:Ut,onlUser:D,showComments:ee,setShowComments:ie,parsedHtmlString:O,enableCaptions:S,wpAndTaskId:E,editorTitle:x,showCommentPlugin:T,exportToPDF:R,showPdf:C})," "]}):"",ae.jsx(Z3,{}),ae.jsx(hC,{onChange:zt}),ae.jsxs("div",{className:"editor-container tree-view",children:[ae.jsx(_w,{}),!h&&ae.jsx(Lp,{}),ae.jsx(U1,{}),ae.jsx(ww,{}),ae.jsx(pw,{}),ae.jsx(yp,{externalHistoryState:B}),ae.jsx(qp,{contentEditable:ae.jsx("div",{className:"editor-scroller",children:ae.jsx("div",{className:"editor",ref:Et,children:ae.jsxs("div",{className:`editor-autosave-${g}`,children:[" ",ae.jsx(Ad,{className:(K||Qt)&&v?`ContentEditable__root ${w?"content-editable-grid":""}`:`ContentEditable__root no-events ${w?"content-editable-grid":""}`})]})})}),placeholder:at,ErrorBoundary:Rl}),ae.jsx(H1,{}),ae.jsx(Sw,{maxDepth:7}),ae.jsx(aw,{hasCellMerge:!0,hasCellBackgroundColor:!0}),ae.jsx(Dw,{}),ae.jsx(mw,{enableCaptions:S,wpAndTaskId:`${E.workplanId}-${E.taskId}`}),ae.jsx(gy,{}),ae.jsx(jw,{}),rt&&!Kt&&ae.jsx(ae.Fragment,{children:ae.jsx(Rw,{anchorElem:rt,cellMerge:!0})}),ae.jsx(BS,{references:$,setReferences:Z,position:X,onClose:()=>Y(null),IsexistingIdPresent:pe}),ae.jsx(zS,{setContextMenu:Y,references:$,setReferences:Z,containerRef:I}),ae.jsx(US,{references:$,setReferences:Z}),ae.jsx(M1,{}),ae.jsx(HS,{})]})]}),!K&&!F&&ae.jsxs("div",{style:{position:"absolute",zIndex:999,top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(255, 255, 255, 0.6)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"start",backdropFilter:"blur(6px)"},children:[ae.jsx("img",{src:Lh,alt:"Spinverse Logo",style:{height:"60px",marginBottom:"20px",marginTop:"110px"}}),ae.jsx("img",{src:Fh,alt:"Loading...",style:{height:"50px"}})]})]}),h&&ae.jsx(hS,{debug:!0,ref:je,onBlacklistedInsert:Ae}),P]})})}),i&&ae.jsx(LS,{styleConfig:i,docId:e})]},e):ae.jsx(ae.Fragment,{children:!K&&!F&&ae.jsxs("div",{style:{position:"absolute",zIndex:999,top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(255, 255, 255, 0.6)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"start",backdropFilter:"blur(6px)"},children:[ae.jsx("img",{src:Lh,alt:"Spinverse Logo",style:{height:"60px",marginBottom:"20px",marginTop:"110px"}}),ae.jsx("img",{src:Fh,alt:"Loading...",style:{height:"50px"}})]})})})}const rR=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;let oR=class{constructor(t){this.key=t,this.ref={current:null},this.setRefElement=this.setRefElement.bind(this)}setRefElement(t){this.ref={current:t}}};const mC=l=>{const t=document.getElementById("typeahead-menu");if(!t)return;const n=t.getBoundingClientRect();n.top+n.height>window.innerHeight&&t.scrollIntoView({block:"center"}),n.top<0&&t.scrollIntoView({block:"center"}),l.scrollIntoView({block:"nearest"})};function yC(l,t){const n=l.getBoundingClientRect(),e=t.getBoundingClientRect();return n.top>e.top&&n.top<e.bottom}function iR(l,t,n,e){const[s]=yn();he.useEffect(()=>{if(t!=null&&l!=null){const r=s.getRootElement(),o=r!=null?function(d,f){let p=getComputedStyle(d);const h=p.position==="absolute",m=/(auto|scroll)/;if(p.position==="fixed")return document.body;for(let g=d;g=g.parentElement;)if(p=getComputedStyle(g),(!h||p.position!=="static")&&m.test(p.overflow+p.overflowY+p.overflowX))return g;return document.body}(r):document.body;let a=!1,c=yC(t,o);const i=function(){a||(window.requestAnimationFrame(function(){n(),a=!1}),a=!0);const d=yC(t,o);d!==c&&(c=d,e!=null&&e(d))},u=new ResizeObserver(n);return window.addEventListener("resize",n),document.addEventListener("scroll",i,{capture:!0,passive:!0}),u.observe(t),()=>{u.unobserve(t),window.removeEventListener("resize",n),document.removeEventListener("scroll",i,!0)}}},[t,s,e,n,l])}const vC=po();function sR({close:l,editor:t,anchorElementRef:n,resolution:e,options:s,menuRenderFn:r,onSelectOption:o,shouldSplitNodeWithQuery:a=!1,commandPriority:c=Jn}){const[i,u]=he.useState(null),d=e.match&&e.match.matchingString;he.useEffect(()=>{u(0)},[d]);const f=he.useCallback(h=>{t.update(()=>{const m=e.match!=null&&a?function(g){const b=jt();if(!St(b)||!b.isCollapsed())return null;const v=b.anchor;if(v.type!=="text")return null;const _=v.getNode();if(!_.isSimpleText())return null;const E=v.offset,S=_.getTextContent().slice(0,E),w=g.replaceableString.length,y=E-function(C,T,R){let F=R;for(let I=F;I<=T.length;I++)C.substr(-I)===T.substr(0,I)&&(F=I);return F}(S,g.matchingString,w);if(y<0)return null;let x;return y===0?[x]=_.splitText(E):[,x]=_.splitText(y,E),x}(e.match):null;o(h,m,l,e.match?e.match.matchingString:"")})},[t,a,e.match,o,l]),p=he.useCallback(h=>{const m=t.getRootElement();m!==null&&(m.setAttribute("aria-activedescendant","typeahead-item-"+h),u(h))},[t]);return he.useEffect(()=>()=>{const h=t.getRootElement();h!==null&&h.removeAttribute("aria-activedescendant")},[t]),rR(()=>{s===null?u(null):i===null&&p(0)},[s,i,p]),he.useEffect(()=>wr(t.registerCommand(vC,({option:h})=>!(!h.ref||h.ref.current==null)&&(mC(h.ref.current),!0),c)),[t,p,c]),he.useEffect(()=>wr(t.registerCommand(Wu,h=>{const m=h;if(s!==null&&s.length&&i!==null){const g=i!==s.length-1?i+1:0;p(g);const b=s[g];b.ref!=null&&b.ref.current&&t.dispatchCommand(vC,{index:g,option:b}),m.preventDefault(),m.stopImmediatePropagation()}return!0},c),t.registerCommand(qu,h=>{const m=h;if(s!==null&&s.length&&i!==null){const g=i!==0?i-1:s.length-1;p(g);const b=s[g];b.ref!=null&&b.ref.current&&mC(b.ref.current),m.preventDefault(),m.stopImmediatePropagation()}return!0},c),t.registerCommand(Fs,h=>{const m=h;return m.preventDefault(),m.stopImmediatePropagation(),l(),!0},c),t.registerCommand(Ju,h=>{const m=h;return s!==null&&i!==null&&s[i]!=null&&(m.preventDefault(),m.stopImmediatePropagation(),f(s[i]),!0)},c),t.registerCommand(Ls,h=>s!==null&&i!==null&&s[i]!=null&&(h!==null&&(h.preventDefault(),h.stopImmediatePropagation()),f(s[i]),!0),c)),[f,l,t,s,i,p,c]),r(n,he.useMemo(()=>({options:s,selectOptionAndCleanUp:f,selectedIndex:i,setHighlightedIndex:u}),[f,i,s]),e.match?e.match.matchingString:"")}function aR({options:l,nodeKey:t,onClose:n,onOpen:e,onSelectOption:s,menuRenderFn:r,anchorClassName:o,commandPriority:a=Jn,parent:c}){const[i]=yn(),[u,d]=he.useState(null),f=function(g,b,v,_=document.body){const[E]=yn(),S=he.useRef(document.createElement("div")),w=he.useCallback(()=>{S.current.style.top=S.current.style.bottom;const x=E.getRootElement(),C=S.current,T=C.firstChild;if(x!==null&&g!==null){const{left:R,top:F,width:I,height:B}=g.getRect(),A=S.current.offsetHeight;if(C.style.top=`${F+window.pageYOffset+A+3}px`,C.style.left=`${R+window.pageXOffset}px`,C.style.height=`${B}px`,C.style.width=`${I}px`,T!==null){T.style.top=`${F}`;const j=T.getBoundingClientRect(),O=j.height,L=j.width,N=x.getBoundingClientRect();R+L>N.right&&(C.style.left=`${N.right-L+window.pageXOffset}px`),(F+O>window.innerHeight||F+O>N.bottom)&&F-N.top>O+B&&(C.style.top=F-O+window.pageYOffset-B+"px")}C.isConnected||(v!=null&&(C.className=v),C.setAttribute("aria-label","Typeahead menu"),C.setAttribute("id","typeahead-menu"),C.setAttribute("role","listbox"),C.style.display="block",C.style.position="absolute",_.append(C)),S.current=C,x.setAttribute("aria-controls","typeahead-menu")}},[E,g,v,_]);he.useEffect(()=>{const x=E.getRootElement();if(g!==null)return w(),()=>{x!==null&&x.removeAttribute("aria-controls");const C=S.current;C!==null&&C.isConnected&&C.remove()}},[E,w,g]);const y=he.useCallback(x=>{g!==null&&(x||b(null))},[g,b]);return iR(g,S.current,w,y),S}(u,d,o,c),p=he.useCallback(()=>{d(null),n!=null&&u!==null&&n()},[n,u]),h=he.useCallback(g=>{d(g),e!=null&&u===null&&e(g)},[e,u]),m=he.useCallback(()=>{t?i.update(()=>{const g=Dn(t),b=i.getElementByKey(t);var v;g!=null&&b!=null&&u==null&&(v=()=>h({getRect:()=>b.getBoundingClientRect()}),ir.startTransition?ir.startTransition(v):v())}):t==null&&u!=null&&p()},[p,i,t,h,u]);return he.useEffect(()=>{m()},[m,t]),he.useEffect(()=>{if(t!=null)return i.registerUpdateListener(({dirtyElements:g})=>{g.get(t)&&m()})},[i,m,t]),u===null||i===null?null:ae.jsx(sR,{close:p,resolution:u,editor:i,anchorElementRef:f,options:l,menuRenderFn:r,onSelectOption:s,commandPriority:a})}const lR=/((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/,cR=po();class bC extends oR{constructor(t,n){super(t),this.title=t,this.onSelect=n.onSelect.bind(this)}}function uR({embedConfigs:l,onOpenEmbedModalForConfig:t,getMenuOptions:n,menuRenderFn:e,menuCommandPriority:s=Jn}){const[r]=yn(),[o,a]=he.useState(null),[c,i]=he.useState(null),u=he.useCallback(()=>{a(null),i(null)},[]),d=he.useCallback(m=>{r.getEditorState().read(async function(){const g=Dn(m);if(ti(g))for(let b=0;b<l.length;b++){const v=l[b];await Promise.resolve(v.parseUrl(g.__url))!=null&&(i(v),a(g.getKey()))}})},[r,l]);he.useEffect(()=>wr(...[Sc,pd].map(m=>r.registerMutationListener(m,(...g)=>((b,{updateTags:v,dirtyLeaves:_})=>{for(const[E,S]of b)S==="created"&&v.has("paste")&&_.size<=3?d(E):E===o&&u()})(...g)))),[d,r,l,o,u]),he.useEffect(()=>r.registerCommand(cR,m=>{const g=l.find(({type:b})=>b===m);return!!g&&(t(g),!0)},Tn),[r,l,t]);const f=he.useCallback(async function(){if(c!=null&&o!=null){const m=r.getEditorState().read(()=>{const g=Dn(o);return ti(g)?g:null});if(ti(m)){const g=await Promise.resolve(c.parseUrl(m.__url));g!=null&&r.update(()=>{jt()||m.selectEnd(),c.insertNode(r,g),m.isAttached()&&m.remove()})}}},[c,r,o]),p=he.useMemo(()=>c!=null&&o!=null?n(c,f,u):[],[c,f,n,o,u]),h=he.useCallback((m,g,b)=>{r.update(()=>{m.onSelect(g),b()})},[r]);return o!=null?ae.jsx(aR,{nodeKey:o,onClose:u,onSelectOption:h,options:p,menuRenderFn:e,commandPriority:s}):null}const dR=po(),fR=po(),pR=po(),hR={contentName:"Youtube Video",exampleUrl:"https://www.youtube.com/watch?v=jNQXAC9IVRw",icon:ae.jsx("i",{className:"icon youtube"}),insertNode:(l,t)=>{l.dispatchCommand(pR,t.id)},keywords:["youtube","video"],parseUrl:async l=>{const t=/^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/.exec(l),n=t&&(t==null?void 0:t[2].length)===11?t[2]:null;return n!=null?{id:n,url:l}:null},type:"youtube-video"},gR=[{contentName:"Tweet",exampleUrl:"https://twitter.com/jack/status/20",icon:ae.jsx("i",{className:"icon tweet"}),insertNode:(l,t)=>{l.dispatchCommand(fR,t.id)},keywords:["tweet","twitter"],parseUrl:l=>{const t=/^https:\/\/(twitter|x)\.com\/(#!\/)?(\w+)\/status(es)*\/(\d+)/.exec(l);return t!=null?{id:t[5],url:t[1]}:null},type:"tweet"},hR,{contentName:"Figma Document",exampleUrl:"https://www.figma.com/file/LKQ4FJ4bTnCSjedbRpk931/Sample-File",icon:ae.jsx("i",{className:"icon figma"}),insertNode:(l,t)=>{l.dispatchCommand(dR,t.id)},keywords:["figma","figma.com","mock-up"],parseUrl:l=>{const t=/https:\/\/([\w.-]+\.)?figma.com\/(file|proto)\/([0-9a-zA-Z]{22,128})(?:\/.*)?$/.exec(l);return t!=null?{id:t[3],url:t[0]}:null},type:"figma"}];function mR({index:l,isSelected:t,onClick:n,onMouseEnter:e,option:s}){let r="item";return t&&(r+=" selected"),ae.jsx("li",{tabIndex:-1,className:r,ref:s.setRefElement,role:"option","aria-selected":t,id:"typeahead-item-"+l,onMouseEnter:e,onClick:n,children:ae.jsx("span",{className:"text",children:s.title})},s.key)}function yR({options:l,selectedItemIndex:t,onOptionClick:n,onOptionMouseEnter:e}){return ae.jsx("div",{className:"typeahead-popover",children:ae.jsx("ul",{children:l.map((s,r)=>ae.jsx(mR,{index:r,isSelected:t===r,onClick:()=>n(s,r),onMouseEnter:()=>e(r),option:s},s.key))})})}const vR=(l,t)=>{let n;return e=>{window.clearTimeout(n),n=window.setTimeout(()=>{l(e)},t)}};function bR({embedConfig:l,onClose:t}){const[n,e]=he.useState(""),[s]=yn(),[r,o]=he.useState(null),a=he.useMemo(()=>vR(i=>{const u=lR.exec(i);l!=null&&i!=null&&u!=null?Promise.resolve(l.parseUrl(i)).then(d=>{o(d)}):r!=null&&o(null)},200),[l,r]),c=()=>{r!=null&&(l.insertNode(s,r),t())};return ae.jsxs("div",{style:{width:"600px"},children:[ae.jsx("div",{className:"Input__wrapper",children:ae.jsx("input",{type:"text",className:"Input__input",placeholder:l.exampleUrl,value:n,"data-test-id":`${l.type}-embed-modal-url`,onChange:i=>{const{value:u}=i.target;e(u),a(u)}})}),ae.jsx(Rp,{children:ae.jsx(Fi,{disabled:!r,onClick:c,"data-test-id":`${l.type}-embed-modal-submit-btn`,children:"Embed"})})]})}function _R(){const[l,t]=Da(),n=s=>{t(`Embed ${s.contentName}`,r=>ae.jsx(bR,{embedConfig:s,onClose:r}))},e=(s,r,o)=>[new bC("Dismiss",{onSelect:o}),new bC(`Embed ${s.contentName}`,{onSelect:r})];return ae.jsxs(ae.Fragment,{children:[l,ae.jsx(uR,{embedConfigs:gR,onOpenEmbedModalForConfig:n,getMenuOptions:e,menuRenderFn:(s,{selectedIndex:r,options:o,selectOptionAndCleanUp:a,setHighlightedIndex:c})=>s.current?kf.createPortal(ae.jsx("div",{className:"typeahead-popover auto-embed-menu",style:{marginLeft:s.current.style.width,width:200},children:ae.jsx(yR,{options:o,selectedItemIndex:r,onOptionClick:(i,u)=>{c(u),a(i)},onOptionMouseEnter:i=>{c(i)}})}),s.current):null})]})}class wR extends XE{constructor(n,e,s){super(n);Hn(this,"title");Hn(this,"emoji");Hn(this,"keywords");this.title=n,this.emoji=e,this.keywords=s.keywords||[]}}function xR({index:l,isSelected:t,onClick:n,onMouseEnter:e,option:s}){let r="item";return t&&(r+=" selected"),ae.jsx("li",{tabIndex:-1,className:r,ref:s.setRefElement,role:"option","aria-selected":t,id:"typeahead-item-"+l,onMouseEnter:e,onClick:n,children:ae.jsxs("span",{className:"text",children:[s.emoji," ",s.title]})},s.key)}const SR=10;function ER(){const[l]=yn(),[t,n]=he.useState(null),[e,s]=he.useState([]);he.useEffect(()=>{Promise.resolve().then(()=>iD).then(i=>s(i.default))},[]);const r=he.useMemo(()=>e!=null?e.map(({emoji:i,aliases:u,tags:d})=>new wR(u[0],i,{keywords:[...u,...d]})):[],[e]),o=rC(":",{minLength:0}),a=he.useMemo(()=>r.filter(i=>t!=null?new RegExp(t,"gi").exec(i.title)||i.keywords!=null?i.keywords.some(u=>new RegExp(t,"gi").exec(u)):!1:r).slice(0,SR),[r,t]),c=he.useCallback((i,u,d)=>{l.update(()=>{const f=jt();!St(f)||i==null||(u&&u.remove(),f.insertNodes([rr(i.emoji)]),d())})},[l]);return ae.jsx(oC,{onQueryChange:n,onSelectOption:c,triggerFn:o,options:a,menuRenderFn:(i,{selectedIndex:u,selectOptionAndCleanUp:d,setHighlightedIndex:f})=>i.current==null||a.length===0?null:i.current&&a.length?kf.createPortal(ae.jsx("div",{className:"typeahead-popover emoji-menu",children:ae.jsx("ul",{children:a.map((p,h)=>ae.jsx("div",{children:ae.jsx(xR,{index:h,isSelected:u===h,onClick:()=>{f(h),d(p)},onMouseEnter:()=>{f(h)},option:p})},p.key))})}),i.current):null})}const _C=new Map([[":)",["emoji happysmile","🙂"]],[":D",["emoji veryhappysmile","😀"]],[":(",["emoji unhappysmile","🙁"]],["<3",["emoji heart","❤"]],["🙂",["emoji happysmile","🙂"]],["😀",["emoji veryhappysmile","😀"]],["🙁",["emoji unhappysmile","🙁"]],["❤",["emoji heart","❤"]]]);function CR(l){const t=l.getTextContent();for(let n=0;n<t.length;n++){const e=_C.get(t[n])||_C.get(t.slice(n,n+2));if(e!==void 0){const[s,r]=e;let o;n===0?[o]=l.splitText(n+2):[,o]=l.splitText(n,n+2);const a=b1(s,r);return o.replace(a),a}}return null}function jR(l){let t=l;for(;t!==null;){if(!t.isSimpleText())return;t=CR(t)}}function kR(l){he.useEffect(()=>{if(!l.hasNodes([wd]))throw new Error("EmojisPlugin: EmojiNode not registered on editor");return l.registerNodeTransform(Zr,jR)},[l])}function TR(){const[l]=yn();return kR(l),null}const wC=gS([...L1]);function AR({htmlString:l,wpAndTaskId:t}){const[n]=yn();return he.useEffect(()=>{!l||!t||n.update(()=>{const s=Mn().getChildren().filter(_r);s.forEach((r,o)=>{var h;const a=r.getChildren().find(Vs);if(!a)return;let c=r.getChildren().find(m=>Jt(m)&&m.getTextContent().startsWith("Figure"));if(!c)for(let m=o+1;m<s.length;m++){const g=s[m];if(g.getTextContent().trim()==="")continue;const b=g.getChildren().find(v=>Jt(v)&&v.getTextContent().startsWith("Figure"));if(b){c=b;break}}if(!c)return;const i=typeof c.getId=="function"?c.getId():void 0,u=c.getTextContent(),d=parseInt(((h=u.match(/\d+/))==null?void 0:h[0])||"1"),f=i||Rc(u,d,t);a.__captionId=f;const p=new qo(c.getTextContent(),"black",f);c.replace(p)})})},[n,l,t]),null}function OR({htmlString:l}){const[t]=yn();return he.useEffect(()=>{l&&t.update(()=>{Mn().getChildren().filter(dr).forEach((s,r)=>{const o=s.getPreviousSibling();if(o&&_r(o)){const a=o.getChildren(),c=a.find(i=>i.getTextContent().startsWith("Table")&&i.getId&&i.getId());if(c){const i=c.getId();s.__captionId=i}else{const i=o.getTextContent();console.log("captionText",o,i),localStorage.getItem("tableCount")-1;const u=Dp(i,r);console.log("captionId",u),s.__captionId=u,a.forEach(d=>{if(d.getTextContent().startsWith("Table")){console.log("gtting here");const f=new qo(d.getTextContent(),"black",u);d.replace(f)}})}}})})},[t,l]),null}function NR(){const[l]=yn();return he.useEffect(()=>l.registerCommand(vs,t=>{var s;const n=t==null?void 0:t.clipboardData;if(!n)return!1;const e=n==null?void 0:n.getData("text/html");if(e){const r=new DOMParser,o=r.parseFromString(e,"text/html"),a=e==null?void 0:e.match(/<!--StartFragment-->(.*?)<!--EndFragment-->/s),c=a?a[1]:o.body.innerHTML,u=(r==null?void 0:r.parseFromString(c,"text/html")).body.children;if((s=Array.from(u))==null?void 0:s.every(f=>f.tagName.toLowerCase()==="table"?!0:f.tagName.toLowerCase()==="p"?f.innerHTML.trim()==="<br>":!1))return alert("🚫Standalone table was pasted — blocked."),!0}return!1},wo),[l]),null}function PR({initialEditorState:l,userObj:t,CollabApiKey:n,docId:e,mentionItems:s,type:r,updateSharepointList:o,updateSharepointList2:a,savedComments:c,styleConfig:i,handleSaveComments:u,pagination:d=!1,customHeight:f,customWidth:p,isCollab:h=!0,defaultState:m,editId:g,toolbarShow:b=!0,isEditable:v=!1,showTabContent:_=!0,wpAndTaskId:E,enableCaptions:S=!0,editorTitle:w,showPdf:y=!0,showPagination:x=!0,exportToPDF:C}){const T=he.useRef(null),{historyState:R}=j_(),[F,I]=he.useState([]),[B,A]=he.useState("skyp_1"),[j,O]=he.useState([]),[L,N]=he.useState(!1),[U,D]=Da(),[z,K]=he.useState(null),[G,P]=he.useState([]),[W,J]=he.useState(null),[H,$]=he.useState(!1),[Z,X]=he.useState(!1),[Y,ee]=he.useState(!1),[ie,fe]=he.useState([]),de=he.useRef(null),[ne,Ee]=he.useState(!1);he.useState(!1);const xe=async()=>({state:{root:[]},timestamp:Date.now()});let me=()=>{console.log("[Lexical Demo][onBlacklistedInsert] blacklisted combination found")};const{userName:je,userId:ue,userEmail:se}=t||{userName:"aa",userId:"aa",userEmail:"aa@sample.com"},pe={name:je,id:ue,email:se},ce={docId:e+"_"+g,apiKey:n,user:pe,hooks:{fetchDocOnNetworkReconnect:xe,contentChanged:(Ut,Qt)=>{},usersUpdate:Ut=>{I(Ut),renderOnlineUsers(Ut),console.log("[Lexical Demo][usersUpdate hook] hook invoked by Codox: ",Ut)}}};he.useEffect(()=>{let Ut=[],Qt=[];F&&F.length>0&&F.map((en,Et)=>{Qt.includes(en.name)||(Qt.push(en.name),Ut.push(ae.jsxs("div",{title:en.name,className:`avatarStyle avatar-color-${Et+1}`,children:[" ",en.name&&en.name[0],en.name&&en.name[4]]},Et)))}),O(Ut)},[F]);const Te=()=>{de.current&&(de.current.initComments(c),["content_changed","error","users_update"].forEach(Qt=>{console.log("[Lexical Demo][[Subscribe to Codox Event]: ",Qt),de.current.on(Qt,en=>{})}),de.current.start(ce).then(()=>{console.log("[Lexical Demo][codox.start] success"),N(!0)}).catch(Qt=>console.log("[Lexical Demo][codox.start] error",Qt)))},Ae=()=>{de.current&&de.current.stop(),N(!1)};he.useEffect(()=>{setTimeout(()=>{Al('[class^="finalProposalEditorContainer_"]').animate({scrollTop:0},500,()=>{})},1e3)},[]),he.useEffect(()=>{Al(".editor-outer").css({justifyContent:Z?"flex-start":"center"})},[Z]),he.useEffect(()=>{(async()=>{if(!B)return;L&&Ae();let Ut=m;if(Ut)try{mS(Ut,wC),K(Ut)}catch(Qt){console.error("[APP] error: ",Qt)}})()},[B]),he.useEffect(()=>{z&&e&&!L&&n&&setTimeout(()=>{Te()},2e3)},[z,e,L,n]);const ke=he.useMemo(()=>{if(z)return{editorState:Ut=>{Ut.update(()=>{const Qt=new DOMParser,en=Ww(l),Et=Qt.parseFromString(en,"text/html");let zt=Ed(Ut,Et);Mn().clear();const ct=En();Xo(zt),Xo([ct]),Ut.setEditable(v),setTimeout(()=>{Ut.setEditable(v),rt(!0)},5e3);const Ot=new ef(Ut);c&&(Ot.setComments(c),Ut._commentStore||(Ut._commentStore=new ef(Ut),Ut._commentStore.getComments().length===0&&Ut._commentStore.setComments(c)))})},namespace:"Playground",nodes:wC,onError:Ut=>{console.error("[Lexical Demo][Editor Error Captured]: ",Ut)},theme:sy}},[z]),Me=he.useRef(l);he.useEffect(()=>{Me.current||(Me.current=l)},[l]);const We=ae.jsx(Od,{children:""}),[De,Le]=he.useState(null),[Ce,Xe]=he.useState(!1),[Ie,Ze]=he.useState(!1),[at,rt]=he.useState(!1),[it,Kt]=he.useState(""),Qe=Ut=>{Ut!==null&&Le(Ut)};he.useEffect(()=>{const Ut=()=>{const Qt=Mc&&window.matchMedia("(max-width: 1025px)").matches;Qt!==Ce&&Xe(Qt)};return Ut(),window.addEventListener("resize",Ut),()=>{window.removeEventListener("resize",Ut)}},[Ce]),he.useEffect(()=>{const Ut=Qt=>{W&&!Qt.target.closest(".reference-toolbar")&&J(null)};return document.addEventListener("click",Ut),()=>{document.removeEventListener("click",Ut)}},[W]),he.useEffect(()=>{l&&t&&t.userName&&e&&i?setTimeout(()=>{Ee(!0)},1e3):Ee(!1)},[l,t,i]);const Gt=Ut=>{console.log("CustomOnChange",Ut),a(Ut),Kt(Ut)};return ae.jsx(ae.Fragment,{children:ne?ae.jsxs(fp,{initialConfig:ke,children:[ae.jsx(C_,{children:ae.jsx(F1,{children:ae.jsxs("div",{ref:T,className:"editor-shell",style:{position:"relative"},children:[ae.jsxs("div",{className:L?"":"blurred-editor-content",children:[ae.jsxs(ae.Fragment,{children:[ae.jsx(OR,{htmlString:l}),ae.jsx(AR,{htmlString:l,wpAndTaskId:`${E.workplanId}-${E.taskId}`}),ae.jsx(pC,{showComments:H,setShowComments:$,handleSaveComments:u,userName:je,userEmail:se,mentionItems:s,mentionedEmails:ie,setmentionedEmails:fe,wpAndTaskId:E,setShowCommentInput:ee,showCommentInput:Y}),ae.jsx(NR,{}),v?ae.jsxs(ae.Fragment,{children:[i&&b&&ae.jsx(Kw,{styleConfig:i,setIsLinkEditMode:Ze,onlUser:j,showComments:H,setShowComments:$,parsedHtmlString:it,enableCaptions:S,wpAndTaskId:E,editorTitle:w,exportToPDF:C})," "]}):"",ae.jsx(hC,{onChange:Gt}),ae.jsxs("div",{className:"editor-container tree-view",children:[ae.jsx(_w,{}),ae.jsx(ER,{}),ae.jsx(_R,{}),ae.jsx(TR,{}),ae.jsx(U1,{}),ae.jsx(ww,{}),ae.jsx(pw,{}),ae.jsx(yp,{externalHistoryState:R}),ae.jsx(qp,{contentEditable:ae.jsx("div",{className:"editor-scroller",children:ae.jsx("div",{className:"editor",ref:Qe,children:ae.jsxs("div",{className:`editor-autosave-${g}`,children:[" ",ae.jsx(Ad,{className:(L||at)&&v?`ContentEditable__root ${x?"content-editable-grid":""}`:`ContentEditable__root no-events ${x?"content-editable-grid":""}`})]})})}),placeholder:We,ErrorBoundary:Rl}),ae.jsx(H1,{}),ae.jsx(Sw,{maxDepth:7}),ae.jsx(aw,{hasCellMerge:!0,hasCellBackgroundColor:!0}),h&&ae.jsx(Dw,{}),ae.jsx(mw,{enableCaptions:S,wpAndTaskId:`${E.workplanId}-${E.taskId}`}),ae.jsx(gy,{}),ae.jsx(jw,{}),De&&!Ce&&ae.jsx(ae.Fragment,{children:ae.jsx(Rw,{anchorElem:De,cellMerge:!0})}),W&&ae.jsx(BS,{references:G,setReferences:P,position:W,onClose:()=>J(null)}),ae.jsx(zS,{setContextMenu:J,references:G,setReferences:P,containerRef:T}),ae.jsx(US,{references:G,setReferences:P}),ae.jsx(M1,{}),ae.jsx(HS,{})]})]}),!L&&ae.jsxs("div",{style:{position:"absolute",zIndex:999,top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(255, 255, 255, 0.6)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"start",backdropFilter:"blur(6px)"},children:[ae.jsx("img",{src:Lh,alt:"Spinverse Logo",style:{height:"60px",marginBottom:"20px",marginTop:"110px"}}),ae.jsx("img",{src:Fh,alt:"Loading...",style:{height:"50px"}})]})]}),h&&ae.jsx(hS,{debug:!0,ref:de,onBlacklistedInsert:me}),U]})})}),i&&ae.jsx(LS,{styleConfig:i})]},e):ae.jsx(ae.Fragment,{children:!L&&ae.jsxs("div",{style:{position:"absolute",zIndex:999,top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(255, 255, 255, 0.6)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"start",backdropFilter:"blur(6px)"},children:[ae.jsx("img",{src:Lh,alt:"Spinverse Logo",style:{height:"60px",marginBottom:"20px",marginTop:"110px"}}),ae.jsx("img",{src:Fh,alt:"Loading...",style:{height:"50px"}})]})})})}const YD="";function IR(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var MR=IR(function(l){const t=new URLSearchParams;t.append("code",l);for(let n=1;n<arguments.length;n++)t.append("v",arguments[n]);throw Error(`Minified Lexical error #${l}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)});function xC(l){const t=l.transform();return t!==null?new Set([t]):new Set}function SC({initialEditor:l,children:t,initialNodes:n,initialTheme:e,skipCollabChecks:s}){const r=he.useRef(!1),o=he.useContext(Hu);o==null&&MR(9);const[a,{getTheme:c}]=o,i=he.useMemo(()=>{const p=e||c()||void 0,h=Ov(o,p);if(p!==void 0&&(l._config.theme=p),l._parentEditor=a,n)for(let m of n){let g=null,b=null;if(typeof m!="function"){const _=m;m=_.replace,g=_.with,b=_.withKlass||null}const v=l._nodes.get(m.getType());l._nodes.set(m.getType(),{exportDOM:v?v.exportDOM:void 0,klass:m,replace:g,replaceWithKlass:b,transforms:xC(m)})}else{const m=l._nodes=new Map(a._nodes);for(const[g,b]of m)l._nodes.set(g,{exportDOM:b.exportDOM,klass:b.klass,replace:b.replace,replaceWithKlass:b.replaceWithKlass,transforms:xC(b.klass)})}return l._config.namespace=a._config.namespace,l._editable=a._editable,[l,h]},[]),{isCollabActive:u,yjsDocMap:d}=Nd(),f=s||r.current||d.has(l.getKey());return he.useEffect(()=>{f&&(r.current=!0)},[f]),he.useEffect(()=>a.registerEditableListener(p=>{l.setEditable(p)}),[l,a]),ae.jsx(Hu.Provider,{value:i,children:!u||f?t:null})}function C0(l,t,n){return Math.min(Math.max(l,t),n)}const Nr={east:1,north:8,south:2,west:4};function RR({onResizeStart:l,onResizeEnd:t,buttonRef:n,imageRef:e,maxWidth:s,editor:r,showCaption:o,setShowCaption:a,enableCaptions:c}){const i=he.useRef(null),u=he.useRef({priority:"",value:"default"}),d=he.useRef({currentHeight:0,currentWidth:0,direction:0,isResizing:!1,ratio:0,startHeight:0,startWidth:0,startX:0,startY:0}),f=r.getRootElement(),p=f!==null?f.getBoundingClientRect().width-20:100,h=f!==null?f.getBoundingClientRect().height-20:100,m=100,g=100,b=w=>{const y=w===Nr.east||w===Nr.west,x=w===Nr.north||w===Nr.south,C=w&Nr.north&&w&Nr.west||w&Nr.south&&w&Nr.east,T=y?"ew":x?"ns":C?"nwse":"nesw";f!==null&&f.style.setProperty("cursor",`${T}-resize`,"important"),document.body!==null&&(document.body.style.setProperty("cursor",`${T}-resize`,"important"),u.current.value=document.body.style.getPropertyValue("-webkit-user-select"),u.current.priority=document.body.style.getPropertyPriority("-webkit-user-select"),document.body.style.setProperty("-webkit-user-select","none","important"))},v=()=>{f!==null&&f.style.setProperty("cursor","text"),document.body!==null&&(document.body.style.setProperty("cursor","default"),document.body.style.setProperty("-webkit-user-select",u.current.value,u.current.priority))},_=(w,y)=>{if(!r.isEditable())return;const x=e.current,C=i.current;if(x!==null&&C!==null){w.preventDefault();const{width:T,height:R}=x.getBoundingClientRect(),F=d.current;F.startWidth=T,F.startHeight=R,F.ratio=T/R,F.currentWidth=T,F.currentHeight=R,F.startX=w.clientX,F.startY=w.clientY,F.isResizing=!0,F.direction=y,b(y),l(),C.classList.add("image-control-wrapper--resizing"),x.style.height=`${R}px`,x.style.width=`${T}px`,document.addEventListener("pointermove",E),document.addEventListener("pointerup",S)}},E=w=>{const y=e.current,x=d.current,C=x.direction&(Nr.east|Nr.west),T=x.direction&(Nr.south|Nr.north);if(y!==null&&x.isResizing){if(C&&T){let R=Math.floor(x.startX-w.clientX);R=x.direction&Nr.east?-R:R;const F=C0(x.startWidth+R,m,p),I=F/x.ratio;y.style.width=`${F}px`,y.style.height=`${I}px`,x.currentHeight=I,x.currentWidth=F}else if(T){let R=Math.floor(x.startY-w.clientY);R=x.direction&Nr.south?-R:R;const F=C0(x.startHeight+R,g,h);y.style.height=`${F}px`,y.style.maxHeight=`${F}px`,x.currentHeight=F}else{let R=Math.floor(x.startX-w.clientX);R=x.direction&Nr.east?-R:R;const F=C0(x.startWidth+R,m,p);y.style.width=`${F}px`,y.style.maxWidth=`${F}px`,x.currentWidth=F}y&&(y.setAttribute("width",`${x.currentWidth}`),y.setAttribute("height",`${x.currentHeight}`))}},S=()=>{const w=e.current,y=d.current,x=i.current;if(w!==null&&x!==null&&y.isResizing){const C=y.currentWidth,T=y.currentHeight;y.startWidth=0,y.startHeight=0,y.ratio=0,y.startX=0,y.startY=0,y.currentWidth=0,y.currentHeight=0,y.isResizing=!1,x.classList.remove("image-control-wrapper--resizing"),v(),t(C,T),document.removeEventListener("pointermove",E),document.removeEventListener("pointerup",S)}};return ae.jsxs("div",{ref:i,children:[ae.jsx("div",{className:"image-resizer image-resizer-n",onPointerDown:w=>{_(w,Nr.north)}}),ae.jsx("div",{className:"image-resizer image-resizer-ne",onPointerDown:w=>{_(w,Nr.north|Nr.east)}}),ae.jsx("div",{className:"image-resizer image-resizer-e",onPointerDown:w=>{_(w,Nr.east)}}),ae.jsx("div",{className:"image-resizer image-resizer-se",onPointerDown:w=>{_(w,Nr.south|Nr.east)}}),ae.jsx("div",{className:"image-resizer image-resizer-s",onPointerDown:w=>{_(w,Nr.south)}}),ae.jsx("div",{className:"image-resizer image-resizer-sw",onPointerDown:w=>{_(w,Nr.south|Nr.west)}}),ae.jsx("div",{className:"image-resizer image-resizer-w",onPointerDown:w=>{_(w,Nr.west)}}),ae.jsx("div",{className:"image-resizer image-resizer-nw",onPointerDown:w=>{_(w,Nr.north|Nr.west)}})]})}const Bh={x:0,y:0,width:0,height:0,unit:"px"},mu=(l,t,n)=>Math.min(Math.max(l,t),n),DR=(...l)=>l.filter(t=>t&&typeof t=="string").join(" "),EC=(l,t)=>l===t||l.width===t.width&&l.height===t.height&&l.x===t.x&&l.y===t.y&&l.unit===t.unit;function yu(l,t,n){return l.unit==="%"?{...Bh,...l,unit:"%"}:{unit:"%",x:l.x?l.x/t*100:0,y:l.y?l.y/n*100:0,width:l.width?l.width/t*100:0,height:l.height?l.height/n*100:0}}function Ya(l,t,n){return l.unit?l.unit==="px"?{...Bh,...l,unit:"px"}:{unit:"px",x:l.x?l.x*t/100:0,y:l.y?l.y*n/100:0,width:l.width?l.width*t/100:0,height:l.height?l.height*n/100:0}:{...Bh,...l,unit:"px"}}function CC(l,t,n,e,s,r=0,o=0,a=e,c=s){const i={...l};let u=Math.min(r,e),d=Math.min(o,s),f=Math.min(a,e),p=Math.min(c,s);t&&(t>1?(u=o?o*t:u,d=u/t,f=a*t):(d=r?r/t:d,u=d*t,p=c/t)),i.y<0&&(i.height=Math.max(i.height+i.y,d),i.y=0),i.x<0&&(i.width=Math.max(i.width+i.x,u),i.x=0);const h=e-(i.x+i.width);h<0&&(i.x=Math.min(i.x,e-u),i.width+=h);const m=s-(i.y+i.height);if(m<0&&(i.y=Math.min(i.y,s-d),i.height+=m),i.width<u&&((n==="sw"||n=="nw")&&(i.x-=u-i.width),i.width=u),i.height<d&&((n==="nw"||n=="ne")&&(i.y-=d-i.height),i.height=d),i.width>f&&((n==="sw"||n=="nw")&&(i.x-=f-i.width),i.width=f),i.height>p&&((n==="nw"||n=="ne")&&(i.y-=p-i.height),i.height=p),t){const g=i.width/i.height;if(g<t){const b=Math.max(i.width/t,d);(n==="nw"||n=="ne")&&(i.y-=b-i.height),i.height=b}else if(g>t){const b=Math.max(i.height*t,u);(n==="sw"||n=="nw")&&(i.x-=b-i.width),i.width=b}}return i}function LR(l,t,n,e){const s={...l};return t==="ArrowLeft"?e==="nw"?(s.x-=n,s.y-=n,s.width+=n,s.height+=n):e==="w"?(s.x-=n,s.width+=n):e==="sw"?(s.x-=n,s.width+=n,s.height+=n):e==="ne"?(s.y+=n,s.width-=n,s.height-=n):e==="e"?s.width-=n:e==="se"&&(s.width-=n,s.height-=n):t==="ArrowRight"&&(e==="nw"?(s.x+=n,s.y+=n,s.width-=n,s.height-=n):e==="w"?(s.x+=n,s.width-=n):e==="sw"?(s.x+=n,s.width-=n,s.height-=n):e==="ne"?(s.y-=n,s.width+=n,s.height+=n):e==="e"?s.width+=n:e==="se"&&(s.width+=n,s.height+=n)),t==="ArrowUp"?e==="nw"?(s.x-=n,s.y-=n,s.width+=n,s.height+=n):e==="n"?(s.y-=n,s.height+=n):e==="ne"?(s.y-=n,s.width+=n,s.height+=n):e==="sw"?(s.x+=n,s.width-=n,s.height-=n):e==="s"?s.height-=n:e==="se"&&(s.width-=n,s.height-=n):t==="ArrowDown"&&(e==="nw"?(s.x+=n,s.y+=n,s.width-=n,s.height-=n):e==="n"?(s.y+=n,s.height-=n):e==="ne"?(s.y+=n,s.width-=n,s.height-=n):e==="sw"?(s.x-=n,s.width+=n,s.height+=n):e==="s"?s.height+=n:e==="se"&&(s.width+=n,s.height+=n)),s}const vu={capture:!0,passive:!1};let FR=0;const Za=class ys extends he.PureComponent{constructor(){super(...arguments),this.docMoveBound=!1,this.mouseDownOnCrop=!1,this.dragStarted=!1,this.evData={startClientX:0,startClientY:0,startCropX:0,startCropY:0,clientX:0,clientY:0,isResize:!0},this.componentRef=he.createRef(),this.mediaRef=he.createRef(),this.initChangeCalled=!1,this.instanceId=`rc-${FR++}`,this.state={cropIsActive:!1,newCropIsBeingDrawn:!1},this.onCropPointerDown=t=>{const{crop:n,disabled:e}=this.props,s=this.getBox();if(!n)return;const r=Ya(n,s.width,s.height);if(e)return;t.cancelable&&t.preventDefault(),this.bindDocMove(),this.componentRef.current.focus({preventScroll:!0});const o=t.target.dataset.ord,a=!!o;let c=t.clientX,i=t.clientY,u=r.x,d=r.y;if(o){const f=t.clientX-s.x,p=t.clientY-s.y;let h=0,m=0;o==="ne"||o=="e"?(h=f-(r.x+r.width),m=p-r.y,u=r.x,d=r.y+r.height):o==="se"||o==="s"?(h=f-(r.x+r.width),m=p-(r.y+r.height),u=r.x,d=r.y):o==="sw"||o=="w"?(h=f-r.x,m=p-(r.y+r.height),u=r.x+r.width,d=r.y):(o==="nw"||o=="n")&&(h=f-r.x,m=p-r.y,u=r.x+r.width,d=r.y+r.height),c=u+s.x+h,i=d+s.y+m}this.evData={startClientX:c,startClientY:i,startCropX:u,startCropY:d,clientX:t.clientX,clientY:t.clientY,isResize:a,ord:o},this.mouseDownOnCrop=!0,this.setState({cropIsActive:!0})},this.onComponentPointerDown=t=>{const{crop:n,disabled:e,locked:s,keepSelection:r,onChange:o}=this.props,a=this.getBox();if(e||s||r&&n)return;t.cancelable&&t.preventDefault(),this.bindDocMove(),this.componentRef.current.focus({preventScroll:!0});const c=t.clientX-a.x,i=t.clientY-a.y,u={unit:"px",x:c,y:i,width:0,height:0};this.evData={startClientX:t.clientX,startClientY:t.clientY,startCropX:c,startCropY:i,clientX:t.clientX,clientY:t.clientY,isResize:!0},this.mouseDownOnCrop=!0,o(Ya(u,a.width,a.height),yu(u,a.width,a.height)),this.setState({cropIsActive:!0,newCropIsBeingDrawn:!0})},this.onDocPointerMove=t=>{const{crop:n,disabled:e,onChange:s,onDragStart:r}=this.props,o=this.getBox();if(e||!n||!this.mouseDownOnCrop)return;t.cancelable&&t.preventDefault(),this.dragStarted||(this.dragStarted=!0,r&&r(t));const{evData:a}=this;a.clientX=t.clientX,a.clientY=t.clientY;let c;a.isResize?c=this.resizeCrop():c=this.dragCrop(),EC(n,c)||s(Ya(c,o.width,o.height),yu(c,o.width,o.height))},this.onComponentKeyDown=t=>{const{crop:n,disabled:e,onChange:s,onComplete:r}=this.props;if(e)return;const o=t.key;let a=!1;if(!n)return;const c=this.getBox(),i=this.makePixelCrop(c),u=(navigator.platform.match("Mac")?t.metaKey:t.ctrlKey)?ys.nudgeStepLarge:t.shiftKey?ys.nudgeStepMedium:ys.nudgeStep;if(o==="ArrowLeft"?(i.x-=u,a=!0):o==="ArrowRight"?(i.x+=u,a=!0):o==="ArrowUp"?(i.y-=u,a=!0):o==="ArrowDown"&&(i.y+=u,a=!0),a){t.cancelable&&t.preventDefault(),i.x=mu(i.x,0,c.width-i.width),i.y=mu(i.y,0,c.height-i.height);const d=Ya(i,c.width,c.height),f=yu(i,c.width,c.height);s(d,f),r&&r(d,f)}},this.onHandlerKeyDown=(t,n)=>{const{aspect:e=0,crop:s,disabled:r,minWidth:o=0,minHeight:a=0,maxWidth:c,maxHeight:i,onChange:u,onComplete:d}=this.props,f=this.getBox();if(r||!s)return;if(t.key==="ArrowUp"||t.key==="ArrowDown"||t.key==="ArrowLeft"||t.key==="ArrowRight")t.stopPropagation(),t.preventDefault();else return;const p=(navigator.platform.match("Mac")?t.metaKey:t.ctrlKey)?ys.nudgeStepLarge:t.shiftKey?ys.nudgeStepMedium:ys.nudgeStep,h=Ya(s,f.width,f.height),m=LR(h,t.key,p,n),g=CC(m,e,n,f.width,f.height,o,a,c,i);if(!EC(s,g)){const b=yu(g,f.width,f.height);u(g,b),d&&d(g,b)}},this.onDocPointerDone=t=>{const{crop:n,disabled:e,onComplete:s,onDragEnd:r}=this.props,o=this.getBox();this.unbindDocMove(),!(e||!n)&&this.mouseDownOnCrop&&(this.mouseDownOnCrop=!1,this.dragStarted=!1,r&&r(t),s&&s(Ya(n,o.width,o.height),yu(n,o.width,o.height)),this.setState({cropIsActive:!1,newCropIsBeingDrawn:!1}))},this.onDragFocus=()=>{var t;(t=this.componentRef.current)==null||t.scrollTo(0,0)}}get document(){return document}getBox(){const t=this.mediaRef.current;if(!t)return{x:0,y:0,width:0,height:0};const{x:n,y:e,width:s,height:r}=t.getBoundingClientRect();return{x:n,y:e,width:s,height:r}}componentDidUpdate(t){const{crop:n,onComplete:e}=this.props;if(e&&!t.crop&&n){const{width:s,height:r}=this.getBox();s&&r&&e(Ya(n,s,r),yu(n,s,r))}}componentWillUnmount(){this.resizeObserver&&this.resizeObserver.disconnect(),this.unbindDocMove()}bindDocMove(){this.docMoveBound||(this.document.addEventListener("pointermove",this.onDocPointerMove,vu),this.document.addEventListener("pointerup",this.onDocPointerDone,vu),this.document.addEventListener("pointercancel",this.onDocPointerDone,vu),this.docMoveBound=!0)}unbindDocMove(){this.docMoveBound&&(this.document.removeEventListener("pointermove",this.onDocPointerMove,vu),this.document.removeEventListener("pointerup",this.onDocPointerDone,vu),this.document.removeEventListener("pointercancel",this.onDocPointerDone,vu),this.docMoveBound=!1)}getCropStyle(){const{crop:t}=this.props;if(t)return{top:`${t.y}${t.unit}`,left:`${t.x}${t.unit}`,width:`${t.width}${t.unit}`,height:`${t.height}${t.unit}`}}dragCrop(){const{evData:t}=this,n=this.getBox(),e=this.makePixelCrop(n),s=t.clientX-t.startClientX,r=t.clientY-t.startClientY;return e.x=mu(t.startCropX+s,0,n.width-e.width),e.y=mu(t.startCropY+r,0,n.height-e.height),e}getPointRegion(t,n,e,s){const{evData:r}=this,o=r.clientX-t.x,a=r.clientY-t.y;let c;s&&n?c=n==="nw"||n==="n"||n==="ne":c=a<r.startCropY;let i;return e&&n?i=n==="nw"||n==="w"||n==="sw":i=o<r.startCropX,i?c?"nw":"sw":c?"ne":"se"}resolveMinDimensions(t,n,e=0,s=0){const r=Math.min(e,t.width),o=Math.min(s,t.height);return!n||!r&&!o?[r,o]:n>1?r?[r,r/n]:[o*n,o]:o?[o*n,o]:[r,r/n]}resizeCrop(){const{evData:t}=this,{aspect:n=0,maxWidth:e,maxHeight:s}=this.props,r=this.getBox(),[o,a]=this.resolveMinDimensions(r,n,this.props.minWidth,this.props.minHeight);let c=this.makePixelCrop(r);const i=this.getPointRegion(r,t.ord,o,a),u=t.ord||i;let d=t.clientX-t.startClientX,f=t.clientY-t.startClientY;(o&&u==="nw"||u==="w"||u==="sw")&&(d=Math.min(d,-o)),(a&&u==="nw"||u==="n"||u==="ne")&&(f=Math.min(f,-a));const p={unit:"px",x:0,y:0,width:0,height:0};i==="ne"?(p.x=t.startCropX,p.width=d,n?(p.height=p.width/n,p.y=t.startCropY-p.height):(p.height=Math.abs(f),p.y=t.startCropY-p.height)):i==="se"?(p.x=t.startCropX,p.y=t.startCropY,p.width=d,n?p.height=p.width/n:p.height=f):i==="sw"?(p.x=t.startCropX+d,p.y=t.startCropY,p.width=Math.abs(d),n?p.height=p.width/n:p.height=f):i==="nw"&&(p.x=t.startCropX+d,p.width=Math.abs(d),n?(p.height=p.width/n,p.y=t.startCropY-p.height):(p.height=Math.abs(f),p.y=t.startCropY+f));const h=CC(p,n,i,r.width,r.height,o,a,e,s);return n||ys.xyOrds.indexOf(u)>-1?c=h:ys.xOrds.indexOf(u)>-1?(c.x=h.x,c.width=h.width):ys.yOrds.indexOf(u)>-1&&(c.y=h.y,c.height=h.height),c.x=mu(c.x,0,r.width-c.width),c.y=mu(c.y,0,r.height-c.height),c}renderCropSelection(){const{ariaLabels:t=ys.defaultProps.ariaLabels,disabled:n,locked:e,renderSelectionAddon:s,ruleOfThirds:r,crop:o}=this.props,a=this.getCropStyle();if(o)return he.createElement("div",{style:a,className:"ReactCrop__crop-selection",onPointerDown:this.onCropPointerDown,"aria-label":t.cropArea,tabIndex:0,onKeyDown:this.onComponentKeyDown,role:"group"},!n&&!e&&he.createElement("div",{className:"ReactCrop__drag-elements",onFocus:this.onDragFocus},he.createElement("div",{className:"ReactCrop__drag-bar ord-n","data-ord":"n"}),he.createElement("div",{className:"ReactCrop__drag-bar ord-e","data-ord":"e"}),he.createElement("div",{className:"ReactCrop__drag-bar ord-s","data-ord":"s"}),he.createElement("div",{className:"ReactCrop__drag-bar ord-w","data-ord":"w"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-nw","data-ord":"nw",tabIndex:0,"aria-label":t.nwDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"nw"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-n","data-ord":"n",tabIndex:0,"aria-label":t.nDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"n"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-ne","data-ord":"ne",tabIndex:0,"aria-label":t.neDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"ne"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-e","data-ord":"e",tabIndex:0,"aria-label":t.eDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"e"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-se","data-ord":"se",tabIndex:0,"aria-label":t.seDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"se"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-s","data-ord":"s",tabIndex:0,"aria-label":t.sDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"s"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-sw","data-ord":"sw",tabIndex:0,"aria-label":t.swDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"sw"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-w","data-ord":"w",tabIndex:0,"aria-label":t.wDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"w"),role:"button"})),s&&he.createElement("div",{className:"ReactCrop__selection-addon",onPointerDown:c=>c.stopPropagation()},s(this.state)),r&&he.createElement(he.Fragment,null,he.createElement("div",{className:"ReactCrop__rule-of-thirds-hz"}),he.createElement("div",{className:"ReactCrop__rule-of-thirds-vt"})))}makePixelCrop(t){const n={...Bh,...this.props.crop||{}};return Ya(n,t.width,t.height)}render(){const{aspect:t,children:n,circularCrop:e,className:s,crop:r,disabled:o,locked:a,style:c,ruleOfThirds:i}=this.props,{cropIsActive:u,newCropIsBeingDrawn:d}=this.state,f=r?this.renderCropSelection():null,p=DR("ReactCrop",s,u&&"ReactCrop--active",o&&"ReactCrop--disabled",a&&"ReactCrop--locked",d&&"ReactCrop--new-crop",r&&t&&"ReactCrop--fixed-aspect",r&&e&&"ReactCrop--circular-crop",r&&i&&"ReactCrop--rule-of-thirds",!this.dragStarted&&r&&!r.width&&!r.height&&"ReactCrop--invisible-crop",e&&"ReactCrop--no-animate");return he.createElement("div",{ref:this.componentRef,className:p,style:c},he.createElement("div",{ref:this.mediaRef,className:"ReactCrop__child-wrapper",onPointerDown:this.onComponentPointerDown},n),r?he.createElement("svg",{className:"ReactCrop__crop-mask",width:"100%",height:"100%"},he.createElement("defs",null,he.createElement("mask",{id:`hole-${this.instanceId}`},he.createElement("rect",{width:"100%",height:"100%",fill:"white"}),e?he.createElement("ellipse",{cx:`${r.x+r.width/2}${r.unit}`,cy:`${r.y+r.height/2}${r.unit}`,rx:`${r.width/2}${r.unit}`,ry:`${r.height/2}${r.unit}`,fill:"black"}):he.createElement("rect",{x:`${r.x}${r.unit}`,y:`${r.y}${r.unit}`,width:`${r.width}${r.unit}`,height:`${r.height}${r.unit}`,fill:"black"}))),he.createElement("rect",{fill:"black",fillOpacity:.5,width:"100%",height:"100%",mask:`url(#hole-${this.instanceId})`})):void 0,f)}};Za.xOrds=["e","w"],Za.yOrds=["n","s"],Za.xyOrds=["nw","ne","se","sw"],Za.nudgeStep=1,Za.nudgeStepMedium=10,Za.nudgeStepLarge=100,Za.defaultProps={ariaLabels:{cropArea:"Use the arrow keys to move the crop selection area",nwDragHandle:"Use the arrow keys to move the north west drag handle to change the crop selection area",nDragHandle:"Use the up and down arrow keys to move the north drag handle to change the crop selection area",neDragHandle:"Use the arrow keys to move the north east drag handle to change the crop selection area",eDragHandle:"Use the up and down arrow keys to move the east drag handle to change the crop selection area",seDragHandle:"Use the arrow keys to move the south east drag handle to change the crop selection area",sDragHandle:"Use the up and down arrow keys to move the south drag handle to change the crop selection area",swDragHandle:"Use the arrow keys to move the south west drag handle to change the crop selection area",wDragHandle:"Use the up and down arrow keys to move the west drag handle to change the crop selection area"}};let BR=Za;const ZD="",j0=po();function zR({altText:l,className:t,src:n,width:e,height:s,maxWidth:r,imageRef:o,startCrop:a,setStartCrop:c,isFocused:i,nodeKey:u}){const[d,f]=he.useState(null),[p,h]=he.useState({unit:"px",x:25,y:25,width:50,height:50}),[m]=yn(),g=()=>{if(d){const S=o.current;if(!S||!d)return;const w=S.naturalWidth/S.width,y=S.naturalHeight/S.height,x=new OffscreenCanvas(d.width*w,d.height*y),C=x.getContext("2d");if(!C)throw new Error("No 2D context available");C.drawImage(S,d.x*w,d.y*y,d.width*w,d.height*y,0,0,d.width*w,d.height*y),x.convertToBlob({type:"image/png"}).then(T=>{c(!1);const R=new FileReader;R.onload=()=>{const F=R.result;setTimeout(()=>{m.update(()=>{const I=Dn(u);Vs(I)&&F&&I.setSrc(F)},{tag:"crop"})},100)},R.onerror=()=>{console.error("Error reading the cropped image blob")},R.readAsDataURL(T)})}},b=()=>{a||c(S=>{if(S===!1){const w=o.current;h({unit:"px",x:0,y:0,width:w.width,height:w.height})}return!S})},v=he.useRef(null),_=he.useRef(null);he.useEffect(()=>{d&&(v.current=d)},[d]);const E=S=>{_.current&&!_.current.contains(S.target)&&c(!1)};return he.useEffect(()=>(document.addEventListener("mousedown",E),()=>{document.removeEventListener("mousedown",E)}),[]),ae.jsxs("div",{ref:_,children:[i&&ae.jsx("button",{style:{zIndex:999},className:"image-caption-button",onClick:()=>b(),children:"Crop"}),a&&ae.jsx("button",{style:{zIndex:999},className:"image-caption-button",onClick:()=>g(),children:"Apply Crop"}),a?ae.jsx(BR,{crop:p,onChange:S=>h(S),onComplete:S=>f(S),children:ae.jsx("img",{className:t||void 0,src:n,alt:l,ref:o,width:typeof e=="number"?e:void 0,height:typeof s=="number"?s:void 0,style:{height:s,maxWidth:r,width:e},draggable:"false",crossOrigin:"anonymous"})}):ae.jsx("img",{className:t||void 0,src:n,alt:l,ref:o,width:typeof e=="number"?e:void 0,height:typeof s=="number"?s:void 0,style:{height:s,maxWidth:r,width:e},draggable:"false",crossOrigin:"anonymous"})]})}function UR({src:l,altText:t,nodeKey:n,width:e,height:s,maxWidth:r,resizable:o,showCaption:a,caption:c,enableCaptions:i}){const u=he.useRef(null),d=he.useRef(null),[f,p,h]=Cc(n),[m,g]=he.useState(!1),[b]=yn(),[v,_]=he.useState(null),[E,S]=he.useState(!1),w=he.useRef(null),y=he.useCallback(O=>f?(O.preventDefault(),b.update(()=>{const L=Dn(n);Vs(L)&&L.remove()}),!0):!1,[f,b,n]),x=he.useCallback(O=>{const L=jt(),N=d.current;if(f&&fr(L)&&L.getNodes().length===1){if(a)return jr(null),O.preventDefault(),c.focus(),!0;if(N!==null&&N!==document.activeElement)return O.preventDefault(),N.focus(),!0}return!1},[c,f,a]),C=he.useCallback(O=>w.current===c||d.current===O.target?(jr(null),b.update(()=>{p(!0);const L=b.getRootElement();L!==null&&L.focus()}),!0):!1,[c,b,p]),T=he.useCallback(O=>{const L=O;return m?!0:L.target===u.current?(L.shiftKey?p(!f):(h(),p(!0)),!0):!1},[m,f,p,h]),R=he.useCallback(O=>{b.getEditorState().read(()=>{const L=jt();O.target.tagName==="IMG"&&St(L)&&L.getNodes().length===1&&b.dispatchCommand(j0,O)})},[b]);he.useEffect(()=>{const O=N=>{(N.key==="Delete"||N.key==="Backspace")&&f&&(N.stopPropagation(),N.preventDefault(),b.update(()=>{const U=Dn(n);Vs(U)&&U.remove()}))},L=b.getRootElement();return L==null||L.addEventListener("keydown",O),()=>{L==null||L.removeEventListener("keydown",O)}},[f,b,n]),he.useEffect(()=>{let O=!0;const L=b.getRootElement(),N=wr(b.registerUpdateListener(({editorState:U})=>{O&&_(U.read(()=>jt()))}),b.registerCommand(ai,(U,D)=>(w.current=D,!1),Jn),b.registerCommand(ba,T,Jn),b.registerCommand(j0,T,Jn),b.registerCommand(ac,U=>U.target===u.current?(U.preventDefault(),!0):!1,Jn),b.registerCommand(Qi,y,4),b.registerCommand(Zi,y,4),b.registerCommand(Ls,x,Jn),b.registerCommand(Fs,C,Jn));return L==null||L.addEventListener("contextmenu",R),()=>{O=!1,N(),L==null||L.removeEventListener("contextmenu",R)}},[h,b,m,f,n,x,C,T,R,p]);const F=()=>{b.update(()=>{const O=Dn(n);Vs(O)&&O.setShowCaption(!0)})},I=(O,L)=>{setTimeout(()=>{g(!1)},200),b.update(()=>{const N=Dn(n);Vs(N)&&N.setWidthAndHeight(O,L)})},B=()=>{E||g(!0)},A=f&&fr(v)&&!m,j=f||m;return ae.jsx(he.Suspense,{fallback:null,children:ae.jsxs(ae.Fragment,{children:[ae.jsx("div",{draggable:A,children:ae.jsx(zR,{className:j?`focused ${fr(v)?"draggable":""}`:null,src:l,altText:t,width:e,height:s,maxWidth:r,imageRef:u,startCrop:E,setStartCrop:S,isFocused:j,nodeKey:n})}),a&&ae.jsx("div",{className:"image-caption-container",children:ae.jsx(SC,{initialEditor:c,children:ae.jsx(qp,{contentEditable:ae.jsx(Ad,{className:"ImageNode__contentEditable"}),placeholder:ae.jsx(Od,{className:"ImageNode__placeholder",children:"Enter a caption..."}),ErrorBoundary:Rl})})}),!E&&o&&fr(v)&&j&&ae.jsx(RR,{showCaption:a,setShowCaption:F,editor:b,buttonRef:d,maxWidth:r,onResizeStart:E?()=>{}:B,onResizeEnd:E?()=>{}:I,enableCaptions:i,imageRef:u})]})})}const HR=Object.freeze(Object.defineProperty({__proto__:null,RIGHT_CLICK_IMAGE_COMMAND:j0,default:UR},Symbol.toStringTag,{value:"Module"})),QD="",XD="";function qR(l,t){const n=l.getRangeAt(0);let e;if(l.anchorNode===t){let s=t;for(;s.firstElementChild!=null;)s=s.firstElementChild;e=s.getBoundingClientRect()}else e=n.getBoundingClientRect();return e}const WR=10,JR=5;function VR(l,t,n,e=!1,s=WR,r=JR){const o=n.parentElement;if(l===null||!o){t.style.opacity="0",t.style.transform="translate(-10000px, -10000px)";return}const a=t.getBoundingClientRect(),c=n.getBoundingClientRect(),i=o.getBoundingClientRect();let u=l.top-a.height-s,d=l.left-r;u<i.top&&(u+=a.height+l.height+s*(e?9:2)),d+a.width>i.right&&(d=i.right-a.width-r),u-=c.top,d-=c.left,t.style.opacity="1",t.style.transform=`translate(${d}px, ${u}px)`}function KR({editor:l,anchorElem:t,isLink:n,isBold:e,isItalic:s,isUnderline:r,isCode:o,isStrikethrough:a,isSubscript:c,isSuperscript:i}){const u=he.useRef(null),d=he.useCallback(()=>{n?l.dispatchCommand(Pa,null):l.dispatchCommand(Pa,"https://")},[l,n]),f=()=>{l.dispatchCommand(E0,void 0)};function p(g){if(u!=null&&u.current&&(g.buttons===1||g.buttons===3)&&u.current.style.pointerEvents!=="none"){const b=g.clientX,v=g.clientY,_=document.elementFromPoint(b,v);u.current.contains(_)||(u.current.style.pointerEvents="none")}}function h(g){u!=null&&u.current&&u.current.style.pointerEvents!=="auto"&&(u.current.style.pointerEvents="auto")}he.useEffect(()=>{if(u!=null&&u.current)return document.addEventListener("mousemove",p),document.addEventListener("mouseup",h),()=>{document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",h)}},[u]);const m=he.useCallback(()=>{const g=jt(),b=u.current,v=window.getSelection();if(b===null)return;const _=l.getRootElement();if(g!==null&&v!==null&&!v.isCollapsed&&_!==null&&_.contains(v.anchorNode)){const E=qR(v,_);VR(E,b,t,n)}},[l,t,n]);return he.useEffect(()=>{const g=t.parentElement,b=()=>{l.getEditorState().read(()=>{m()})};return window.addEventListener("resize",b),g&&g.addEventListener("scroll",b),()=>{window.removeEventListener("resize",b),g&&g.removeEventListener("scroll",b)}},[l,m,t]),he.useEffect(()=>(l.getEditorState().read(()=>{m()}),wr(l.registerUpdateListener(({editorState:g})=>{g.read(()=>{m()})}),l.registerCommand(ai,()=>(m(),!1),Jn))),[l,m]),ae.jsxs("div",{ref:u,className:"floating-text-format-popup",children:[l.isEditable()&&ae.jsxs(ae.Fragment,{children:[ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"bold")},className:"popup-item spaced "+(e?"active":""),"aria-label":"Format text as bold",children:ae.jsx("i",{className:"format bold"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"italic")},className:"popup-item spaced "+(s?"active":""),"aria-label":"Format text as italics",children:ae.jsx("i",{className:"format italic"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"underline")},className:"popup-item spaced "+(r?"active":""),"aria-label":"Format text to underlined",children:ae.jsx("i",{className:"format underline"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"strikethrough")},className:"popup-item spaced "+(a?"active":""),"aria-label":"Format text with a strikethrough",children:ae.jsx("i",{className:"format strikethrough"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"subscript")},className:"popup-item spaced "+(c?"active":""),title:"Subscript","aria-label":"Format Subscript",children:ae.jsx("i",{className:"format subscript"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"superscript")},className:"popup-item spaced "+(i?"active":""),title:"Superscript","aria-label":"Format Superscript",children:ae.jsx("i",{className:"format superscript"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"code")},className:"popup-item spaced "+(o?"active":""),"aria-label":"Insert code block",children:ae.jsx("i",{className:"format code"})}),ae.jsx("button",{type:"button",onClick:d,className:"popup-item spaced "+(n?"active":""),"aria-label":"Insert link",children:ae.jsx("i",{className:"format link"})})]}),ae.jsx("button",{type:"button",onClick:f,className:"popup-item spaced insert-comment","aria-label":"Insert comment",children:ae.jsx("i",{className:"format add-comment"})})]})}function GR(l,t){const[n,e]=he.useState(!1),[s,r]=he.useState(!1),[o,a]=he.useState(!1),[c,i]=he.useState(!1),[u,d]=he.useState(!1),[f,p]=he.useState(!1),[h,m]=he.useState(!1),[g,b]=he.useState(!1),[v,_]=he.useState(!1),E=he.useCallback(()=>{l.getEditorState().read(()=>{if(l.isComposing())return;const S=jt(),w=window.getSelection(),y=l.getRootElement();if(w!==null&&(!St(S)||y===null||!y.contains(w.anchorNode))){e(!1);return}if(!St(S))return;const x=Bw(S);a(S.hasFormat("bold")),i(S.hasFormat("italic")),d(S.hasFormat("underline")),p(S.hasFormat("strikethrough")),m(S.hasFormat("subscript")),b(S.hasFormat("superscript")),_(S.hasFormat("code"));const C=x.getParent();ti(C)||ti(x)?r(!0):r(!1),!Rm(S.anchor.getNode())&&S.getTextContent()!==""?e(Jt(x)||_r(x)):e(!1);const T=S.getTextContent().replace(/\n/g,"");if(!S.isCollapsed()&&T===""){e(!1);return}})},[l]);return he.useEffect(()=>(document.addEventListener("selectionchange",E),()=>{document.removeEventListener("selectionchange",E)}),[E]),he.useEffect(()=>wr(l.registerUpdateListener(()=>{E()}),l.registerRootListener(()=>{l.getRootElement()===null&&e(!1)})),[l,E]),n?ao.createPortal(ae.jsx(KR,{editor:l,anchorElem:t,isLink:s,isBold:o,isItalic:c,isStrikethrough:f,isSubscript:h,isSuperscript:g,isUnderline:u,isCode:v}),t):null}function $R({anchorElem:l=document.body}){const[t]=yn();return GR(t,l)}const e4="";function YR({children:l,label:t,className:n,...e}){return ae.jsxs("div",{className:"Input__wrapper",children:[ae.jsx("label",{style:{marginTop:"-1em"},className:"Input__label",children:t}),ae.jsx("select",{...e,className:n||"select",children:l})]})}const jC=new Set;function ZR(l){if(!jC.has(l))throw new Promise(t=>{const n=new Image;n.src=l,n.onload=()=>{jC.add(l),t(null)}})}function QR({altText:l,className:t,imageRef:n,src:e,width:s,height:r,position:o}){return ZR(e),ae.jsx("img",{className:t||void 0,src:e,alt:l,ref:n,"data-position":o,style:{display:"block",height:r,width:s},draggable:"false"})}function kC({activeEditor:l,nodeKey:t,onClose:n}){const s=l.getEditorState().read(()=>Dn(t)),[r,o]=he.useState(s.getAltText()),[a,c]=he.useState(s.getShowCaption()),[i,u]=he.useState(s.getPosition()),d=h=>{c(h.target.checked)},f=h=>{u(h.target.value)},p=()=>{const h={altText:r,position:i,showCaption:a};s&&l.update(()=>{s.update(h)}),n()};return ae.jsxs(ae.Fragment,{children:[ae.jsx("div",{style:{marginBottom:"1em"},children:ae.jsx(Oc,{label:"Alt Text",placeholder:"Descriptive alternative text",onChange:o,value:r,"data-test-id":"image-modal-alt-text-input"})}),ae.jsxs(YR,{style:{marginBottom:"1em",width:"208px"},value:i,label:"Position",name:"position",id:"position-select",onChange:f,children:[ae.jsx("option",{value:"left",children:"Left"}),ae.jsx("option",{value:"right",children:"Right"}),ae.jsx("option",{value:"full",children:"Full Width"})]}),ae.jsxs("div",{className:"Input__wrapper",children:[ae.jsx("input",{id:"caption",type:"checkbox",checked:a,onChange:d}),ae.jsx("label",{htmlFor:"caption",children:"Show Caption"})]}),ae.jsx(Rp,{children:ae.jsx(Fi,{"data-test-id":"image-modal-file-upload-btn",onClick:()=>p(),children:"Confirm"})})]})}function XR({src:l,altText:t,nodeKey:n,width:e,height:s,showCaption:r,caption:o,position:a}){const[c,i]=Da(),u=he.useRef(null),d=he.useRef(null),[f,p,h]=Cc(n),[m]=yn(),[g,b]=he.useState(null),v=he.useRef(null),_=he.useCallback(x=>{if(f&&fr(jt())){x.preventDefault();const T=Dn(n);if(wT(T))return T.remove(),!0}return!1},[f,n]),E=he.useCallback(x=>{const C=jt(),T=d.current;if(f&&fr(C)&&C.getNodes().length===1){if(r)return jr(null),x.preventDefault(),o.focus(),!0;if(T!==null&&T!==document.activeElement)return x.preventDefault(),T.focus(),!0}return!1},[o,f,r]),S=he.useCallback(x=>v.current===o||d.current===x.target?(jr(null),m.update(()=>{p(!0);const C=m.getRootElement();C!==null&&C.focus()}),!0):!1,[o,m,p]);he.useEffect(()=>{let x=!0;const C=wr(m.registerUpdateListener(({editorState:T})=>{x&&b(T.read(()=>jt()))}),m.registerCommand(ai,(T,R)=>(v.current=R,!1),Jn),m.registerCommand(ba,T=>{const R=T;return R.target===u.current?(R.shiftKey?p(!f):(h(),p(!0)),!0):!1},Jn),m.registerCommand(ac,T=>T.target===u.current?(T.preventDefault(),!0):!1,Jn),m.registerCommand(Qi,_,Jn),m.registerCommand(Zi,_,Jn),m.registerCommand(Ls,E,Jn),m.registerCommand(Fs,S,Jn));return()=>{x=!1,C()}},[h,m,f,n,_,E,S,p]);const w=f&&fr(g),y=f;return ae.jsxs(he.Suspense,{fallback:null,children:[ae.jsxs(ae.Fragment,{children:[ae.jsxs("div",{draggable:w,children:[ae.jsx("button",{className:"image-edit-button",ref:d,onClick:()=>{i("Update Inline Image",x=>ae.jsx(kC,{activeEditor:m,nodeKey:n,onClose:x}))},children:"Edit"}),ae.jsx(QR,{className:y?`focused ${fr(g)?"draggable":""}`:null,src:l,altText:t,imageRef:u,width:e,height:s,position:a})]}),r&&ae.jsx("div",{className:"image-caption-container",children:ae.jsxs(SC,{initialEditor:o,children:[ae.jsx(Lp,{}),ae.jsx(gy,{}),ae.jsx($R,{}),ae.jsx(qp,{contentEditable:ae.jsx(Ad,{className:"InlineImageNode__contentEditable"}),placeholder:ae.jsx(Od,{className:"InlineImageNode__placeholder",children:"Enter a caption..."}),ErrorBoundary:Rl})]})})]}),c]})}const eD=Object.freeze(Object.defineProperty({__proto__:null,UpdateInlineImageDialog:kC,default:XR},Symbol.toStringTag,{value:"Module"})),t4="";function tD(l){return l.reduce((t,n)=>t+n.votes.length,0)}function nD({option:l,index:t,options:n,totalVotes:e,withPollNode:s}){const{clientID:r}=Nd(),o=he.useRef(null),a=l.votes,i=a.indexOf(r)!==-1,u=a.length,d=l.text;return ae.jsxs("div",{className:"PollNode__optionContainer",children:[ae.jsx("div",{className:iy("PollNode__optionCheckboxWrapper",i&&"PollNode__optionCheckboxChecked"),children:ae.jsx("input",{ref:o,className:"PollNode__optionCheckbox",type:"checkbox",onChange:f=>{s(p=>{p.toggleVote(l,r)})},checked:i})}),ae.jsxs("div",{className:"PollNode__optionInputWrapper",children:[ae.jsx("div",{className:"PollNode__optionInputVotes",style:{width:`${u===0?0:u/e*100}%`}}),ae.jsx("span",{className:"PollNode__optionInputVotesCount",children:u>0&&(u===1?"1 vote":`${u} votes`)}),ae.jsx("input",{className:"PollNode__optionInput",type:"text",value:d,onChange:f=>{const p=f.target,h=p.value,m=p.selectionStart,g=p.selectionEnd;s(b=>{b.setOptionText(l,h)},()=>{p.selectionStart=m,p.selectionEnd=g})},placeholder:`Option ${t+1}`})]}),ae.jsx("button",{disabled:n.length<3,className:iy("PollNode__optionDelete",n.length<3&&"PollNode__optionDeleteDisabled"),"aria-label":"Remove",onClick:()=>{s(f=>{f.deleteOption(l)})}})]})}function rD({question:l,options:t,nodeKey:n}){const[e]=yn(),s=he.useMemo(()=>tD(t),[t]),[r,o,a]=Cc(n),[c,i]=he.useState(null),u=he.useRef(null),d=he.useCallback(m=>{if(r&&fr(jt())){m.preventDefault();const b=Dn(n);if(T1(b))return b.remove(),!0}return!1},[r,n]);he.useEffect(()=>wr(e.registerUpdateListener(({editorState:m})=>{i(m.read(()=>jt()))}),e.registerCommand(ba,m=>{const g=m;return g.target===u.current?(g.shiftKey||a(),o(!r),!0):!1},Jn),e.registerCommand(Qi,d,Jn),e.registerCommand(Zi,d,Jn)),[a,e,r,n,d,o]);const f=(m,g)=>{e.update(()=>{const b=Dn(n);T1(b)&&m(b)},{onUpdate:g})},p=()=>{f(m=>{m.addOption(NT())})},h=fr(c)&&r;return ae.jsx("div",{className:`PollNode__container ${h?"focused":""}`,ref:u,children:ae.jsxs("div",{className:"PollNode__inner",children:[ae.jsx("h2",{className:"PollNode__heading",children:l}),t.map((m,g)=>{const b=m.uid;return ae.jsx(nD,{withPollNode:f,option:m,index:g,options:t,totalVotes:s},b)}),ae.jsx("div",{className:"PollNode__footer",children:ae.jsx(Fi,{onClick:p,small:!0,children:"Add Option"})})]})})}const oD=Object.freeze(Object.defineProperty({__proto__:null,default:rD},Symbol.toStringTag,{value:"Module"})),iD=Object.freeze(Object.defineProperty({__proto__:null,default:[{description:"grinning face",emoji:"😀",category:"Smileys & Emotion",aliases:["grinning"],tags:["smile","happy"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😃",description:"grinning face with big eyes",category:"Smileys & Emotion",aliases:["smiley"],tags:["happy","joy","haha"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😄",description:"grinning face with smiling eyes",category:"Smileys & Emotion",aliases:["smile"],tags:["happy","joy","laugh","pleased"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😁",description:"beaming face with smiling eyes",category:"Smileys & Emotion",aliases:["grin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😆",description:"grinning squinting face",category:"Smileys & Emotion",aliases:["laughing","satisfied"],tags:["happy","haha"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😅",description:"grinning face with sweat",category:"Smileys & Emotion",aliases:["sweat_smile"],tags:["hot"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤣",description:"rolling on the floor laughing",category:"Smileys & Emotion",aliases:["rofl"],tags:["lol","laughing"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"😂",description:"face with tears of joy",category:"Smileys & Emotion",aliases:["joy"],tags:["tears"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙂",description:"slightly smiling face",category:"Smileys & Emotion",aliases:["slightly_smiling_face"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🙃",description:"upside-down face",category:"Smileys & Emotion",aliases:["upside_down_face"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"😉",description:"winking face",category:"Smileys & Emotion",aliases:["wink"],tags:["flirt"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😊",description:"smiling face with smiling eyes",category:"Smileys & Emotion",aliases:["blush"],tags:["proud"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😇",description:"smiling face with halo",category:"Smileys & Emotion",aliases:["innocent"],tags:["angel"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥰",description:"smiling face with hearts",category:"Smileys & Emotion",aliases:["smiling_face_with_three_hearts"],tags:["love"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😍",description:"smiling face with heart-eyes",category:"Smileys & Emotion",aliases:["heart_eyes"],tags:["love","crush"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤩",description:"star-struck",category:"Smileys & Emotion",aliases:["star_struck"],tags:["eyes"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😘",description:"face blowing a kiss",category:"Smileys & Emotion",aliases:["kissing_heart"],tags:["flirt"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😗",description:"kissing face",category:"Smileys & Emotion",aliases:["kissing"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"☺️",description:"smiling face",category:"Smileys & Emotion",aliases:["relaxed"],tags:["blush","pleased"],unicode_version:"",ios_version:"6.0"},{emoji:"😚",description:"kissing face with closed eyes",category:"Smileys & Emotion",aliases:["kissing_closed_eyes"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😙",description:"kissing face with smiling eyes",category:"Smileys & Emotion",aliases:["kissing_smiling_eyes"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"🥲",description:"smiling face with tear",category:"Smileys & Emotion",aliases:["smiling_face_with_tear"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"😋",description:"face savoring food",category:"Smileys & Emotion",aliases:["yum"],tags:["tongue","lick"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😛",description:"face with tongue",category:"Smileys & Emotion",aliases:["stuck_out_tongue"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😜",description:"winking face with tongue",category:"Smileys & Emotion",aliases:["stuck_out_tongue_winking_eye"],tags:["prank","silly"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤪",description:"zany face",category:"Smileys & Emotion",aliases:["zany_face"],tags:["goofy","wacky"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😝",description:"squinting face with tongue",category:"Smileys & Emotion",aliases:["stuck_out_tongue_closed_eyes"],tags:["prank"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤑",description:"money-mouth face",category:"Smileys & Emotion",aliases:["money_mouth_face"],tags:["rich"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤗",description:"hugging face",category:"Smileys & Emotion",aliases:["hugs"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤭",description:"face with hand over mouth",category:"Smileys & Emotion",aliases:["hand_over_mouth"],tags:["quiet","whoops"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤫",description:"shushing face",category:"Smileys & Emotion",aliases:["shushing_face"],tags:["silence","quiet"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤔",description:"thinking face",category:"Smileys & Emotion",aliases:["thinking"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤐",description:"zipper-mouth face",category:"Smileys & Emotion",aliases:["zipper_mouth_face"],tags:["silence","hush"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤨",description:"face with raised eyebrow",category:"Smileys & Emotion",aliases:["raised_eyebrow"],tags:["suspicious"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😐",description:"neutral face",category:"Smileys & Emotion",aliases:["neutral_face"],tags:["meh"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😑",description:"expressionless face",category:"Smileys & Emotion",aliases:["expressionless"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😶",description:"face without mouth",category:"Smileys & Emotion",aliases:["no_mouth"],tags:["mute","silence"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😶‍🌫️",description:"face in clouds",category:"Smileys & Emotion",aliases:["face_in_clouds"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"😏",description:"smirking face",category:"Smileys & Emotion",aliases:["smirk"],tags:["smug"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😒",description:"unamused face",category:"Smileys & Emotion",aliases:["unamused"],tags:["meh"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙄",description:"face with rolling eyes",category:"Smileys & Emotion",aliases:["roll_eyes"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"😬",description:"grimacing face",category:"Smileys & Emotion",aliases:["grimacing"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😮‍💨",description:"face exhaling",category:"Smileys & Emotion",aliases:["face_exhaling"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"🤥",description:"lying face",category:"Smileys & Emotion",aliases:["lying_face"],tags:["liar"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"😌",description:"relieved face",category:"Smileys & Emotion",aliases:["relieved"],tags:["whew"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😔",description:"pensive face",category:"Smileys & Emotion",aliases:["pensive"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😪",description:"sleepy face",category:"Smileys & Emotion",aliases:["sleepy"],tags:["tired"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤤",description:"drooling face",category:"Smileys & Emotion",aliases:["drooling_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"😴",description:"sleeping face",category:"Smileys & Emotion",aliases:["sleeping"],tags:["zzz"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😷",description:"face with medical mask",category:"Smileys & Emotion",aliases:["mask"],tags:["sick","ill"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤒",description:"face with thermometer",category:"Smileys & Emotion",aliases:["face_with_thermometer"],tags:["sick"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤕",description:"face with head-bandage",category:"Smileys & Emotion",aliases:["face_with_head_bandage"],tags:["hurt"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤢",description:"nauseated face",category:"Smileys & Emotion",aliases:["nauseated_face"],tags:["sick","barf","disgusted"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤮",description:"face vomiting",category:"Smileys & Emotion",aliases:["vomiting_face"],tags:["barf","sick"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤧",description:"sneezing face",category:"Smileys & Emotion",aliases:["sneezing_face"],tags:["achoo","sick"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥵",description:"hot face",category:"Smileys & Emotion",aliases:["hot_face"],tags:["heat","sweating"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥶",description:"cold face",category:"Smileys & Emotion",aliases:["cold_face"],tags:["freezing","ice"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥴",description:"woozy face",category:"Smileys & Emotion",aliases:["woozy_face"],tags:["groggy"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😵",description:"knocked-out face",category:"Smileys & Emotion",aliases:["dizzy_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😵‍💫",description:"face with spiral eyes",category:"Smileys & Emotion",aliases:["face_with_spiral_eyes"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"🤯",description:"exploding head",category:"Smileys & Emotion",aliases:["exploding_head"],tags:["mind","blown"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤠",description:"cowboy hat face",category:"Smileys & Emotion",aliases:["cowboy_hat_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥳",description:"partying face",category:"Smileys & Emotion",aliases:["partying_face"],tags:["celebration","birthday"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥸",description:"disguised face",category:"Smileys & Emotion",aliases:["disguised_face"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"😎",description:"smiling face with sunglasses",category:"Smileys & Emotion",aliases:["sunglasses"],tags:["cool"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤓",description:"nerd face",category:"Smileys & Emotion",aliases:["nerd_face"],tags:["geek","glasses"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🧐",description:"face with monocle",category:"Smileys & Emotion",aliases:["monocle_face"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😕",description:"confused face",category:"Smileys & Emotion",aliases:["confused"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😟",description:"worried face",category:"Smileys & Emotion",aliases:["worried"],tags:["nervous"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"🙁",description:"slightly frowning face",category:"Smileys & Emotion",aliases:["slightly_frowning_face"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"☹️",description:"frowning face",category:"Smileys & Emotion",aliases:["frowning_face"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"😮",description:"face with open mouth",category:"Smileys & Emotion",aliases:["open_mouth"],tags:["surprise","impressed","wow"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😯",description:"hushed face",category:"Smileys & Emotion",aliases:["hushed"],tags:["silence","speechless"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😲",description:"astonished face",category:"Smileys & Emotion",aliases:["astonished"],tags:["amazed","gasp"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😳",description:"flushed face",category:"Smileys & Emotion",aliases:["flushed"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥺",description:"pleading face",category:"Smileys & Emotion",aliases:["pleading_face"],tags:["puppy","eyes"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😦",description:"frowning face with open mouth",category:"Smileys & Emotion",aliases:["frowning"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😧",description:"anguished face",category:"Smileys & Emotion",aliases:["anguished"],tags:["stunned"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😨",description:"fearful face",category:"Smileys & Emotion",aliases:["fearful"],tags:["scared","shocked","oops"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😰",description:"anxious face with sweat",category:"Smileys & Emotion",aliases:["cold_sweat"],tags:["nervous"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😥",description:"sad but relieved face",category:"Smileys & Emotion",aliases:["disappointed_relieved"],tags:["phew","sweat","nervous"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😢",description:"crying face",category:"Smileys & Emotion",aliases:["cry"],tags:["sad","tear"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😭",description:"loudly crying face",category:"Smileys & Emotion",aliases:["sob"],tags:["sad","cry","bawling"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😱",description:"face screaming in fear",category:"Smileys & Emotion",aliases:["scream"],tags:["horror","shocked"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😖",description:"confounded face",category:"Smileys & Emotion",aliases:["confounded"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😣",description:"persevering face",category:"Smileys & Emotion",aliases:["persevere"],tags:["struggling"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😞",description:"disappointed face",category:"Smileys & Emotion",aliases:["disappointed"],tags:["sad"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😓",description:"downcast face with sweat",category:"Smileys & Emotion",aliases:["sweat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😩",description:"weary face",category:"Smileys & Emotion",aliases:["weary"],tags:["tired"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😫",description:"tired face",category:"Smileys & Emotion",aliases:["tired_face"],tags:["upset","whine"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥱",description:"yawning face",category:"Smileys & Emotion",aliases:["yawning_face"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"😤",description:"face with steam from nose",category:"Smileys & Emotion",aliases:["triumph"],tags:["smug"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😡",description:"pouting face",category:"Smileys & Emotion",aliases:["rage","pout"],tags:["angry"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😠",description:"angry face",category:"Smileys & Emotion",aliases:["angry"],tags:["mad","annoyed"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤬",description:"face with symbols on mouth",category:"Smileys & Emotion",aliases:["cursing_face"],tags:["foul"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😈",description:"smiling face with horns",category:"Smileys & Emotion",aliases:["smiling_imp"],tags:["devil","evil","horns"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👿",description:"angry face with horns",category:"Smileys & Emotion",aliases:["imp"],tags:["angry","devil","evil","horns"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💀",description:"skull",category:"Smileys & Emotion",aliases:["skull"],tags:["dead","danger","poison"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☠️",description:"skull and crossbones",category:"Smileys & Emotion",aliases:["skull_and_crossbones"],tags:["danger","pirate"],unicode_version:"",ios_version:"9.1"},{emoji:"💩",description:"pile of poo",category:"Smileys & Emotion",aliases:["hankey","poop","shit"],tags:["crap"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤡",description:"clown face",category:"Smileys & Emotion",aliases:["clown_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"👹",description:"ogre",category:"Smileys & Emotion",aliases:["japanese_ogre"],tags:["monster"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👺",description:"goblin",category:"Smileys & Emotion",aliases:["japanese_goblin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👻",description:"ghost",category:"Smileys & Emotion",aliases:["ghost"],tags:["halloween"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👽",description:"alien",category:"Smileys & Emotion",aliases:["alien"],tags:["ufo"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👾",description:"alien monster",category:"Smileys & Emotion",aliases:["space_invader"],tags:["game","retro"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤖",description:"robot",category:"Smileys & Emotion",aliases:["robot"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"😺",description:"grinning cat",category:"Smileys & Emotion",aliases:["smiley_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😸",description:"grinning cat with smiling eyes",category:"Smileys & Emotion",aliases:["smile_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😹",description:"cat with tears of joy",category:"Smileys & Emotion",aliases:["joy_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😻",description:"smiling cat with heart-eyes",category:"Smileys & Emotion",aliases:["heart_eyes_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😼",description:"cat with wry smile",category:"Smileys & Emotion",aliases:["smirk_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😽",description:"kissing cat",category:"Smileys & Emotion",aliases:["kissing_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙀",description:"weary cat",category:"Smileys & Emotion",aliases:["scream_cat"],tags:["horror"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😿",description:"crying cat",category:"Smileys & Emotion",aliases:["crying_cat_face"],tags:["sad","tear"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😾",description:"pouting cat",category:"Smileys & Emotion",aliases:["pouting_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙈",description:"see-no-evil monkey",category:"Smileys & Emotion",aliases:["see_no_evil"],tags:["monkey","blind","ignore"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙉",description:"hear-no-evil monkey",category:"Smileys & Emotion",aliases:["hear_no_evil"],tags:["monkey","deaf"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙊",description:"speak-no-evil monkey",category:"Smileys & Emotion",aliases:["speak_no_evil"],tags:["monkey","mute","hush"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💋",description:"kiss mark",category:"Smileys & Emotion",aliases:["kiss"],tags:["lipstick"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💌",description:"love letter",category:"Smileys & Emotion",aliases:["love_letter"],tags:["email","envelope"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💘",description:"heart with arrow",category:"Smileys & Emotion",aliases:["cupid"],tags:["love","heart"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💝",description:"heart with ribbon",category:"Smileys & Emotion",aliases:["gift_heart"],tags:["chocolates"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💖",description:"sparkling heart",category:"Smileys & Emotion",aliases:["sparkling_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💗",description:"growing heart",category:"Smileys & Emotion",aliases:["heartpulse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💓",description:"beating heart",category:"Smileys & Emotion",aliases:["heartbeat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💞",description:"revolving hearts",category:"Smileys & Emotion",aliases:["revolving_hearts"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💕",description:"two hearts",category:"Smileys & Emotion",aliases:["two_hearts"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💟",description:"heart decoration",category:"Smileys & Emotion",aliases:["heart_decoration"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❣️",description:"heart exclamation",category:"Smileys & Emotion",aliases:["heavy_heart_exclamation"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"💔",description:"broken heart",category:"Smileys & Emotion",aliases:["broken_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❤️‍🔥",description:"heart on fire",category:"Smileys & Emotion",aliases:["heart_on_fire"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"❤️‍🩹",description:"mending heart",category:"Smileys & Emotion",aliases:["mending_heart"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"❤️",description:"red heart",category:"Smileys & Emotion",aliases:["heart"],tags:["love"],unicode_version:"",ios_version:"6.0"},{emoji:"🧡",description:"orange heart",category:"Smileys & Emotion",aliases:["orange_heart"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💛",description:"yellow heart",category:"Smileys & Emotion",aliases:["yellow_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💚",description:"green heart",category:"Smileys & Emotion",aliases:["green_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💙",description:"blue heart",category:"Smileys & Emotion",aliases:["blue_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💜",description:"purple heart",category:"Smileys & Emotion",aliases:["purple_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤎",description:"brown heart",category:"Smileys & Emotion",aliases:["brown_heart"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🖤",description:"black heart",category:"Smileys & Emotion",aliases:["black_heart"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤍",description:"white heart",category:"Smileys & Emotion",aliases:["white_heart"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"💯",description:"hundred points",category:"Smileys & Emotion",aliases:["100"],tags:["score","perfect"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💢",description:"anger symbol",category:"Smileys & Emotion",aliases:["anger"],tags:["angry"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💥",description:"collision",category:"Smileys & Emotion",aliases:["boom","collision"],tags:["explode"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💫",description:"dizzy",category:"Smileys & Emotion",aliases:["dizzy"],tags:["star"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💦",description:"sweat droplets",category:"Smileys & Emotion",aliases:["sweat_drops"],tags:["water","workout"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💨",description:"dashing away",category:"Smileys & Emotion",aliases:["dash"],tags:["wind","blow","fast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕳️",description:"hole",category:"Smileys & Emotion",aliases:["hole"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💣",description:"bomb",category:"Smileys & Emotion",aliases:["bomb"],tags:["boom"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💬",description:"speech balloon",category:"Smileys & Emotion",aliases:["speech_balloon"],tags:["comment"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👁️‍🗨️",description:"eye in speech bubble",category:"Smileys & Emotion",aliases:["eye_speech_bubble"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🗨️",description:"left speech bubble",category:"Smileys & Emotion",aliases:["left_speech_bubble"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🗯️",description:"right anger bubble",category:"Smileys & Emotion",aliases:["right_anger_bubble"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💭",description:"thought balloon",category:"Smileys & Emotion",aliases:["thought_balloon"],tags:["thinking"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💤",description:"zzz",category:"Smileys & Emotion",aliases:["zzz"],tags:["sleeping"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👋",description:"waving hand",category:"People & Body",aliases:["wave"],tags:["goodbye"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤚",description:"raised back of hand",category:"People & Body",aliases:["raised_back_of_hand"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🖐️",description:"hand with fingers splayed",category:"People & Body",aliases:["raised_hand_with_fingers_splayed"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"✋",description:"raised hand",category:"People & Body",aliases:["hand","raised_hand"],tags:["highfive","stop"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🖖",description:"vulcan salute",category:"People & Body",aliases:["vulcan_salute"],tags:["prosper","spock"],unicode_version:"7.0",ios_version:"8.3",skin_tones:!0},{emoji:"👌",description:"OK hand",category:"People & Body",aliases:["ok_hand"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤌",description:"pinched fingers",category:"People & Body",aliases:["pinched_fingers"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🤏",description:"pinching hand",category:"People & Body",aliases:["pinching_hand"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"✌️",description:"victory hand",category:"People & Body",aliases:["v"],tags:["victory","peace"],unicode_version:"",ios_version:"6.0",skin_tones:!0},{emoji:"🤞",description:"crossed fingers",category:"People & Body",aliases:["crossed_fingers"],tags:["luck","hopeful"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤟",description:"love-you gesture",category:"People & Body",aliases:["love_you_gesture"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤘",description:"sign of the horns",category:"People & Body",aliases:["metal"],tags:[],unicode_version:"8.0",ios_version:"9.1",skin_tones:!0},{emoji:"🤙",description:"call me hand",category:"People & Body",aliases:["call_me_hand"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"👈",description:"backhand index pointing left",category:"People & Body",aliases:["point_left"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👉",description:"backhand index pointing right",category:"People & Body",aliases:["point_right"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👆",description:"backhand index pointing up",category:"People & Body",aliases:["point_up_2"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🖕",description:"middle finger",category:"People & Body",aliases:["middle_finger","fu"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"👇",description:"backhand index pointing down",category:"People & Body",aliases:["point_down"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"☝️",description:"index pointing up",category:"People & Body",aliases:["point_up"],tags:[],unicode_version:"",ios_version:"6.0",skin_tones:!0},{emoji:"👍",description:"thumbs up",category:"People & Body",aliases:["+1","thumbsup"],tags:["approve","ok"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👎",description:"thumbs down",category:"People & Body",aliases:["-1","thumbsdown"],tags:["disapprove","bury"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"✊",description:"raised fist",category:"People & Body",aliases:["fist_raised","fist"],tags:["power"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👊",description:"oncoming fist",category:"People & Body",aliases:["fist_oncoming","facepunch","punch"],tags:["attack"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤛",description:"left-facing fist",category:"People & Body",aliases:["fist_left"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤜",description:"right-facing fist",category:"People & Body",aliases:["fist_right"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"👏",description:"clapping hands",category:"People & Body",aliases:["clap"],tags:["praise","applause"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙌",description:"raising hands",category:"People & Body",aliases:["raised_hands"],tags:["hooray"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👐",description:"open hands",category:"People & Body",aliases:["open_hands"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤲",description:"palms up together",category:"People & Body",aliases:["palms_up_together"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤝",description:"handshake",category:"People & Body",aliases:["handshake"],tags:["deal"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🙏",description:"folded hands",category:"People & Body",aliases:["pray"],tags:["please","hope","wish"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"✍️",description:"writing hand",category:"People & Body",aliases:["writing_hand"],tags:[],unicode_version:"",ios_version:"9.1",skin_tones:!0},{emoji:"💅",description:"nail polish",category:"People & Body",aliases:["nail_care"],tags:["beauty","manicure"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤳",description:"selfie",category:"People & Body",aliases:["selfie"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"💪",description:"flexed biceps",category:"People & Body",aliases:["muscle"],tags:["flex","bicep","strong","workout"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🦾",description:"mechanical arm",category:"People & Body",aliases:["mechanical_arm"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦿",description:"mechanical leg",category:"People & Body",aliases:["mechanical_leg"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦵",description:"leg",category:"People & Body",aliases:["leg"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦶",description:"foot",category:"People & Body",aliases:["foot"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👂",description:"ear",category:"People & Body",aliases:["ear"],tags:["hear","sound","listen"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🦻",description:"ear with hearing aid",category:"People & Body",aliases:["ear_with_hearing_aid"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👃",description:"nose",category:"People & Body",aliases:["nose"],tags:["smell"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧠",description:"brain",category:"People & Body",aliases:["brain"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🫀",description:"anatomical heart",category:"People & Body",aliases:["anatomical_heart"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🫁",description:"lungs",category:"People & Body",aliases:["lungs"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦷",description:"tooth",category:"People & Body",aliases:["tooth"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦴",description:"bone",category:"People & Body",aliases:["bone"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👀",description:"eyes",category:"People & Body",aliases:["eyes"],tags:["look","see","watch"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👁️",description:"eye",category:"People & Body",aliases:["eye"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"👅",description:"tongue",category:"People & Body",aliases:["tongue"],tags:["taste"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👄",description:"mouth",category:"People & Body",aliases:["lips"],tags:["kiss"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👶",description:"baby",category:"People & Body",aliases:["baby"],tags:["child","newborn"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧒",description:"child",category:"People & Body",aliases:["child"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👦",description:"boy",category:"People & Body",aliases:["boy"],tags:["child"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👧",description:"girl",category:"People & Body",aliases:["girl"],tags:["child"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧑",description:"person",category:"People & Body",aliases:["adult"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👱",description:"person: blond hair",category:"People & Body",aliases:["blond_haired_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👨",description:"man",category:"People & Body",aliases:["man"],tags:["mustache","father","dad"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧔",description:"person: beard",category:"People & Body",aliases:["bearded_person"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧔‍♂️",description:"man: beard",category:"People & Body",aliases:["man_beard"],tags:[],unicode_version:"13.1",ios_version:"14.0",skin_tones:!0},{emoji:"🧔‍♀️",description:"woman: beard",category:"People & Body",aliases:["woman_beard"],tags:[],unicode_version:"13.1",ios_version:"14.0",skin_tones:!0},{emoji:"👨‍🦰",description:"man: red hair",category:"People & Body",aliases:["red_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨‍🦱",description:"man: curly hair",category:"People & Body",aliases:["curly_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨‍🦳",description:"man: white hair",category:"People & Body",aliases:["white_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨‍🦲",description:"man: bald",category:"People & Body",aliases:["bald_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👩",description:"woman",category:"People & Body",aliases:["woman"],tags:["girls"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👩‍🦰",description:"woman: red hair",category:"People & Body",aliases:["red_haired_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑‍🦰",description:"person: red hair",category:"People & Body",aliases:["person_red_hair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👩‍🦱",description:"woman: curly hair",category:"People & Body",aliases:["curly_haired_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑‍🦱",description:"person: curly hair",category:"People & Body",aliases:["person_curly_hair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👩‍🦳",description:"woman: white hair",category:"People & Body",aliases:["white_haired_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑‍🦳",description:"person: white hair",category:"People & Body",aliases:["person_white_hair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👩‍🦲",description:"woman: bald",category:"People & Body",aliases:["bald_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑‍🦲",description:"person: bald",category:"People & Body",aliases:["person_bald"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👱‍♀️",description:"woman: blond hair",category:"People & Body",aliases:["blond_haired_woman","blonde_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"👱‍♂️",description:"man: blond hair",category:"People & Body",aliases:["blond_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧓",description:"older person",category:"People & Body",aliases:["older_adult"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👴",description:"old man",category:"People & Body",aliases:["older_man"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👵",description:"old woman",category:"People & Body",aliases:["older_woman"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙍",description:"person frowning",category:"People & Body",aliases:["frowning_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙍‍♂️",description:"man frowning",category:"People & Body",aliases:["frowning_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙍‍♀️",description:"woman frowning",category:"People & Body",aliases:["frowning_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙎",description:"person pouting",category:"People & Body",aliases:["pouting_face"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙎‍♂️",description:"man pouting",category:"People & Body",aliases:["pouting_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙎‍♀️",description:"woman pouting",category:"People & Body",aliases:["pouting_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙅",description:"person gesturing NO",category:"People & Body",aliases:["no_good"],tags:["stop","halt","denied"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙅‍♂️",description:"man gesturing NO",category:"People & Body",aliases:["no_good_man","ng_man"],tags:["stop","halt","denied"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙅‍♀️",description:"woman gesturing NO",category:"People & Body",aliases:["no_good_woman","ng_woman"],tags:["stop","halt","denied"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙆",description:"person gesturing OK",category:"People & Body",aliases:["ok_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙆‍♂️",description:"man gesturing OK",category:"People & Body",aliases:["ok_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙆‍♀️",description:"woman gesturing OK",category:"People & Body",aliases:["ok_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"💁",description:"person tipping hand",category:"People & Body",aliases:["tipping_hand_person","information_desk_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💁‍♂️",description:"man tipping hand",category:"People & Body",aliases:["tipping_hand_man","sassy_man"],tags:["information"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💁‍♀️",description:"woman tipping hand",category:"People & Body",aliases:["tipping_hand_woman","sassy_woman"],tags:["information"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙋",description:"person raising hand",category:"People & Body",aliases:["raising_hand"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙋‍♂️",description:"man raising hand",category:"People & Body",aliases:["raising_hand_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙋‍♀️",description:"woman raising hand",category:"People & Body",aliases:["raising_hand_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧏",description:"deaf person",category:"People & Body",aliases:["deaf_person"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧏‍♂️",description:"deaf man",category:"People & Body",aliases:["deaf_man"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧏‍♀️",description:"deaf woman",category:"People & Body",aliases:["deaf_woman"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🙇",description:"person bowing",category:"People & Body",aliases:["bow"],tags:["respect","thanks"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙇‍♂️",description:"man bowing",category:"People & Body",aliases:["bowing_man"],tags:["respect","thanks"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙇‍♀️",description:"woman bowing",category:"People & Body",aliases:["bowing_woman"],tags:["respect","thanks"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🤦",description:"person facepalming",category:"People & Body",aliases:["facepalm"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤦‍♂️",description:"man facepalming",category:"People & Body",aliases:["man_facepalming"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤦‍♀️",description:"woman facepalming",category:"People & Body",aliases:["woman_facepalming"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤷",description:"person shrugging",category:"People & Body",aliases:["shrug"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤷‍♂️",description:"man shrugging",category:"People & Body",aliases:["man_shrugging"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤷‍♀️",description:"woman shrugging",category:"People & Body",aliases:["woman_shrugging"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍⚕️",description:"health worker",category:"People & Body",aliases:["health_worker"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍⚕️",description:"man health worker",category:"People & Body",aliases:["man_health_worker"],tags:["doctor","nurse"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍⚕️",description:"woman health worker",category:"People & Body",aliases:["woman_health_worker"],tags:["doctor","nurse"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🎓",description:"student",category:"People & Body",aliases:["student"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🎓",description:"man student",category:"People & Body",aliases:["man_student"],tags:["graduation"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🎓",description:"woman student",category:"People & Body",aliases:["woman_student"],tags:["graduation"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🏫",description:"teacher",category:"People & Body",aliases:["teacher"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🏫",description:"man teacher",category:"People & Body",aliases:["man_teacher"],tags:["school","professor"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🏫",description:"woman teacher",category:"People & Body",aliases:["woman_teacher"],tags:["school","professor"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍⚖️",description:"judge",category:"People & Body",aliases:["judge"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍⚖️",description:"man judge",category:"People & Body",aliases:["man_judge"],tags:["justice"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍⚖️",description:"woman judge",category:"People & Body",aliases:["woman_judge"],tags:["justice"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🌾",description:"farmer",category:"People & Body",aliases:["farmer"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🌾",description:"man farmer",category:"People & Body",aliases:["man_farmer"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🌾",description:"woman farmer",category:"People & Body",aliases:["woman_farmer"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🍳",description:"cook",category:"People & Body",aliases:["cook"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🍳",description:"man cook",category:"People & Body",aliases:["man_cook"],tags:["chef"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🍳",description:"woman cook",category:"People & Body",aliases:["woman_cook"],tags:["chef"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🔧",description:"mechanic",category:"People & Body",aliases:["mechanic"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🔧",description:"man mechanic",category:"People & Body",aliases:["man_mechanic"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🔧",description:"woman mechanic",category:"People & Body",aliases:["woman_mechanic"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🏭",description:"factory worker",category:"People & Body",aliases:["factory_worker"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🏭",description:"man factory worker",category:"People & Body",aliases:["man_factory_worker"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🏭",description:"woman factory worker",category:"People & Body",aliases:["woman_factory_worker"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍💼",description:"office worker",category:"People & Body",aliases:["office_worker"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍💼",description:"man office worker",category:"People & Body",aliases:["man_office_worker"],tags:["business"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍💼",description:"woman office worker",category:"People & Body",aliases:["woman_office_worker"],tags:["business"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🔬",description:"scientist",category:"People & Body",aliases:["scientist"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🔬",description:"man scientist",category:"People & Body",aliases:["man_scientist"],tags:["research"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🔬",description:"woman scientist",category:"People & Body",aliases:["woman_scientist"],tags:["research"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍💻",description:"technologist",category:"People & Body",aliases:["technologist"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍💻",description:"man technologist",category:"People & Body",aliases:["man_technologist"],tags:["coder"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍💻",description:"woman technologist",category:"People & Body",aliases:["woman_technologist"],tags:["coder"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🎤",description:"singer",category:"People & Body",aliases:["singer"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🎤",description:"man singer",category:"People & Body",aliases:["man_singer"],tags:["rockstar"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🎤",description:"woman singer",category:"People & Body",aliases:["woman_singer"],tags:["rockstar"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🎨",description:"artist",category:"People & Body",aliases:["artist"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🎨",description:"man artist",category:"People & Body",aliases:["man_artist"],tags:["painter"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🎨",description:"woman artist",category:"People & Body",aliases:["woman_artist"],tags:["painter"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍✈️",description:"pilot",category:"People & Body",aliases:["pilot"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍✈️",description:"man pilot",category:"People & Body",aliases:["man_pilot"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍✈️",description:"woman pilot",category:"People & Body",aliases:["woman_pilot"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🚀",description:"astronaut",category:"People & Body",aliases:["astronaut"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🚀",description:"man astronaut",category:"People & Body",aliases:["man_astronaut"],tags:["space"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🚀",description:"woman astronaut",category:"People & Body",aliases:["woman_astronaut"],tags:["space"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🚒",description:"firefighter",category:"People & Body",aliases:["firefighter"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🚒",description:"man firefighter",category:"People & Body",aliases:["man_firefighter"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🚒",description:"woman firefighter",category:"People & Body",aliases:["woman_firefighter"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👮",description:"police officer",category:"People & Body",aliases:["police_officer","cop"],tags:["law"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👮‍♂️",description:"man police officer",category:"People & Body",aliases:["policeman"],tags:["law","cop"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👮‍♀️",description:"woman police officer",category:"People & Body",aliases:["policewoman"],tags:["law","cop"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🕵️",description:"detective",category:"People & Body",aliases:["detective"],tags:["sleuth"],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🕵️‍♂️",description:"man detective",category:"People & Body",aliases:["male_detective"],tags:["sleuth"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🕵️‍♀️",description:"woman detective",category:"People & Body",aliases:["female_detective"],tags:["sleuth"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💂",description:"guard",category:"People & Body",aliases:["guard"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💂‍♂️",description:"man guard",category:"People & Body",aliases:["guardsman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"💂‍♀️",description:"woman guard",category:"People & Body",aliases:["guardswoman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🥷",description:"ninja",category:"People & Body",aliases:["ninja"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👷",description:"construction worker",category:"People & Body",aliases:["construction_worker"],tags:["helmet"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👷‍♂️",description:"man construction worker",category:"People & Body",aliases:["construction_worker_man"],tags:["helmet"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👷‍♀️",description:"woman construction worker",category:"People & Body",aliases:["construction_worker_woman"],tags:["helmet"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🤴",description:"prince",category:"People & Body",aliases:["prince"],tags:["crown","royal"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"👸",description:"princess",category:"People & Body",aliases:["princess"],tags:["crown","royal"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👳",description:"person wearing turban",category:"People & Body",aliases:["person_with_turban"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👳‍♂️",description:"man wearing turban",category:"People & Body",aliases:["man_with_turban"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👳‍♀️",description:"woman wearing turban",category:"People & Body",aliases:["woman_with_turban"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"👲",description:"person with skullcap",category:"People & Body",aliases:["man_with_gua_pi_mao"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧕",description:"woman with headscarf",category:"People & Body",aliases:["woman_with_headscarf"],tags:["hijab"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤵",description:"person in tuxedo",category:"People & Body",aliases:["person_in_tuxedo"],tags:["groom","marriage","wedding"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤵‍♂️",description:"man in tuxedo",category:"People & Body",aliases:["man_in_tuxedo"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🤵‍♀️",description:"woman in tuxedo",category:"People & Body",aliases:["woman_in_tuxedo"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👰",description:"person with veil",category:"People & Body",aliases:["person_with_veil"],tags:["marriage","wedding"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👰‍♂️",description:"man with veil",category:"People & Body",aliases:["man_with_veil"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👰‍♀️",description:"woman with veil",category:"People & Body",aliases:["woman_with_veil","bride_with_veil"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🤰",description:"pregnant woman",category:"People & Body",aliases:["pregnant_woman"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤱",description:"breast-feeding",category:"People & Body",aliases:["breast_feeding"],tags:["nursing"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👩‍🍼",description:"woman feeding baby",category:"People & Body",aliases:["woman_feeding_baby"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👨‍🍼",description:"man feeding baby",category:"People & Body",aliases:["man_feeding_baby"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🧑‍🍼",description:"person feeding baby",category:"People & Body",aliases:["person_feeding_baby"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👼",description:"baby angel",category:"People & Body",aliases:["angel"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🎅",description:"Santa Claus",category:"People & Body",aliases:["santa"],tags:["christmas"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤶",description:"Mrs. Claus",category:"People & Body",aliases:["mrs_claus"],tags:["santa"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🎄",description:"mx claus",category:"People & Body",aliases:["mx_claus"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🦸",description:"superhero",category:"People & Body",aliases:["superhero"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦸‍♂️",description:"man superhero",category:"People & Body",aliases:["superhero_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦸‍♀️",description:"woman superhero",category:"People & Body",aliases:["superhero_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦹",description:"supervillain",category:"People & Body",aliases:["supervillain"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦹‍♂️",description:"man supervillain",category:"People & Body",aliases:["supervillain_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦹‍♀️",description:"woman supervillain",category:"People & Body",aliases:["supervillain_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧙",description:"mage",category:"People & Body",aliases:["mage"],tags:["wizard"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧙‍♂️",description:"man mage",category:"People & Body",aliases:["mage_man"],tags:["wizard"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧙‍♀️",description:"woman mage",category:"People & Body",aliases:["mage_woman"],tags:["wizard"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧚",description:"fairy",category:"People & Body",aliases:["fairy"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧚‍♂️",description:"man fairy",category:"People & Body",aliases:["fairy_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧚‍♀️",description:"woman fairy",category:"People & Body",aliases:["fairy_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧛",description:"vampire",category:"People & Body",aliases:["vampire"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧛‍♂️",description:"man vampire",category:"People & Body",aliases:["vampire_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧛‍♀️",description:"woman vampire",category:"People & Body",aliases:["vampire_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧜",description:"merperson",category:"People & Body",aliases:["merperson"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧜‍♂️",description:"merman",category:"People & Body",aliases:["merman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧜‍♀️",description:"mermaid",category:"People & Body",aliases:["mermaid"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧝",description:"elf",category:"People & Body",aliases:["elf"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧝‍♂️",description:"man elf",category:"People & Body",aliases:["elf_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧝‍♀️",description:"woman elf",category:"People & Body",aliases:["elf_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧞",description:"genie",category:"People & Body",aliases:["genie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧞‍♂️",description:"man genie",category:"People & Body",aliases:["genie_man"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧞‍♀️",description:"woman genie",category:"People & Body",aliases:["genie_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧟",description:"zombie",category:"People & Body",aliases:["zombie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧟‍♂️",description:"man zombie",category:"People & Body",aliases:["zombie_man"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧟‍♀️",description:"woman zombie",category:"People & Body",aliases:["zombie_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💆",description:"person getting massage",category:"People & Body",aliases:["massage"],tags:["spa"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💆‍♂️",description:"man getting massage",category:"People & Body",aliases:["massage_man"],tags:["spa"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💆‍♀️",description:"woman getting massage",category:"People & Body",aliases:["massage_woman"],tags:["spa"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"💇",description:"person getting haircut",category:"People & Body",aliases:["haircut"],tags:["beauty"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💇‍♂️",description:"man getting haircut",category:"People & Body",aliases:["haircut_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💇‍♀️",description:"woman getting haircut",category:"People & Body",aliases:["haircut_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚶",description:"person walking",category:"People & Body",aliases:["walking"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚶‍♂️",description:"man walking",category:"People & Body",aliases:["walking_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚶‍♀️",description:"woman walking",category:"People & Body",aliases:["walking_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🧍",description:"person standing",category:"People & Body",aliases:["standing_person"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧍‍♂️",description:"man standing",category:"People & Body",aliases:["standing_man"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧍‍♀️",description:"woman standing",category:"People & Body",aliases:["standing_woman"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧎",description:"person kneeling",category:"People & Body",aliases:["kneeling_person"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧎‍♂️",description:"man kneeling",category:"People & Body",aliases:["kneeling_man"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧎‍♀️",description:"woman kneeling",category:"People & Body",aliases:["kneeling_woman"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧑‍🦯",description:"person with white cane",category:"People & Body",aliases:["person_with_probing_cane"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🦯",description:"man with white cane",category:"People & Body",aliases:["man_with_probing_cane"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👩‍🦯",description:"woman with white cane",category:"People & Body",aliases:["woman_with_probing_cane"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧑‍🦼",description:"person in motorized wheelchair",category:"People & Body",aliases:["person_in_motorized_wheelchair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🦼",description:"man in motorized wheelchair",category:"People & Body",aliases:["man_in_motorized_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👩‍🦼",description:"woman in motorized wheelchair",category:"People & Body",aliases:["woman_in_motorized_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧑‍🦽",description:"person in manual wheelchair",category:"People & Body",aliases:["person_in_manual_wheelchair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🦽",description:"man in manual wheelchair",category:"People & Body",aliases:["man_in_manual_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👩‍🦽",description:"woman in manual wheelchair",category:"People & Body",aliases:["woman_in_manual_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🏃",description:"person running",category:"People & Body",aliases:["runner","running"],tags:["exercise","workout","marathon"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏃‍♂️",description:"man running",category:"People & Body",aliases:["running_man"],tags:["exercise","workout","marathon"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏃‍♀️",description:"woman running",category:"People & Body",aliases:["running_woman"],tags:["exercise","workout","marathon"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💃",description:"woman dancing",category:"People & Body",aliases:["woman_dancing","dancer"],tags:["dress"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🕺",description:"man dancing",category:"People & Body",aliases:["man_dancing"],tags:["dancer"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🕴️",description:"person in suit levitating",category:"People & Body",aliases:["business_suit_levitating"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"👯",description:"people with bunny ears",category:"People & Body",aliases:["dancers"],tags:["bunny"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👯‍♂️",description:"men with bunny ears",category:"People & Body",aliases:["dancing_men"],tags:["bunny"],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👯‍♀️",description:"women with bunny ears",category:"People & Body",aliases:["dancing_women"],tags:["bunny"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧖",description:"person in steamy room",category:"People & Body",aliases:["sauna_person"],tags:["steamy"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧖‍♂️",description:"man in steamy room",category:"People & Body",aliases:["sauna_man"],tags:["steamy"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧖‍♀️",description:"woman in steamy room",category:"People & Body",aliases:["sauna_woman"],tags:["steamy"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧗",description:"person climbing",category:"People & Body",aliases:["climbing"],tags:["bouldering"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧗‍♂️",description:"man climbing",category:"People & Body",aliases:["climbing_man"],tags:["bouldering"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧗‍♀️",description:"woman climbing",category:"People & Body",aliases:["climbing_woman"],tags:["bouldering"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤺",description:"person fencing",category:"People & Body",aliases:["person_fencing"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🏇",description:"horse racing",category:"People & Body",aliases:["horse_racing"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"⛷️",description:"skier",category:"People & Body",aliases:["skier"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🏂",description:"snowboarder",category:"People & Body",aliases:["snowboarder"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏌️",description:"person golfing",category:"People & Body",aliases:["golfing"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🏌️‍♂️",description:"man golfing",category:"People & Body",aliases:["golfing_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏌️‍♀️",description:"woman golfing",category:"People & Body",aliases:["golfing_woman"],tags:[],unicode_version:"",ios_version:"10.0",skin_tones:!0},{emoji:"🏄",description:"person surfing",category:"People & Body",aliases:["surfer"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏄‍♂️",description:"man surfing",category:"People & Body",aliases:["surfing_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏄‍♀️",description:"woman surfing",category:"People & Body",aliases:["surfing_woman"],tags:[],unicode_version:"7.0",ios_version:"10.0",skin_tones:!0},{emoji:"🚣",description:"person rowing boat",category:"People & Body",aliases:["rowboat"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚣‍♂️",description:"man rowing boat",category:"People & Body",aliases:["rowing_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚣‍♀️",description:"woman rowing boat",category:"People & Body",aliases:["rowing_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🏊",description:"person swimming",category:"People & Body",aliases:["swimmer"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏊‍♂️",description:"man swimming",category:"People & Body",aliases:["swimming_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏊‍♀️",description:"woman swimming",category:"People & Body",aliases:["swimming_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"⛹️",description:"person bouncing ball",category:"People & Body",aliases:["bouncing_ball_person"],tags:["basketball"],unicode_version:"5.2",ios_version:"9.1",skin_tones:!0},{emoji:"⛹️‍♂️",description:"man bouncing ball",category:"People & Body",aliases:["bouncing_ball_man","basketball_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"⛹️‍♀️",description:"woman bouncing ball",category:"People & Body",aliases:["bouncing_ball_woman","basketball_woman"],tags:[],unicode_version:"7.0",ios_version:"10.0",skin_tones:!0},{emoji:"🏋️",description:"person lifting weights",category:"People & Body",aliases:["weight_lifting"],tags:["gym","workout"],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🏋️‍♂️",description:"man lifting weights",category:"People & Body",aliases:["weight_lifting_man"],tags:["gym","workout"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏋️‍♀️",description:"woman lifting weights",category:"People & Body",aliases:["weight_lifting_woman"],tags:["gym","workout"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🚴",description:"person biking",category:"People & Body",aliases:["bicyclist"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚴‍♂️",description:"man biking",category:"People & Body",aliases:["biking_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚴‍♀️",description:"woman biking",category:"People & Body",aliases:["biking_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🚵",description:"person mountain biking",category:"People & Body",aliases:["mountain_bicyclist"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚵‍♂️",description:"man mountain biking",category:"People & Body",aliases:["mountain_biking_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚵‍♀️",description:"woman mountain biking",category:"People & Body",aliases:["mountain_biking_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🤸",description:"person cartwheeling",category:"People & Body",aliases:["cartwheeling"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤸‍♂️",description:"man cartwheeling",category:"People & Body",aliases:["man_cartwheeling"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🤸‍♀️",description:"woman cartwheeling",category:"People & Body",aliases:["woman_cartwheeling"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🤼",description:"people wrestling",category:"People & Body",aliases:["wrestling"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤼‍♂️",description:"men wrestling",category:"People & Body",aliases:["men_wrestling"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤼‍♀️",description:"women wrestling",category:"People & Body",aliases:["women_wrestling"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤽",description:"person playing water polo",category:"People & Body",aliases:["water_polo"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤽‍♂️",description:"man playing water polo",category:"People & Body",aliases:["man_playing_water_polo"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤽‍♀️",description:"woman playing water polo",category:"People & Body",aliases:["woman_playing_water_polo"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤾",description:"person playing handball",category:"People & Body",aliases:["handball_person"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤾‍♂️",description:"man playing handball",category:"People & Body",aliases:["man_playing_handball"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤾‍♀️",description:"woman playing handball",category:"People & Body",aliases:["woman_playing_handball"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤹",description:"person juggling",category:"People & Body",aliases:["juggling_person"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤹‍♂️",description:"man juggling",category:"People & Body",aliases:["man_juggling"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤹‍♀️",description:"woman juggling",category:"People & Body",aliases:["woman_juggling"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🧘",description:"person in lotus position",category:"People & Body",aliases:["lotus_position"],tags:["meditation"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧘‍♂️",description:"man in lotus position",category:"People & Body",aliases:["lotus_position_man"],tags:["meditation"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧘‍♀️",description:"woman in lotus position",category:"People & Body",aliases:["lotus_position_woman"],tags:["meditation"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🛀",description:"person taking bath",category:"People & Body",aliases:["bath"],tags:["shower"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🛌",description:"person in bed",category:"People & Body",aliases:["sleeping_bed"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🧑‍🤝‍🧑",description:"people holding hands",category:"People & Body",aliases:["people_holding_hands"],tags:["couple","date"],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👭",description:"women holding hands",category:"People & Body",aliases:["two_women_holding_hands"],tags:["couple","date"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👫",description:"woman and man holding hands",category:"People & Body",aliases:["couple"],tags:["date"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👬",description:"men holding hands",category:"People & Body",aliases:["two_men_holding_hands"],tags:["couple","date"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💏",description:"kiss",category:"People & Body",aliases:["couplekiss"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👩‍❤️‍💋‍👨",description:"kiss: woman, man",category:"People & Body",aliases:["couplekiss_man_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨‍❤️‍💋‍👨",description:"kiss: man, man",category:"People & Body",aliases:["couplekiss_man_man"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"👩‍❤️‍💋‍👩",description:"kiss: woman, woman",category:"People & Body",aliases:["couplekiss_woman_woman"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"💑",description:"couple with heart",category:"People & Body",aliases:["couple_with_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👩‍❤️‍👨",description:"couple with heart: woman, man",category:"People & Body",aliases:["couple_with_heart_woman_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨‍❤️‍👨",description:"couple with heart: man, man",category:"People & Body",aliases:["couple_with_heart_man_man"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"👩‍❤️‍👩",description:"couple with heart: woman, woman",category:"People & Body",aliases:["couple_with_heart_woman_woman"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"👪",description:"family",category:"People & Body",aliases:["family"],tags:["home","parents","child"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👨‍👩‍👦",description:"family: man, woman, boy",category:"People & Body",aliases:["family_man_woman_boy"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👨‍👩‍👧",description:"family: man, woman, girl",category:"People & Body",aliases:["family_man_woman_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👩‍👧‍👦",description:"family: man, woman, girl, boy",category:"People & Body",aliases:["family_man_woman_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👩‍👦‍👦",description:"family: man, woman, boy, boy",category:"People & Body",aliases:["family_man_woman_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👩‍👧‍👧",description:"family: man, woman, girl, girl",category:"People & Body",aliases:["family_man_woman_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👨‍👦",description:"family: man, man, boy",category:"People & Body",aliases:["family_man_man_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👨‍👧",description:"family: man, man, girl",category:"People & Body",aliases:["family_man_man_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👨‍👧‍👦",description:"family: man, man, girl, boy",category:"People & Body",aliases:["family_man_man_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👨‍👦‍👦",description:"family: man, man, boy, boy",category:"People & Body",aliases:["family_man_man_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👨‍👧‍👧",description:"family: man, man, girl, girl",category:"People & Body",aliases:["family_man_man_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩‍👩‍👦",description:"family: woman, woman, boy",category:"People & Body",aliases:["family_woman_woman_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩‍👩‍👧",description:"family: woman, woman, girl",category:"People & Body",aliases:["family_woman_woman_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩‍👩‍👧‍👦",description:"family: woman, woman, girl, boy",category:"People & Body",aliases:["family_woman_woman_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩‍👩‍👦‍👦",description:"family: woman, woman, boy, boy",category:"People & Body",aliases:["family_woman_woman_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩‍👩‍👧‍👧",description:"family: woman, woman, girl, girl",category:"People & Body",aliases:["family_woman_woman_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👦",description:"family: man, boy",category:"People & Body",aliases:["family_man_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨‍👦‍👦",description:"family: man, boy, boy",category:"People & Body",aliases:["family_man_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨‍👧",description:"family: man, girl",category:"People & Body",aliases:["family_man_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨‍👧‍👦",description:"family: man, girl, boy",category:"People & Body",aliases:["family_man_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨‍👧‍👧",description:"family: man, girl, girl",category:"People & Body",aliases:["family_man_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩‍👦",description:"family: woman, boy",category:"People & Body",aliases:["family_woman_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩‍👦‍👦",description:"family: woman, boy, boy",category:"People & Body",aliases:["family_woman_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩‍👧",description:"family: woman, girl",category:"People & Body",aliases:["family_woman_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩‍👧‍👦",description:"family: woman, girl, boy",category:"People & Body",aliases:["family_woman_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩‍👧‍👧",description:"family: woman, girl, girl",category:"People & Body",aliases:["family_woman_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"🗣️",description:"speaking head",category:"People & Body",aliases:["speaking_head"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"👤",description:"bust in silhouette",category:"People & Body",aliases:["bust_in_silhouette"],tags:["user"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👥",description:"busts in silhouette",category:"People & Body",aliases:["busts_in_silhouette"],tags:["users","group","team"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫂",description:"people hugging",category:"People & Body",aliases:["people_hugging"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"👣",description:"footprints",category:"People & Body",aliases:["footprints"],tags:["feet","tracks"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐵",description:"monkey face",category:"Animals & Nature",aliases:["monkey_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐒",description:"monkey",category:"Animals & Nature",aliases:["monkey"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦍",description:"gorilla",category:"Animals & Nature",aliases:["gorilla"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦧",description:"orangutan",category:"Animals & Nature",aliases:["orangutan"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🐶",description:"dog face",category:"Animals & Nature",aliases:["dog"],tags:["pet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐕",description:"dog",category:"Animals & Nature",aliases:["dog2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦮",description:"guide dog",category:"Animals & Nature",aliases:["guide_dog"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🐕‍🦺",description:"service dog",category:"Animals & Nature",aliases:["service_dog"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🐩",description:"poodle",category:"Animals & Nature",aliases:["poodle"],tags:["dog"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐺",description:"wolf",category:"Animals & Nature",aliases:["wolf"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦊",description:"fox",category:"Animals & Nature",aliases:["fox_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦝",description:"raccoon",category:"Animals & Nature",aliases:["raccoon"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐱",description:"cat face",category:"Animals & Nature",aliases:["cat"],tags:["pet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐈",description:"cat",category:"Animals & Nature",aliases:["cat2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐈‍⬛",description:"black cat",category:"Animals & Nature",aliases:["black_cat"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦁",description:"lion",category:"Animals & Nature",aliases:["lion"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🐯",description:"tiger face",category:"Animals & Nature",aliases:["tiger"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐅",description:"tiger",category:"Animals & Nature",aliases:["tiger2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐆",description:"leopard",category:"Animals & Nature",aliases:["leopard"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐴",description:"horse face",category:"Animals & Nature",aliases:["horse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐎",description:"horse",category:"Animals & Nature",aliases:["racehorse"],tags:["speed"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦄",description:"unicorn",category:"Animals & Nature",aliases:["unicorn"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🦓",description:"zebra",category:"Animals & Nature",aliases:["zebra"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦌",description:"deer",category:"Animals & Nature",aliases:["deer"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦬",description:"bison",category:"Animals & Nature",aliases:["bison"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐮",description:"cow face",category:"Animals & Nature",aliases:["cow"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐂",description:"ox",category:"Animals & Nature",aliases:["ox"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐃",description:"water buffalo",category:"Animals & Nature",aliases:["water_buffalo"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐄",description:"cow",category:"Animals & Nature",aliases:["cow2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐷",description:"pig face",category:"Animals & Nature",aliases:["pig"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐖",description:"pig",category:"Animals & Nature",aliases:["pig2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐗",description:"boar",category:"Animals & Nature",aliases:["boar"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐽",description:"pig nose",category:"Animals & Nature",aliases:["pig_nose"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐏",description:"ram",category:"Animals & Nature",aliases:["ram"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐑",description:"ewe",category:"Animals & Nature",aliases:["sheep"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐐",description:"goat",category:"Animals & Nature",aliases:["goat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐪",description:"camel",category:"Animals & Nature",aliases:["dromedary_camel"],tags:["desert"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐫",description:"two-hump camel",category:"Animals & Nature",aliases:["camel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦙",description:"llama",category:"Animals & Nature",aliases:["llama"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦒",description:"giraffe",category:"Animals & Nature",aliases:["giraffe"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐘",description:"elephant",category:"Animals & Nature",aliases:["elephant"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦣",description:"mammoth",category:"Animals & Nature",aliases:["mammoth"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦏",description:"rhinoceros",category:"Animals & Nature",aliases:["rhinoceros"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦛",description:"hippopotamus",category:"Animals & Nature",aliases:["hippopotamus"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐭",description:"mouse face",category:"Animals & Nature",aliases:["mouse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐁",description:"mouse",category:"Animals & Nature",aliases:["mouse2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐀",description:"rat",category:"Animals & Nature",aliases:["rat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐹",description:"hamster",category:"Animals & Nature",aliases:["hamster"],tags:["pet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐰",description:"rabbit face",category:"Animals & Nature",aliases:["rabbit"],tags:["bunny"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐇",description:"rabbit",category:"Animals & Nature",aliases:["rabbit2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐿️",description:"chipmunk",category:"Animals & Nature",aliases:["chipmunk"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🦫",description:"beaver",category:"Animals & Nature",aliases:["beaver"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦔",description:"hedgehog",category:"Animals & Nature",aliases:["hedgehog"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦇",description:"bat",category:"Animals & Nature",aliases:["bat"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐻",description:"bear",category:"Animals & Nature",aliases:["bear"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐻‍❄️",description:"polar bear",category:"Animals & Nature",aliases:["polar_bear"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐨",description:"koala",category:"Animals & Nature",aliases:["koala"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐼",description:"panda",category:"Animals & Nature",aliases:["panda_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦥",description:"sloth",category:"Animals & Nature",aliases:["sloth"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦦",description:"otter",category:"Animals & Nature",aliases:["otter"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦨",description:"skunk",category:"Animals & Nature",aliases:["skunk"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦘",description:"kangaroo",category:"Animals & Nature",aliases:["kangaroo"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦡",description:"badger",category:"Animals & Nature",aliases:["badger"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐾",description:"paw prints",category:"Animals & Nature",aliases:["feet","paw_prints"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦃",description:"turkey",category:"Animals & Nature",aliases:["turkey"],tags:["thanksgiving"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🐔",description:"chicken",category:"Animals & Nature",aliases:["chicken"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐓",description:"rooster",category:"Animals & Nature",aliases:["rooster"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐣",description:"hatching chick",category:"Animals & Nature",aliases:["hatching_chick"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐤",description:"baby chick",category:"Animals & Nature",aliases:["baby_chick"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐥",description:"front-facing baby chick",category:"Animals & Nature",aliases:["hatched_chick"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐦",description:"bird",category:"Animals & Nature",aliases:["bird"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐧",description:"penguin",category:"Animals & Nature",aliases:["penguin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕊️",description:"dove",category:"Animals & Nature",aliases:["dove"],tags:["peace"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🦅",description:"eagle",category:"Animals & Nature",aliases:["eagle"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦆",description:"duck",category:"Animals & Nature",aliases:["duck"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦢",description:"swan",category:"Animals & Nature",aliases:["swan"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦉",description:"owl",category:"Animals & Nature",aliases:["owl"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦤",description:"dodo",category:"Animals & Nature",aliases:["dodo"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪶",description:"feather",category:"Animals & Nature",aliases:["feather"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦩",description:"flamingo",category:"Animals & Nature",aliases:["flamingo"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦚",description:"peacock",category:"Animals & Nature",aliases:["peacock"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦜",description:"parrot",category:"Animals & Nature",aliases:["parrot"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐸",description:"frog",category:"Animals & Nature",aliases:["frog"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐊",description:"crocodile",category:"Animals & Nature",aliases:["crocodile"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐢",description:"turtle",category:"Animals & Nature",aliases:["turtle"],tags:["slow"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦎",description:"lizard",category:"Animals & Nature",aliases:["lizard"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐍",description:"snake",category:"Animals & Nature",aliases:["snake"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐲",description:"dragon face",category:"Animals & Nature",aliases:["dragon_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐉",description:"dragon",category:"Animals & Nature",aliases:["dragon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦕",description:"sauropod",category:"Animals & Nature",aliases:["sauropod"],tags:["dinosaur"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦖",description:"T-Rex",category:"Animals & Nature",aliases:["t-rex"],tags:["dinosaur"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐳",description:"spouting whale",category:"Animals & Nature",aliases:["whale"],tags:["sea"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐋",description:"whale",category:"Animals & Nature",aliases:["whale2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐬",description:"dolphin",category:"Animals & Nature",aliases:["dolphin","flipper"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦭",description:"seal",category:"Animals & Nature",aliases:["seal"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐟",description:"fish",category:"Animals & Nature",aliases:["fish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐠",description:"tropical fish",category:"Animals & Nature",aliases:["tropical_fish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐡",description:"blowfish",category:"Animals & Nature",aliases:["blowfish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦈",description:"shark",category:"Animals & Nature",aliases:["shark"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐙",description:"octopus",category:"Animals & Nature",aliases:["octopus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐚",description:"spiral shell",category:"Animals & Nature",aliases:["shell"],tags:["sea","beach"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐌",description:"snail",category:"Animals & Nature",aliases:["snail"],tags:["slow"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦋",description:"butterfly",category:"Animals & Nature",aliases:["butterfly"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐛",description:"bug",category:"Animals & Nature",aliases:["bug"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐜",description:"ant",category:"Animals & Nature",aliases:["ant"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐝",description:"honeybee",category:"Animals & Nature",aliases:["bee","honeybee"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪲",description:"beetle",category:"Animals & Nature",aliases:["beetle"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐞",description:"lady beetle",category:"Animals & Nature",aliases:["lady_beetle"],tags:["bug"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦗",description:"cricket",category:"Animals & Nature",aliases:["cricket"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪳",description:"cockroach",category:"Animals & Nature",aliases:["cockroach"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🕷️",description:"spider",category:"Animals & Nature",aliases:["spider"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🕸️",description:"spider web",category:"Animals & Nature",aliases:["spider_web"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🦂",description:"scorpion",category:"Animals & Nature",aliases:["scorpion"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🦟",description:"mosquito",category:"Animals & Nature",aliases:["mosquito"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪰",description:"fly",category:"Animals & Nature",aliases:["fly"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪱",description:"worm",category:"Animals & Nature",aliases:["worm"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦠",description:"microbe",category:"Animals & Nature",aliases:["microbe"],tags:["germ"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💐",description:"bouquet",category:"Animals & Nature",aliases:["bouquet"],tags:["flowers"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌸",description:"cherry blossom",category:"Animals & Nature",aliases:["cherry_blossom"],tags:["flower","spring"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💮",description:"white flower",category:"Animals & Nature",aliases:["white_flower"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏵️",description:"rosette",category:"Animals & Nature",aliases:["rosette"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌹",description:"rose",category:"Animals & Nature",aliases:["rose"],tags:["flower"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥀",description:"wilted flower",category:"Animals & Nature",aliases:["wilted_flower"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🌺",description:"hibiscus",category:"Animals & Nature",aliases:["hibiscus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌻",description:"sunflower",category:"Animals & Nature",aliases:["sunflower"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌼",description:"blossom",category:"Animals & Nature",aliases:["blossom"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌷",description:"tulip",category:"Animals & Nature",aliases:["tulip"],tags:["flower"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌱",description:"seedling",category:"Animals & Nature",aliases:["seedling"],tags:["plant"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪴",description:"potted plant",category:"Animals & Nature",aliases:["potted_plant"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🌲",description:"evergreen tree",category:"Animals & Nature",aliases:["evergreen_tree"],tags:["wood"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌳",description:"deciduous tree",category:"Animals & Nature",aliases:["deciduous_tree"],tags:["wood"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌴",description:"palm tree",category:"Animals & Nature",aliases:["palm_tree"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌵",description:"cactus",category:"Animals & Nature",aliases:["cactus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌾",description:"sheaf of rice",category:"Animals & Nature",aliases:["ear_of_rice"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌿",description:"herb",category:"Animals & Nature",aliases:["herb"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☘️",description:"shamrock",category:"Animals & Nature",aliases:["shamrock"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🍀",description:"four leaf clover",category:"Animals & Nature",aliases:["four_leaf_clover"],tags:["luck"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍁",description:"maple leaf",category:"Animals & Nature",aliases:["maple_leaf"],tags:["canada"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍂",description:"fallen leaf",category:"Animals & Nature",aliases:["fallen_leaf"],tags:["autumn"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍃",description:"leaf fluttering in wind",category:"Animals & Nature",aliases:["leaves"],tags:["leaf"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍇",description:"grapes",category:"Food & Drink",aliases:["grapes"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍈",description:"melon",category:"Food & Drink",aliases:["melon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍉",description:"watermelon",category:"Food & Drink",aliases:["watermelon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍊",description:"tangerine",category:"Food & Drink",aliases:["tangerine","orange","mandarin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍋",description:"lemon",category:"Food & Drink",aliases:["lemon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍌",description:"banana",category:"Food & Drink",aliases:["banana"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍍",description:"pineapple",category:"Food & Drink",aliases:["pineapple"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥭",description:"mango",category:"Food & Drink",aliases:["mango"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍎",description:"red apple",category:"Food & Drink",aliases:["apple"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍏",description:"green apple",category:"Food & Drink",aliases:["green_apple"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍐",description:"pear",category:"Food & Drink",aliases:["pear"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍑",description:"peach",category:"Food & Drink",aliases:["peach"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍒",description:"cherries",category:"Food & Drink",aliases:["cherries"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍓",description:"strawberry",category:"Food & Drink",aliases:["strawberry"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫐",description:"blueberries",category:"Food & Drink",aliases:["blueberries"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥝",description:"kiwi fruit",category:"Food & Drink",aliases:["kiwi_fruit"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍅",description:"tomato",category:"Food & Drink",aliases:["tomato"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫒",description:"olive",category:"Food & Drink",aliases:["olive"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥥",description:"coconut",category:"Food & Drink",aliases:["coconut"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥑",description:"avocado",category:"Food & Drink",aliases:["avocado"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍆",description:"eggplant",category:"Food & Drink",aliases:["eggplant"],tags:["aubergine"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥔",description:"potato",category:"Food & Drink",aliases:["potato"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥕",description:"carrot",category:"Food & Drink",aliases:["carrot"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🌽",description:"ear of corn",category:"Food & Drink",aliases:["corn"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌶️",description:"hot pepper",category:"Food & Drink",aliases:["hot_pepper"],tags:["spicy"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🫑",description:"bell pepper",category:"Food & Drink",aliases:["bell_pepper"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥒",description:"cucumber",category:"Food & Drink",aliases:["cucumber"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥬",description:"leafy green",category:"Food & Drink",aliases:["leafy_green"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥦",description:"broccoli",category:"Food & Drink",aliases:["broccoli"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧄",description:"garlic",category:"Food & Drink",aliases:["garlic"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧅",description:"onion",category:"Food & Drink",aliases:["onion"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🍄",description:"mushroom",category:"Food & Drink",aliases:["mushroom"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥜",description:"peanuts",category:"Food & Drink",aliases:["peanuts"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🌰",description:"chestnut",category:"Food & Drink",aliases:["chestnut"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍞",description:"bread",category:"Food & Drink",aliases:["bread"],tags:["toast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥐",description:"croissant",category:"Food & Drink",aliases:["croissant"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥖",description:"baguette bread",category:"Food & Drink",aliases:["baguette_bread"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🫓",description:"flatbread",category:"Food & Drink",aliases:["flatbread"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥨",description:"pretzel",category:"Food & Drink",aliases:["pretzel"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥯",description:"bagel",category:"Food & Drink",aliases:["bagel"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥞",description:"pancakes",category:"Food & Drink",aliases:["pancakes"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🧇",description:"waffle",category:"Food & Drink",aliases:["waffle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧀",description:"cheese wedge",category:"Food & Drink",aliases:["cheese"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🍖",description:"meat on bone",category:"Food & Drink",aliases:["meat_on_bone"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍗",description:"poultry leg",category:"Food & Drink",aliases:["poultry_leg"],tags:["meat","chicken"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥩",description:"cut of meat",category:"Food & Drink",aliases:["cut_of_meat"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥓",description:"bacon",category:"Food & Drink",aliases:["bacon"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍔",description:"hamburger",category:"Food & Drink",aliases:["hamburger"],tags:["burger"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍟",description:"french fries",category:"Food & Drink",aliases:["fries"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍕",description:"pizza",category:"Food & Drink",aliases:["pizza"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌭",description:"hot dog",category:"Food & Drink",aliases:["hotdog"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🥪",description:"sandwich",category:"Food & Drink",aliases:["sandwich"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🌮",description:"taco",category:"Food & Drink",aliases:["taco"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🌯",description:"burrito",category:"Food & Drink",aliases:["burrito"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🫔",description:"tamale",category:"Food & Drink",aliases:["tamale"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥙",description:"stuffed flatbread",category:"Food & Drink",aliases:["stuffed_flatbread"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🧆",description:"falafel",category:"Food & Drink",aliases:["falafel"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🥚",description:"egg",category:"Food & Drink",aliases:["egg"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍳",description:"cooking",category:"Food & Drink",aliases:["fried_egg"],tags:["breakfast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥘",description:"shallow pan of food",category:"Food & Drink",aliases:["shallow_pan_of_food"],tags:["paella","curry"],unicode_version:"",ios_version:"10.2"},{emoji:"🍲",description:"pot of food",category:"Food & Drink",aliases:["stew"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫕",description:"fondue",category:"Food & Drink",aliases:["fondue"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥣",description:"bowl with spoon",category:"Food & Drink",aliases:["bowl_with_spoon"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥗",description:"green salad",category:"Food & Drink",aliases:["green_salad"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍿",description:"popcorn",category:"Food & Drink",aliases:["popcorn"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🧈",description:"butter",category:"Food & Drink",aliases:["butter"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧂",description:"salt",category:"Food & Drink",aliases:["salt"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥫",description:"canned food",category:"Food & Drink",aliases:["canned_food"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍱",description:"bento box",category:"Food & Drink",aliases:["bento"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍘",description:"rice cracker",category:"Food & Drink",aliases:["rice_cracker"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍙",description:"rice ball",category:"Food & Drink",aliases:["rice_ball"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍚",description:"cooked rice",category:"Food & Drink",aliases:["rice"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍛",description:"curry rice",category:"Food & Drink",aliases:["curry"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍜",description:"steaming bowl",category:"Food & Drink",aliases:["ramen"],tags:["noodle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍝",description:"spaghetti",category:"Food & Drink",aliases:["spaghetti"],tags:["pasta"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍠",description:"roasted sweet potato",category:"Food & Drink",aliases:["sweet_potato"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍢",description:"oden",category:"Food & Drink",aliases:["oden"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍣",description:"sushi",category:"Food & Drink",aliases:["sushi"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍤",description:"fried shrimp",category:"Food & Drink",aliases:["fried_shrimp"],tags:["tempura"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍥",description:"fish cake with swirl",category:"Food & Drink",aliases:["fish_cake"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥮",description:"moon cake",category:"Food & Drink",aliases:["moon_cake"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍡",description:"dango",category:"Food & Drink",aliases:["dango"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥟",description:"dumpling",category:"Food & Drink",aliases:["dumpling"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥠",description:"fortune cookie",category:"Food & Drink",aliases:["fortune_cookie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥡",description:"takeout box",category:"Food & Drink",aliases:["takeout_box"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦀",description:"crab",category:"Food & Drink",aliases:["crab"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🦞",description:"lobster",category:"Food & Drink",aliases:["lobster"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦐",description:"shrimp",category:"Food & Drink",aliases:["shrimp"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦑",description:"squid",category:"Food & Drink",aliases:["squid"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦪",description:"oyster",category:"Food & Drink",aliases:["oyster"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🍦",description:"soft ice cream",category:"Food & Drink",aliases:["icecream"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍧",description:"shaved ice",category:"Food & Drink",aliases:["shaved_ice"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍨",description:"ice cream",category:"Food & Drink",aliases:["ice_cream"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍩",description:"doughnut",category:"Food & Drink",aliases:["doughnut"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍪",description:"cookie",category:"Food & Drink",aliases:["cookie"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎂",description:"birthday cake",category:"Food & Drink",aliases:["birthday"],tags:["party"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍰",description:"shortcake",category:"Food & Drink",aliases:["cake"],tags:["dessert"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧁",description:"cupcake",category:"Food & Drink",aliases:["cupcake"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥧",description:"pie",category:"Food & Drink",aliases:["pie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍫",description:"chocolate bar",category:"Food & Drink",aliases:["chocolate_bar"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍬",description:"candy",category:"Food & Drink",aliases:["candy"],tags:["sweet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍭",description:"lollipop",category:"Food & Drink",aliases:["lollipop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍮",description:"custard",category:"Food & Drink",aliases:["custard"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍯",description:"honey pot",category:"Food & Drink",aliases:["honey_pot"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍼",description:"baby bottle",category:"Food & Drink",aliases:["baby_bottle"],tags:["milk"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥛",description:"glass of milk",category:"Food & Drink",aliases:["milk_glass"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"☕",description:"hot beverage",category:"Food & Drink",aliases:["coffee"],tags:["cafe","espresso"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"🫖",description:"teapot",category:"Food & Drink",aliases:["teapot"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🍵",description:"teacup without handle",category:"Food & Drink",aliases:["tea"],tags:["green","breakfast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍶",description:"sake",category:"Food & Drink",aliases:["sake"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍾",description:"bottle with popping cork",category:"Food & Drink",aliases:["champagne"],tags:["bottle","bubbly","celebration"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🍷",description:"wine glass",category:"Food & Drink",aliases:["wine_glass"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍸",description:"cocktail glass",category:"Food & Drink",aliases:["cocktail"],tags:["drink"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍹",description:"tropical drink",category:"Food & Drink",aliases:["tropical_drink"],tags:["summer","vacation"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍺",description:"beer mug",category:"Food & Drink",aliases:["beer"],tags:["drink"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍻",description:"clinking beer mugs",category:"Food & Drink",aliases:["beers"],tags:["drinks"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥂",description:"clinking glasses",category:"Food & Drink",aliases:["clinking_glasses"],tags:["cheers","toast"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥃",description:"tumbler glass",category:"Food & Drink",aliases:["tumbler_glass"],tags:["whisky"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥤",description:"cup with straw",category:"Food & Drink",aliases:["cup_with_straw"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧋",description:"bubble tea",category:"Food & Drink",aliases:["bubble_tea"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧃",description:"beverage box",category:"Food & Drink",aliases:["beverage_box"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧉",description:"mate",category:"Food & Drink",aliases:["mate"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧊",description:"ice",category:"Food & Drink",aliases:["ice_cube"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🥢",description:"chopsticks",category:"Food & Drink",aliases:["chopsticks"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍽️",description:"fork and knife with plate",category:"Food & Drink",aliases:["plate_with_cutlery"],tags:["dining","dinner"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🍴",description:"fork and knife",category:"Food & Drink",aliases:["fork_and_knife"],tags:["cutlery"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥄",description:"spoon",category:"Food & Drink",aliases:["spoon"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🔪",description:"kitchen knife",category:"Food & Drink",aliases:["hocho","knife"],tags:["cut","chop"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏺",description:"amphora",category:"Food & Drink",aliases:["amphora"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🌍",description:"globe showing Europe-Africa",category:"Travel & Places",aliases:["earth_africa"],tags:["globe","world","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌎",description:"globe showing Americas",category:"Travel & Places",aliases:["earth_americas"],tags:["globe","world","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌏",description:"globe showing Asia-Australia",category:"Travel & Places",aliases:["earth_asia"],tags:["globe","world","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌐",description:"globe with meridians",category:"Travel & Places",aliases:["globe_with_meridians"],tags:["world","global","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗺️",description:"world map",category:"Travel & Places",aliases:["world_map"],tags:["travel"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗾",description:"map of Japan",category:"Travel & Places",aliases:["japan"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧭",description:"compass",category:"Travel & Places",aliases:["compass"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏔️",description:"snow-capped mountain",category:"Travel & Places",aliases:["mountain_snow"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⛰️",description:"mountain",category:"Travel & Places",aliases:["mountain"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🌋",description:"volcano",category:"Travel & Places",aliases:["volcano"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗻",description:"mount fuji",category:"Travel & Places",aliases:["mount_fuji"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏕️",description:"camping",category:"Travel & Places",aliases:["camping"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏖️",description:"beach with umbrella",category:"Travel & Places",aliases:["beach_umbrella"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏜️",description:"desert",category:"Travel & Places",aliases:["desert"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏝️",description:"desert island",category:"Travel & Places",aliases:["desert_island"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏞️",description:"national park",category:"Travel & Places",aliases:["national_park"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏟️",description:"stadium",category:"Travel & Places",aliases:["stadium"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏛️",description:"classical building",category:"Travel & Places",aliases:["classical_building"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏗️",description:"building construction",category:"Travel & Places",aliases:["building_construction"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🧱",description:"brick",category:"Travel & Places",aliases:["bricks"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪨",description:"rock",category:"Travel & Places",aliases:["rock"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪵",description:"wood",category:"Travel & Places",aliases:["wood"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🛖",description:"hut",category:"Travel & Places",aliases:["hut"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏘️",description:"houses",category:"Travel & Places",aliases:["houses"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏚️",description:"derelict house",category:"Travel & Places",aliases:["derelict_house"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏠",description:"house",category:"Travel & Places",aliases:["house"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏡",description:"house with garden",category:"Travel & Places",aliases:["house_with_garden"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏢",description:"office building",category:"Travel & Places",aliases:["office"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏣",description:"Japanese post office",category:"Travel & Places",aliases:["post_office"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏤",description:"post office",category:"Travel & Places",aliases:["european_post_office"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏥",description:"hospital",category:"Travel & Places",aliases:["hospital"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏦",description:"bank",category:"Travel & Places",aliases:["bank"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏨",description:"hotel",category:"Travel & Places",aliases:["hotel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏩",description:"love hotel",category:"Travel & Places",aliases:["love_hotel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏪",description:"convenience store",category:"Travel & Places",aliases:["convenience_store"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏫",description:"school",category:"Travel & Places",aliases:["school"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏬",description:"department store",category:"Travel & Places",aliases:["department_store"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏭",description:"factory",category:"Travel & Places",aliases:["factory"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏯",description:"Japanese castle",category:"Travel & Places",aliases:["japanese_castle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏰",description:"castle",category:"Travel & Places",aliases:["european_castle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💒",description:"wedding",category:"Travel & Places",aliases:["wedding"],tags:["marriage"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗼",description:"Tokyo tower",category:"Travel & Places",aliases:["tokyo_tower"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗽",description:"Statue of Liberty",category:"Travel & Places",aliases:["statue_of_liberty"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⛪",description:"church",category:"Travel & Places",aliases:["church"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🕌",description:"mosque",category:"Travel & Places",aliases:["mosque"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🛕",description:"hindu temple",category:"Travel & Places",aliases:["hindu_temple"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🕍",description:"synagogue",category:"Travel & Places",aliases:["synagogue"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"⛩️",description:"shinto shrine",category:"Travel & Places",aliases:["shinto_shrine"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🕋",description:"kaaba",category:"Travel & Places",aliases:["kaaba"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"⛲",description:"fountain",category:"Travel & Places",aliases:["fountain"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⛺",description:"tent",category:"Travel & Places",aliases:["tent"],tags:["camping"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🌁",description:"foggy",category:"Travel & Places",aliases:["foggy"],tags:["karl"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌃",description:"night with stars",category:"Travel & Places",aliases:["night_with_stars"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏙️",description:"cityscape",category:"Travel & Places",aliases:["cityscape"],tags:["skyline"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌄",description:"sunrise over mountains",category:"Travel & Places",aliases:["sunrise_over_mountains"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌅",description:"sunrise",category:"Travel & Places",aliases:["sunrise"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌆",description:"cityscape at dusk",category:"Travel & Places",aliases:["city_sunset"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌇",description:"sunset",category:"Travel & Places",aliases:["city_sunrise"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌉",description:"bridge at night",category:"Travel & Places",aliases:["bridge_at_night"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♨️",description:"hot springs",category:"Travel & Places",aliases:["hotsprings"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🎠",description:"carousel horse",category:"Travel & Places",aliases:["carousel_horse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎡",description:"ferris wheel",category:"Travel & Places",aliases:["ferris_wheel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎢",description:"roller coaster",category:"Travel & Places",aliases:["roller_coaster"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💈",description:"barber pole",category:"Travel & Places",aliases:["barber"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎪",description:"circus tent",category:"Travel & Places",aliases:["circus_tent"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚂",description:"locomotive",category:"Travel & Places",aliases:["steam_locomotive"],tags:["train"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚃",description:"railway car",category:"Travel & Places",aliases:["railway_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚄",description:"high-speed train",category:"Travel & Places",aliases:["bullettrain_side"],tags:["train"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚅",description:"bullet train",category:"Travel & Places",aliases:["bullettrain_front"],tags:["train"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚆",description:"train",category:"Travel & Places",aliases:["train2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚇",description:"metro",category:"Travel & Places",aliases:["metro"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚈",description:"light rail",category:"Travel & Places",aliases:["light_rail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚉",description:"station",category:"Travel & Places",aliases:["station"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚊",description:"tram",category:"Travel & Places",aliases:["tram"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚝",description:"monorail",category:"Travel & Places",aliases:["monorail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚞",description:"mountain railway",category:"Travel & Places",aliases:["mountain_railway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚋",description:"tram car",category:"Travel & Places",aliases:["train"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚌",description:"bus",category:"Travel & Places",aliases:["bus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚍",description:"oncoming bus",category:"Travel & Places",aliases:["oncoming_bus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚎",description:"trolleybus",category:"Travel & Places",aliases:["trolleybus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚐",description:"minibus",category:"Travel & Places",aliases:["minibus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚑",description:"ambulance",category:"Travel & Places",aliases:["ambulance"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚒",description:"fire engine",category:"Travel & Places",aliases:["fire_engine"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚓",description:"police car",category:"Travel & Places",aliases:["police_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚔",description:"oncoming police car",category:"Travel & Places",aliases:["oncoming_police_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚕",description:"taxi",category:"Travel & Places",aliases:["taxi"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚖",description:"oncoming taxi",category:"Travel & Places",aliases:["oncoming_taxi"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚗",description:"automobile",category:"Travel & Places",aliases:["car","red_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚘",description:"oncoming automobile",category:"Travel & Places",aliases:["oncoming_automobile"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚙",description:"sport utility vehicle",category:"Travel & Places",aliases:["blue_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛻",description:"pickup truck",category:"Travel & Places",aliases:["pickup_truck"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🚚",description:"delivery truck",category:"Travel & Places",aliases:["truck"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚛",description:"articulated lorry",category:"Travel & Places",aliases:["articulated_lorry"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚜",description:"tractor",category:"Travel & Places",aliases:["tractor"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏎️",description:"racing car",category:"Travel & Places",aliases:["racing_car"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏍️",description:"motorcycle",category:"Travel & Places",aliases:["motorcycle"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛵",description:"motor scooter",category:"Travel & Places",aliases:["motor_scooter"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦽",description:"manual wheelchair",category:"Travel & Places",aliases:["manual_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦼",description:"motorized wheelchair",category:"Travel & Places",aliases:["motorized_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🛺",description:"auto rickshaw",category:"Travel & Places",aliases:["auto_rickshaw"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🚲",description:"bicycle",category:"Travel & Places",aliases:["bike"],tags:["bicycle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛴",description:"kick scooter",category:"Travel & Places",aliases:["kick_scooter"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🛹",description:"skateboard",category:"Travel & Places",aliases:["skateboard"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🛼",description:"roller skate",category:"Travel & Places",aliases:["roller_skate"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🚏",description:"bus stop",category:"Travel & Places",aliases:["busstop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛣️",description:"motorway",category:"Travel & Places",aliases:["motorway"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛤️",description:"railway track",category:"Travel & Places",aliases:["railway_track"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛢️",description:"oil drum",category:"Travel & Places",aliases:["oil_drum"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⛽",description:"fuel pump",category:"Travel & Places",aliases:["fuelpump"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🚨",description:"police car light",category:"Travel & Places",aliases:["rotating_light"],tags:["911","emergency"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚥",description:"horizontal traffic light",category:"Travel & Places",aliases:["traffic_light"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚦",description:"vertical traffic light",category:"Travel & Places",aliases:["vertical_traffic_light"],tags:["semaphore"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛑",description:"stop sign",category:"Travel & Places",aliases:["stop_sign"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🚧",description:"construction",category:"Travel & Places",aliases:["construction"],tags:["wip"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚓",description:"anchor",category:"Travel & Places",aliases:["anchor"],tags:["ship"],unicode_version:"4.1",ios_version:"6.0"},{emoji:"⛵",description:"sailboat",category:"Travel & Places",aliases:["boat","sailboat"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🛶",description:"canoe",category:"Travel & Places",aliases:["canoe"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🚤",description:"speedboat",category:"Travel & Places",aliases:["speedboat"],tags:["ship"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛳️",description:"passenger ship",category:"Travel & Places",aliases:["passenger_ship"],tags:["cruise"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⛴️",description:"ferry",category:"Travel & Places",aliases:["ferry"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🛥️",description:"motor boat",category:"Travel & Places",aliases:["motor_boat"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🚢",description:"ship",category:"Travel & Places",aliases:["ship"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"✈️",description:"airplane",category:"Travel & Places",aliases:["airplane"],tags:["flight"],unicode_version:"",ios_version:"6.0"},{emoji:"🛩️",description:"small airplane",category:"Travel & Places",aliases:["small_airplane"],tags:["flight"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛫",description:"airplane departure",category:"Travel & Places",aliases:["flight_departure"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛬",description:"airplane arrival",category:"Travel & Places",aliases:["flight_arrival"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🪂",description:"parachute",category:"Travel & Places",aliases:["parachute"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"💺",description:"seat",category:"Travel & Places",aliases:["seat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚁",description:"helicopter",category:"Travel & Places",aliases:["helicopter"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚟",description:"suspension railway",category:"Travel & Places",aliases:["suspension_railway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚠",description:"mountain cableway",category:"Travel & Places",aliases:["mountain_cableway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚡",description:"aerial tramway",category:"Travel & Places",aliases:["aerial_tramway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛰️",description:"satellite",category:"Travel & Places",aliases:["artificial_satellite"],tags:["orbit","space"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🚀",description:"rocket",category:"Travel & Places",aliases:["rocket"],tags:["ship","launch"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛸",description:"flying saucer",category:"Travel & Places",aliases:["flying_saucer"],tags:["ufo"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🛎️",description:"bellhop bell",category:"Travel & Places",aliases:["bellhop_bell"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🧳",description:"luggage",category:"Travel & Places",aliases:["luggage"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"⌛",description:"hourglass done",category:"Travel & Places",aliases:["hourglass"],tags:["time"],unicode_version:"",ios_version:"6.0"},{emoji:"⏳",description:"hourglass not done",category:"Travel & Places",aliases:["hourglass_flowing_sand"],tags:["time"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⌚",description:"watch",category:"Travel & Places",aliases:["watch"],tags:["time"],unicode_version:"",ios_version:"6.0"},{emoji:"⏰",description:"alarm clock",category:"Travel & Places",aliases:["alarm_clock"],tags:["morning"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏱️",description:"stopwatch",category:"Travel & Places",aliases:["stopwatch"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"⏲️",description:"timer clock",category:"Travel & Places",aliases:["timer_clock"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"🕰️",description:"mantelpiece clock",category:"Travel & Places",aliases:["mantelpiece_clock"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🕛",description:"twelve o’clock",category:"Travel & Places",aliases:["clock12"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕧",description:"twelve-thirty",category:"Travel & Places",aliases:["clock1230"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕐",description:"one o’clock",category:"Travel & Places",aliases:["clock1"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕜",description:"one-thirty",category:"Travel & Places",aliases:["clock130"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕑",description:"two o’clock",category:"Travel & Places",aliases:["clock2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕝",description:"two-thirty",category:"Travel & Places",aliases:["clock230"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕒",description:"three o’clock",category:"Travel & Places",aliases:["clock3"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕞",description:"three-thirty",category:"Travel & Places",aliases:["clock330"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕓",description:"four o’clock",category:"Travel & Places",aliases:["clock4"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕟",description:"four-thirty",category:"Travel & Places",aliases:["clock430"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕔",description:"five o’clock",category:"Travel & Places",aliases:["clock5"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕠",description:"five-thirty",category:"Travel & Places",aliases:["clock530"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕕",description:"six o’clock",category:"Travel & Places",aliases:["clock6"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕡",description:"six-thirty",category:"Travel & Places",aliases:["clock630"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕖",description:"seven o’clock",category:"Travel & Places",aliases:["clock7"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕢",description:"seven-thirty",category:"Travel & Places",aliases:["clock730"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕗",description:"eight o’clock",category:"Travel & Places",aliases:["clock8"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕣",description:"eight-thirty",category:"Travel & Places",aliases:["clock830"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕘",description:"nine o’clock",category:"Travel & Places",aliases:["clock9"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕤",description:"nine-thirty",category:"Travel & Places",aliases:["clock930"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕙",description:"ten o’clock",category:"Travel & Places",aliases:["clock10"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕥",description:"ten-thirty",category:"Travel & Places",aliases:["clock1030"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕚",description:"eleven o’clock",category:"Travel & Places",aliases:["clock11"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕦",description:"eleven-thirty",category:"Travel & Places",aliases:["clock1130"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌑",description:"new moon",category:"Travel & Places",aliases:["new_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌒",description:"waxing crescent moon",category:"Travel & Places",aliases:["waxing_crescent_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌓",description:"first quarter moon",category:"Travel & Places",aliases:["first_quarter_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌔",description:"waxing gibbous moon",category:"Travel & Places",aliases:["moon","waxing_gibbous_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌕",description:"full moon",category:"Travel & Places",aliases:["full_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌖",description:"waning gibbous moon",category:"Travel & Places",aliases:["waning_gibbous_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌗",description:"last quarter moon",category:"Travel & Places",aliases:["last_quarter_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌘",description:"waning crescent moon",category:"Travel & Places",aliases:["waning_crescent_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌙",description:"crescent moon",category:"Travel & Places",aliases:["crescent_moon"],tags:["night"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌚",description:"new moon face",category:"Travel & Places",aliases:["new_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌛",description:"first quarter moon face",category:"Travel & Places",aliases:["first_quarter_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌜",description:"last quarter moon face",category:"Travel & Places",aliases:["last_quarter_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌡️",description:"thermometer",category:"Travel & Places",aliases:["thermometer"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"☀️",description:"sun",category:"Travel & Places",aliases:["sunny"],tags:["weather"],unicode_version:"",ios_version:"6.0"},{emoji:"🌝",description:"full moon face",category:"Travel & Places",aliases:["full_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌞",description:"sun with face",category:"Travel & Places",aliases:["sun_with_face"],tags:["summer"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪐",description:"ringed planet",category:"Travel & Places",aliases:["ringed_planet"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⭐",description:"star",category:"Travel & Places",aliases:["star"],tags:[],unicode_version:"5.1",ios_version:"6.0"},{emoji:"🌟",description:"glowing star",category:"Travel & Places",aliases:["star2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌠",description:"shooting star",category:"Travel & Places",aliases:["stars"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌌",description:"milky way",category:"Travel & Places",aliases:["milky_way"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☁️",description:"cloud",category:"Travel & Places",aliases:["cloud"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⛅",description:"sun behind cloud",category:"Travel & Places",aliases:["partly_sunny"],tags:["weather","cloud"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⛈️",description:"cloud with lightning and rain",category:"Travel & Places",aliases:["cloud_with_lightning_and_rain"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🌤️",description:"sun behind small cloud",category:"Travel & Places",aliases:["sun_behind_small_cloud"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌥️",description:"sun behind large cloud",category:"Travel & Places",aliases:["sun_behind_large_cloud"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌦️",description:"sun behind rain cloud",category:"Travel & Places",aliases:["sun_behind_rain_cloud"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌧️",description:"cloud with rain",category:"Travel & Places",aliases:["cloud_with_rain"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌨️",description:"cloud with snow",category:"Travel & Places",aliases:["cloud_with_snow"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌩️",description:"cloud with lightning",category:"Travel & Places",aliases:["cloud_with_lightning"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌪️",description:"tornado",category:"Travel & Places",aliases:["tornado"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌫️",description:"fog",category:"Travel & Places",aliases:["fog"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌬️",description:"wind face",category:"Travel & Places",aliases:["wind_face"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌀",description:"cyclone",category:"Travel & Places",aliases:["cyclone"],tags:["swirl"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌈",description:"rainbow",category:"Travel & Places",aliases:["rainbow"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌂",description:"closed umbrella",category:"Travel & Places",aliases:["closed_umbrella"],tags:["weather","rain"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☂️",description:"umbrella",category:"Travel & Places",aliases:["open_umbrella"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☔",description:"umbrella with rain drops",category:"Travel & Places",aliases:["umbrella"],tags:["rain","weather"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"⛱️",description:"umbrella on ground",category:"Travel & Places",aliases:["parasol_on_ground"],tags:["beach_umbrella"],unicode_version:"5.2",ios_version:"9.1"},{emoji:"⚡",description:"high voltage",category:"Travel & Places",aliases:["zap"],tags:["lightning","thunder"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"❄️",description:"snowflake",category:"Travel & Places",aliases:["snowflake"],tags:["winter","cold","weather"],unicode_version:"",ios_version:"6.0"},{emoji:"☃️",description:"snowman",category:"Travel & Places",aliases:["snowman_with_snow"],tags:["winter","christmas"],unicode_version:"",ios_version:"9.1"},{emoji:"⛄",description:"snowman without snow",category:"Travel & Places",aliases:["snowman"],tags:["winter"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"☄️",description:"comet",category:"Travel & Places",aliases:["comet"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"🔥",description:"fire",category:"Travel & Places",aliases:["fire"],tags:["burn"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💧",description:"droplet",category:"Travel & Places",aliases:["droplet"],tags:["water"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌊",description:"water wave",category:"Travel & Places",aliases:["ocean"],tags:["sea"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎃",description:"jack-o-lantern",category:"Activities",aliases:["jack_o_lantern"],tags:["halloween"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎄",description:"Christmas tree",category:"Activities",aliases:["christmas_tree"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎆",description:"fireworks",category:"Activities",aliases:["fireworks"],tags:["festival","celebration"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎇",description:"sparkler",category:"Activities",aliases:["sparkler"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧨",description:"firecracker",category:"Activities",aliases:["firecracker"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"✨",description:"sparkles",category:"Activities",aliases:["sparkles"],tags:["shiny"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎈",description:"balloon",category:"Activities",aliases:["balloon"],tags:["party","birthday"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎉",description:"party popper",category:"Activities",aliases:["tada"],tags:["hooray","party"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎊",description:"confetti ball",category:"Activities",aliases:["confetti_ball"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎋",description:"tanabata tree",category:"Activities",aliases:["tanabata_tree"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎍",description:"pine decoration",category:"Activities",aliases:["bamboo"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎎",description:"Japanese dolls",category:"Activities",aliases:["dolls"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎏",description:"carp streamer",category:"Activities",aliases:["flags"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎐",description:"wind chime",category:"Activities",aliases:["wind_chime"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎑",description:"moon viewing ceremony",category:"Activities",aliases:["rice_scene"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧧",description:"red envelope",category:"Activities",aliases:["red_envelope"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎀",description:"ribbon",category:"Activities",aliases:["ribbon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎁",description:"wrapped gift",category:"Activities",aliases:["gift"],tags:["present","birthday","christmas"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎗️",description:"reminder ribbon",category:"Activities",aliases:["reminder_ribbon"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎟️",description:"admission tickets",category:"Activities",aliases:["tickets"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎫",description:"ticket",category:"Activities",aliases:["ticket"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎖️",description:"military medal",category:"Activities",aliases:["medal_military"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏆",description:"trophy",category:"Activities",aliases:["trophy"],tags:["award","contest","winner"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏅",description:"sports medal",category:"Activities",aliases:["medal_sports"],tags:["gold","winner"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🥇",description:"1st place medal",category:"Activities",aliases:["1st_place_medal"],tags:["gold"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥈",description:"2nd place medal",category:"Activities",aliases:["2nd_place_medal"],tags:["silver"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥉",description:"3rd place medal",category:"Activities",aliases:["3rd_place_medal"],tags:["bronze"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"⚽",description:"soccer ball",category:"Activities",aliases:["soccer"],tags:["sports"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⚾",description:"baseball",category:"Activities",aliases:["baseball"],tags:["sports"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🥎",description:"softball",category:"Activities",aliases:["softball"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏀",description:"basketball",category:"Activities",aliases:["basketball"],tags:["sports"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏐",description:"volleyball",category:"Activities",aliases:["volleyball"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏈",description:"american football",category:"Activities",aliases:["football"],tags:["sports"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏉",description:"rugby football",category:"Activities",aliases:["rugby_football"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎾",description:"tennis",category:"Activities",aliases:["tennis"],tags:["sports"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥏",description:"flying disc",category:"Activities",aliases:["flying_disc"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎳",description:"bowling",category:"Activities",aliases:["bowling"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏏",description:"cricket game",category:"Activities",aliases:["cricket_game"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏑",description:"field hockey",category:"Activities",aliases:["field_hockey"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏒",description:"ice hockey",category:"Activities",aliases:["ice_hockey"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🥍",description:"lacrosse",category:"Activities",aliases:["lacrosse"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏓",description:"ping pong",category:"Activities",aliases:["ping_pong"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏸",description:"badminton",category:"Activities",aliases:["badminton"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🥊",description:"boxing glove",category:"Activities",aliases:["boxing_glove"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥋",description:"martial arts uniform",category:"Activities",aliases:["martial_arts_uniform"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥅",description:"goal net",category:"Activities",aliases:["goal_net"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"⛳",description:"flag in hole",category:"Activities",aliases:["golf"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⛸️",description:"ice skate",category:"Activities",aliases:["ice_skate"],tags:["skating"],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🎣",description:"fishing pole",category:"Activities",aliases:["fishing_pole_and_fish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤿",description:"diving mask",category:"Activities",aliases:["diving_mask"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🎽",description:"running shirt",category:"Activities",aliases:["running_shirt_with_sash"],tags:["marathon"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎿",description:"skis",category:"Activities",aliases:["ski"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛷",description:"sled",category:"Activities",aliases:["sled"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥌",description:"curling stone",category:"Activities",aliases:["curling_stone"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎯",description:"bullseye",category:"Activities",aliases:["dart"],tags:["target"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪀",description:"yo-yo",category:"Activities",aliases:["yo_yo"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🪁",description:"kite",category:"Activities",aliases:["kite"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🎱",description:"pool 8 ball",category:"Activities",aliases:["8ball"],tags:["pool","billiards"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔮",description:"crystal ball",category:"Activities",aliases:["crystal_ball"],tags:["fortune"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪄",description:"magic wand",category:"Activities",aliases:["magic_wand"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧿",description:"nazar amulet",category:"Activities",aliases:["nazar_amulet"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎮",description:"video game",category:"Activities",aliases:["video_game"],tags:["play","controller","console"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕹️",description:"joystick",category:"Activities",aliases:["joystick"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎰",description:"slot machine",category:"Activities",aliases:["slot_machine"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎲",description:"game die",category:"Activities",aliases:["game_die"],tags:["dice","gambling"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧩",description:"puzzle piece",category:"Activities",aliases:["jigsaw"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧸",description:"teddy bear",category:"Activities",aliases:["teddy_bear"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪅",description:"piñata",category:"Activities",aliases:["pinata"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪆",description:"nesting dolls",category:"Activities",aliases:["nesting_dolls"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"♠️",description:"spade suit",category:"Activities",aliases:["spades"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♥️",description:"heart suit",category:"Activities",aliases:["hearts"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♦️",description:"diamond suit",category:"Activities",aliases:["diamonds"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♣️",description:"club suit",category:"Activities",aliases:["clubs"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♟️",description:"chess pawn",category:"Activities",aliases:["chess_pawn"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🃏",description:"joker",category:"Activities",aliases:["black_joker"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🀄",description:"mahjong red dragon",category:"Activities",aliases:["mahjong"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🎴",description:"flower playing cards",category:"Activities",aliases:["flower_playing_cards"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎭",description:"performing arts",category:"Activities",aliases:["performing_arts"],tags:["theater","drama"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🖼️",description:"framed picture",category:"Activities",aliases:["framed_picture"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎨",description:"artist palette",category:"Activities",aliases:["art"],tags:["design","paint"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧵",description:"thread",category:"Activities",aliases:["thread"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪡",description:"sewing needle",category:"Activities",aliases:["sewing_needle"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧶",description:"yarn",category:"Activities",aliases:["yarn"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪢",description:"knot",category:"Activities",aliases:["knot"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"👓",description:"glasses",category:"Objects",aliases:["eyeglasses"],tags:["glasses"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕶️",description:"sunglasses",category:"Objects",aliases:["dark_sunglasses"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🥽",description:"goggles",category:"Objects",aliases:["goggles"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥼",description:"lab coat",category:"Objects",aliases:["lab_coat"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦺",description:"safety vest",category:"Objects",aliases:["safety_vest"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"👔",description:"necktie",category:"Objects",aliases:["necktie"],tags:["shirt","formal"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👕",description:"t-shirt",category:"Objects",aliases:["shirt","tshirt"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👖",description:"jeans",category:"Objects",aliases:["jeans"],tags:["pants"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧣",description:"scarf",category:"Objects",aliases:["scarf"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧤",description:"gloves",category:"Objects",aliases:["gloves"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧥",description:"coat",category:"Objects",aliases:["coat"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧦",description:"socks",category:"Objects",aliases:["socks"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👗",description:"dress",category:"Objects",aliases:["dress"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👘",description:"kimono",category:"Objects",aliases:["kimono"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥻",description:"sari",category:"Objects",aliases:["sari"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩱",description:"one-piece swimsuit",category:"Objects",aliases:["one_piece_swimsuit"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩲",description:"briefs",category:"Objects",aliases:["swim_brief"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩳",description:"shorts",category:"Objects",aliases:["shorts"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"👙",description:"bikini",category:"Objects",aliases:["bikini"],tags:["beach"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👚",description:"woman’s clothes",category:"Objects",aliases:["womans_clothes"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👛",description:"purse",category:"Objects",aliases:["purse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👜",description:"handbag",category:"Objects",aliases:["handbag"],tags:["bag"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👝",description:"clutch bag",category:"Objects",aliases:["pouch"],tags:["bag"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛍️",description:"shopping bags",category:"Objects",aliases:["shopping"],tags:["bags"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎒",description:"backpack",category:"Objects",aliases:["school_satchel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩴",description:"thong sandal",category:"Objects",aliases:["thong_sandal"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"👞",description:"man’s shoe",category:"Objects",aliases:["mans_shoe","shoe"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👟",description:"running shoe",category:"Objects",aliases:["athletic_shoe"],tags:["sneaker","sport","running"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥾",description:"hiking boot",category:"Objects",aliases:["hiking_boot"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥿",description:"flat shoe",category:"Objects",aliases:["flat_shoe"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👠",description:"high-heeled shoe",category:"Objects",aliases:["high_heel"],tags:["shoe"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👡",description:"woman’s sandal",category:"Objects",aliases:["sandal"],tags:["shoe"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩰",description:"ballet shoes",category:"Objects",aliases:["ballet_shoes"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"👢",description:"woman’s boot",category:"Objects",aliases:["boot"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👑",description:"crown",category:"Objects",aliases:["crown"],tags:["king","queen","royal"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👒",description:"woman’s hat",category:"Objects",aliases:["womans_hat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎩",description:"top hat",category:"Objects",aliases:["tophat"],tags:["hat","classy"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎓",description:"graduation cap",category:"Objects",aliases:["mortar_board"],tags:["education","college","university","graduation"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧢",description:"billed cap",category:"Objects",aliases:["billed_cap"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪖",description:"military helmet",category:"Objects",aliases:["military_helmet"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"⛑️",description:"rescue worker’s helmet",category:"Objects",aliases:["rescue_worker_helmet"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"📿",description:"prayer beads",category:"Objects",aliases:["prayer_beads"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"💄",description:"lipstick",category:"Objects",aliases:["lipstick"],tags:["makeup"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💍",description:"ring",category:"Objects",aliases:["ring"],tags:["wedding","marriage","engaged"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💎",description:"gem stone",category:"Objects",aliases:["gem"],tags:["diamond"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔇",description:"muted speaker",category:"Objects",aliases:["mute"],tags:["sound","volume"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔈",description:"speaker low volume",category:"Objects",aliases:["speaker"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔉",description:"speaker medium volume",category:"Objects",aliases:["sound"],tags:["volume"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔊",description:"speaker high volume",category:"Objects",aliases:["loud_sound"],tags:["volume"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📢",description:"loudspeaker",category:"Objects",aliases:["loudspeaker"],tags:["announcement"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📣",description:"megaphone",category:"Objects",aliases:["mega"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📯",description:"postal horn",category:"Objects",aliases:["postal_horn"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔔",description:"bell",category:"Objects",aliases:["bell"],tags:["sound","notification"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔕",description:"bell with slash",category:"Objects",aliases:["no_bell"],tags:["volume","off"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎼",description:"musical score",category:"Objects",aliases:["musical_score"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎵",description:"musical note",category:"Objects",aliases:["musical_note"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎶",description:"musical notes",category:"Objects",aliases:["notes"],tags:["music"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎙️",description:"studio microphone",category:"Objects",aliases:["studio_microphone"],tags:["podcast"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎚️",description:"level slider",category:"Objects",aliases:["level_slider"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎛️",description:"control knobs",category:"Objects",aliases:["control_knobs"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎤",description:"microphone",category:"Objects",aliases:["microphone"],tags:["sing"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎧",description:"headphone",category:"Objects",aliases:["headphones"],tags:["music","earphones"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📻",description:"radio",category:"Objects",aliases:["radio"],tags:["podcast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎷",description:"saxophone",category:"Objects",aliases:["saxophone"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪗",description:"accordion",category:"Objects",aliases:["accordion"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🎸",description:"guitar",category:"Objects",aliases:["guitar"],tags:["rock"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎹",description:"musical keyboard",category:"Objects",aliases:["musical_keyboard"],tags:["piano"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎺",description:"trumpet",category:"Objects",aliases:["trumpet"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎻",description:"violin",category:"Objects",aliases:["violin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪕",description:"banjo",category:"Objects",aliases:["banjo"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🥁",description:"drum",category:"Objects",aliases:["drum"],tags:[],unicode_version:"",ios_version:"10.2"},{emoji:"🪘",description:"long drum",category:"Objects",aliases:["long_drum"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"📱",description:"mobile phone",category:"Objects",aliases:["iphone"],tags:["smartphone","mobile"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📲",description:"mobile phone with arrow",category:"Objects",aliases:["calling"],tags:["call","incoming"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☎️",description:"telephone",category:"Objects",aliases:["phone","telephone"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"📞",description:"telephone receiver",category:"Objects",aliases:["telephone_receiver"],tags:["phone","call"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📟",description:"pager",category:"Objects",aliases:["pager"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📠",description:"fax machine",category:"Objects",aliases:["fax"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔋",description:"battery",category:"Objects",aliases:["battery"],tags:["power"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔌",description:"electric plug",category:"Objects",aliases:["electric_plug"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💻",description:"laptop",category:"Objects",aliases:["computer"],tags:["desktop","screen"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🖥️",description:"desktop computer",category:"Objects",aliases:["desktop_computer"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖨️",description:"printer",category:"Objects",aliases:["printer"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⌨️",description:"keyboard",category:"Objects",aliases:["keyboard"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"🖱️",description:"computer mouse",category:"Objects",aliases:["computer_mouse"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖲️",description:"trackball",category:"Objects",aliases:["trackball"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💽",description:"computer disk",category:"Objects",aliases:["minidisc"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💾",description:"floppy disk",category:"Objects",aliases:["floppy_disk"],tags:["save"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💿",description:"optical disk",category:"Objects",aliases:["cd"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📀",description:"dvd",category:"Objects",aliases:["dvd"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧮",description:"abacus",category:"Objects",aliases:["abacus"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎥",description:"movie camera",category:"Objects",aliases:["movie_camera"],tags:["film","video"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎞️",description:"film frames",category:"Objects",aliases:["film_strip"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📽️",description:"film projector",category:"Objects",aliases:["film_projector"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎬",description:"clapper board",category:"Objects",aliases:["clapper"],tags:["film"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📺",description:"television",category:"Objects",aliases:["tv"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📷",description:"camera",category:"Objects",aliases:["camera"],tags:["photo"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📸",description:"camera with flash",category:"Objects",aliases:["camera_flash"],tags:["photo"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📹",description:"video camera",category:"Objects",aliases:["video_camera"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📼",description:"videocassette",category:"Objects",aliases:["vhs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔍",description:"magnifying glass tilted left",category:"Objects",aliases:["mag"],tags:["search","zoom"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔎",description:"magnifying glass tilted right",category:"Objects",aliases:["mag_right"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕯️",description:"candle",category:"Objects",aliases:["candle"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💡",description:"light bulb",category:"Objects",aliases:["bulb"],tags:["idea","light"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔦",description:"flashlight",category:"Objects",aliases:["flashlight"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏮",description:"red paper lantern",category:"Objects",aliases:["izakaya_lantern","lantern"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪔",description:"diya lamp",category:"Objects",aliases:["diya_lamp"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"📔",description:"notebook with decorative cover",category:"Objects",aliases:["notebook_with_decorative_cover"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📕",description:"closed book",category:"Objects",aliases:["closed_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📖",description:"open book",category:"Objects",aliases:["book","open_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📗",description:"green book",category:"Objects",aliases:["green_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📘",description:"blue book",category:"Objects",aliases:["blue_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📙",description:"orange book",category:"Objects",aliases:["orange_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📚",description:"books",category:"Objects",aliases:["books"],tags:["library"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📓",description:"notebook",category:"Objects",aliases:["notebook"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📒",description:"ledger",category:"Objects",aliases:["ledger"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📃",description:"page with curl",category:"Objects",aliases:["page_with_curl"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📜",description:"scroll",category:"Objects",aliases:["scroll"],tags:["document"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📄",description:"page facing up",category:"Objects",aliases:["page_facing_up"],tags:["document"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📰",description:"newspaper",category:"Objects",aliases:["newspaper"],tags:["press"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗞️",description:"rolled-up newspaper",category:"Objects",aliases:["newspaper_roll"],tags:["press"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📑",description:"bookmark tabs",category:"Objects",aliases:["bookmark_tabs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔖",description:"bookmark",category:"Objects",aliases:["bookmark"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏷️",description:"label",category:"Objects",aliases:["label"],tags:["tag"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💰",description:"money bag",category:"Objects",aliases:["moneybag"],tags:["dollar","cream"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪙",description:"coin",category:"Objects",aliases:["coin"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"💴",description:"yen banknote",category:"Objects",aliases:["yen"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💵",description:"dollar banknote",category:"Objects",aliases:["dollar"],tags:["money"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💶",description:"euro banknote",category:"Objects",aliases:["euro"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💷",description:"pound banknote",category:"Objects",aliases:["pound"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💸",description:"money with wings",category:"Objects",aliases:["money_with_wings"],tags:["dollar"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💳",description:"credit card",category:"Objects",aliases:["credit_card"],tags:["subscription"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧾",description:"receipt",category:"Objects",aliases:["receipt"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💹",description:"chart increasing with yen",category:"Objects",aliases:["chart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"✉️",description:"envelope",category:"Objects",aliases:["envelope"],tags:["letter","email"],unicode_version:"",ios_version:"6.0"},{emoji:"📧",description:"e-mail",category:"Objects",aliases:["email","e-mail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📨",description:"incoming envelope",category:"Objects",aliases:["incoming_envelope"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📩",description:"envelope with arrow",category:"Objects",aliases:["envelope_with_arrow"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📤",description:"outbox tray",category:"Objects",aliases:["outbox_tray"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📥",description:"inbox tray",category:"Objects",aliases:["inbox_tray"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📦",description:"package",category:"Objects",aliases:["package"],tags:["shipping"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📫",description:"closed mailbox with raised flag",category:"Objects",aliases:["mailbox"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📪",description:"closed mailbox with lowered flag",category:"Objects",aliases:["mailbox_closed"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📬",description:"open mailbox with raised flag",category:"Objects",aliases:["mailbox_with_mail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📭",description:"open mailbox with lowered flag",category:"Objects",aliases:["mailbox_with_no_mail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📮",description:"postbox",category:"Objects",aliases:["postbox"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗳️",description:"ballot box with ballot",category:"Objects",aliases:["ballot_box"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"✏️",description:"pencil",category:"Objects",aliases:["pencil2"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"✒️",description:"black nib",category:"Objects",aliases:["black_nib"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🖋️",description:"fountain pen",category:"Objects",aliases:["fountain_pen"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖊️",description:"pen",category:"Objects",aliases:["pen"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖌️",description:"paintbrush",category:"Objects",aliases:["paintbrush"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖍️",description:"crayon",category:"Objects",aliases:["crayon"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📝",description:"memo",category:"Objects",aliases:["memo","pencil"],tags:["document","note"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💼",description:"briefcase",category:"Objects",aliases:["briefcase"],tags:["business"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📁",description:"file folder",category:"Objects",aliases:["file_folder"],tags:["directory"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📂",description:"open file folder",category:"Objects",aliases:["open_file_folder"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗂️",description:"card index dividers",category:"Objects",aliases:["card_index_dividers"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📅",description:"calendar",category:"Objects",aliases:["date"],tags:["calendar","schedule"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📆",description:"tear-off calendar",category:"Objects",aliases:["calendar"],tags:["schedule"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗒️",description:"spiral notepad",category:"Objects",aliases:["spiral_notepad"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗓️",description:"spiral calendar",category:"Objects",aliases:["spiral_calendar"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📇",description:"card index",category:"Objects",aliases:["card_index"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📈",description:"chart increasing",category:"Objects",aliases:["chart_with_upwards_trend"],tags:["graph","metrics"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📉",description:"chart decreasing",category:"Objects",aliases:["chart_with_downwards_trend"],tags:["graph","metrics"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📊",description:"bar chart",category:"Objects",aliases:["bar_chart"],tags:["stats","metrics"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📋",description:"clipboard",category:"Objects",aliases:["clipboard"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📌",description:"pushpin",category:"Objects",aliases:["pushpin"],tags:["location"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📍",description:"round pushpin",category:"Objects",aliases:["round_pushpin"],tags:["location"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📎",description:"paperclip",category:"Objects",aliases:["paperclip"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🖇️",description:"linked paperclips",category:"Objects",aliases:["paperclips"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📏",description:"straight ruler",category:"Objects",aliases:["straight_ruler"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📐",description:"triangular ruler",category:"Objects",aliases:["triangular_ruler"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"✂️",description:"scissors",category:"Objects",aliases:["scissors"],tags:["cut"],unicode_version:"",ios_version:"6.0"},{emoji:"🗃️",description:"card file box",category:"Objects",aliases:["card_file_box"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗄️",description:"file cabinet",category:"Objects",aliases:["file_cabinet"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗑️",description:"wastebasket",category:"Objects",aliases:["wastebasket"],tags:["trash"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🔒",description:"locked",category:"Objects",aliases:["lock"],tags:["security","private"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔓",description:"unlocked",category:"Objects",aliases:["unlock"],tags:["security"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔏",description:"locked with pen",category:"Objects",aliases:["lock_with_ink_pen"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔐",description:"locked with key",category:"Objects",aliases:["closed_lock_with_key"],tags:["security"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔑",description:"key",category:"Objects",aliases:["key"],tags:["lock","password"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗝️",description:"old key",category:"Objects",aliases:["old_key"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🔨",description:"hammer",category:"Objects",aliases:["hammer"],tags:["tool"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪓",description:"axe",category:"Objects",aliases:["axe"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⛏️",description:"pick",category:"Objects",aliases:["pick"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"⚒️",description:"hammer and pick",category:"Objects",aliases:["hammer_and_pick"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🛠️",description:"hammer and wrench",category:"Objects",aliases:["hammer_and_wrench"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗡️",description:"dagger",category:"Objects",aliases:["dagger"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⚔️",description:"crossed swords",category:"Objects",aliases:["crossed_swords"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🔫",description:"water pistol",category:"Objects",aliases:["gun"],tags:["shoot","weapon"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪃",description:"boomerang",category:"Objects",aliases:["boomerang"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏹",description:"bow and arrow",category:"Objects",aliases:["bow_and_arrow"],tags:["archery"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🛡️",description:"shield",category:"Objects",aliases:["shield"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🪚",description:"carpentry saw",category:"Objects",aliases:["carpentry_saw"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🔧",description:"wrench",category:"Objects",aliases:["wrench"],tags:["tool"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪛",description:"screwdriver",category:"Objects",aliases:["screwdriver"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🔩",description:"nut and bolt",category:"Objects",aliases:["nut_and_bolt"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚙️",description:"gear",category:"Objects",aliases:["gear"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🗜️",description:"clamp",category:"Objects",aliases:["clamp"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⚖️",description:"balance scale",category:"Objects",aliases:["balance_scale"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🦯",description:"white cane",category:"Objects",aliases:["probing_cane"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🔗",description:"link",category:"Objects",aliases:["link"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⛓️",description:"chains",category:"Objects",aliases:["chains"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🪝",description:"hook",category:"Objects",aliases:["hook"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧰",description:"toolbox",category:"Objects",aliases:["toolbox"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧲",description:"magnet",category:"Objects",aliases:["magnet"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪜",description:"ladder",category:"Objects",aliases:["ladder"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"⚗️",description:"alembic",category:"Objects",aliases:["alembic"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🧪",description:"test tube",category:"Objects",aliases:["test_tube"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧫",description:"petri dish",category:"Objects",aliases:["petri_dish"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧬",description:"dna",category:"Objects",aliases:["dna"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🔬",description:"microscope",category:"Objects",aliases:["microscope"],tags:["science","laboratory","investigate"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔭",description:"telescope",category:"Objects",aliases:["telescope"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📡",description:"satellite antenna",category:"Objects",aliases:["satellite"],tags:["signal"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💉",description:"syringe",category:"Objects",aliases:["syringe"],tags:["health","hospital","needle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩸",description:"drop of blood",category:"Objects",aliases:["drop_of_blood"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"💊",description:"pill",category:"Objects",aliases:["pill"],tags:["health","medicine"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩹",description:"adhesive bandage",category:"Objects",aliases:["adhesive_bandage"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩺",description:"stethoscope",category:"Objects",aliases:["stethoscope"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🚪",description:"door",category:"Objects",aliases:["door"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛗",description:"elevator",category:"Objects",aliases:["elevator"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪞",description:"mirror",category:"Objects",aliases:["mirror"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪟",description:"window",category:"Objects",aliases:["window"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🛏️",description:"bed",category:"Objects",aliases:["bed"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛋️",description:"couch and lamp",category:"Objects",aliases:["couch_and_lamp"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🪑",description:"chair",category:"Objects",aliases:["chair"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🚽",description:"toilet",category:"Objects",aliases:["toilet"],tags:["wc"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪠",description:"plunger",category:"Objects",aliases:["plunger"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🚿",description:"shower",category:"Objects",aliases:["shower"],tags:["bath"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛁",description:"bathtub",category:"Objects",aliases:["bathtub"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪤",description:"mouse trap",category:"Objects",aliases:["mouse_trap"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪒",description:"razor",category:"Objects",aliases:["razor"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧴",description:"lotion bottle",category:"Objects",aliases:["lotion_bottle"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧷",description:"safety pin",category:"Objects",aliases:["safety_pin"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧹",description:"broom",category:"Objects",aliases:["broom"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧺",description:"basket",category:"Objects",aliases:["basket"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧻",description:"roll of paper",category:"Objects",aliases:["roll_of_paper"],tags:["toilet"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪣",description:"bucket",category:"Objects",aliases:["bucket"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧼",description:"soap",category:"Objects",aliases:["soap"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪥",description:"toothbrush",category:"Objects",aliases:["toothbrush"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧽",description:"sponge",category:"Objects",aliases:["sponge"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧯",description:"fire extinguisher",category:"Objects",aliases:["fire_extinguisher"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🛒",description:"shopping cart",category:"Objects",aliases:["shopping_cart"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🚬",description:"cigarette",category:"Objects",aliases:["smoking"],tags:["cigarette"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚰️",description:"coffin",category:"Objects",aliases:["coffin"],tags:["funeral"],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🪦",description:"headstone",category:"Objects",aliases:["headstone"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"⚱️",description:"funeral urn",category:"Objects",aliases:["funeral_urn"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🗿",description:"moai",category:"Objects",aliases:["moyai"],tags:["stone"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪧",description:"placard",category:"Objects",aliases:["placard"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏧",description:"ATM sign",category:"Symbols",aliases:["atm"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚮",description:"litter in bin sign",category:"Symbols",aliases:["put_litter_in_its_place"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚰",description:"potable water",category:"Symbols",aliases:["potable_water"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♿",description:"wheelchair symbol",category:"Symbols",aliases:["wheelchair"],tags:["accessibility"],unicode_version:"4.1",ios_version:"6.0"},{emoji:"🚹",description:"men’s room",category:"Symbols",aliases:["mens"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚺",description:"women’s room",category:"Symbols",aliases:["womens"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚻",description:"restroom",category:"Symbols",aliases:["restroom"],tags:["toilet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚼",description:"baby symbol",category:"Symbols",aliases:["baby_symbol"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚾",description:"water closet",category:"Symbols",aliases:["wc"],tags:["toilet","restroom"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛂",description:"passport control",category:"Symbols",aliases:["passport_control"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛃",description:"customs",category:"Symbols",aliases:["customs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛄",description:"baggage claim",category:"Symbols",aliases:["baggage_claim"],tags:["airport"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛅",description:"left luggage",category:"Symbols",aliases:["left_luggage"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚠️",description:"warning",category:"Symbols",aliases:["warning"],tags:["wip"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"🚸",description:"children crossing",category:"Symbols",aliases:["children_crossing"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⛔",description:"no entry",category:"Symbols",aliases:["no_entry"],tags:["limit"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🚫",description:"prohibited",category:"Symbols",aliases:["no_entry_sign"],tags:["block","forbidden"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚳",description:"no bicycles",category:"Symbols",aliases:["no_bicycles"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚭",description:"no smoking",category:"Symbols",aliases:["no_smoking"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚯",description:"no littering",category:"Symbols",aliases:["do_not_litter"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚱",description:"non-potable water",category:"Symbols",aliases:["non-potable_water"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚷",description:"no pedestrians",category:"Symbols",aliases:["no_pedestrians"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📵",description:"no mobile phones",category:"Symbols",aliases:["no_mobile_phones"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔞",description:"no one under eighteen",category:"Symbols",aliases:["underage"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☢️",description:"radioactive",category:"Symbols",aliases:["radioactive"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☣️",description:"biohazard",category:"Symbols",aliases:["biohazard"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"⬆️",description:"up arrow",category:"Symbols",aliases:["arrow_up"],tags:[],unicode_version:"4.0",ios_version:"6.0"},{emoji:"↗️",description:"up-right arrow",category:"Symbols",aliases:["arrow_upper_right"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"➡️",description:"right arrow",category:"Symbols",aliases:["arrow_right"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↘️",description:"down-right arrow",category:"Symbols",aliases:["arrow_lower_right"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⬇️",description:"down arrow",category:"Symbols",aliases:["arrow_down"],tags:[],unicode_version:"4.0",ios_version:"6.0"},{emoji:"↙️",description:"down-left arrow",category:"Symbols",aliases:["arrow_lower_left"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⬅️",description:"left arrow",category:"Symbols",aliases:["arrow_left"],tags:[],unicode_version:"4.0",ios_version:"6.0"},{emoji:"↖️",description:"up-left arrow",category:"Symbols",aliases:["arrow_upper_left"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↕️",description:"up-down arrow",category:"Symbols",aliases:["arrow_up_down"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↔️",description:"left-right arrow",category:"Symbols",aliases:["left_right_arrow"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↩️",description:"right arrow curving left",category:"Symbols",aliases:["leftwards_arrow_with_hook"],tags:["return"],unicode_version:"",ios_version:"6.0"},{emoji:"↪️",description:"left arrow curving right",category:"Symbols",aliases:["arrow_right_hook"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⤴️",description:"right arrow curving up",category:"Symbols",aliases:["arrow_heading_up"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⤵️",description:"right arrow curving down",category:"Symbols",aliases:["arrow_heading_down"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🔃",description:"clockwise vertical arrows",category:"Symbols",aliases:["arrows_clockwise"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔄",description:"counterclockwise arrows button",category:"Symbols",aliases:["arrows_counterclockwise"],tags:["sync"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔙",description:"BACK arrow",category:"Symbols",aliases:["back"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔚",description:"END arrow",category:"Symbols",aliases:["end"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔛",description:"ON! arrow",category:"Symbols",aliases:["on"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔜",description:"SOON arrow",category:"Symbols",aliases:["soon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔝",description:"TOP arrow",category:"Symbols",aliases:["top"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛐",description:"place of worship",category:"Symbols",aliases:["place_of_worship"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"⚛️",description:"atom symbol",category:"Symbols",aliases:["atom_symbol"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🕉️",description:"om",category:"Symbols",aliases:["om"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"✡️",description:"star of David",category:"Symbols",aliases:["star_of_david"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☸️",description:"wheel of dharma",category:"Symbols",aliases:["wheel_of_dharma"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☯️",description:"yin yang",category:"Symbols",aliases:["yin_yang"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"✝️",description:"latin cross",category:"Symbols",aliases:["latin_cross"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☦️",description:"orthodox cross",category:"Symbols",aliases:["orthodox_cross"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☪️",description:"star and crescent",category:"Symbols",aliases:["star_and_crescent"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☮️",description:"peace symbol",category:"Symbols",aliases:["peace_symbol"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"🕎",description:"menorah",category:"Symbols",aliases:["menorah"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🔯",description:"dotted six-pointed star",category:"Symbols",aliases:["six_pointed_star"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♈",description:"Aries",category:"Symbols",aliases:["aries"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♉",description:"Taurus",category:"Symbols",aliases:["taurus"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♊",description:"Gemini",category:"Symbols",aliases:["gemini"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♋",description:"Cancer",category:"Symbols",aliases:["cancer"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♌",description:"Leo",category:"Symbols",aliases:["leo"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♍",description:"Virgo",category:"Symbols",aliases:["virgo"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♎",description:"Libra",category:"Symbols",aliases:["libra"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♏",description:"Scorpio",category:"Symbols",aliases:["scorpius"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♐",description:"Sagittarius",category:"Symbols",aliases:["sagittarius"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♑",description:"Capricorn",category:"Symbols",aliases:["capricorn"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♒",description:"Aquarius",category:"Symbols",aliases:["aquarius"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♓",description:"Pisces",category:"Symbols",aliases:["pisces"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⛎",description:"Ophiuchus",category:"Symbols",aliases:["ophiuchus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔀",description:"shuffle tracks button",category:"Symbols",aliases:["twisted_rightwards_arrows"],tags:["shuffle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔁",description:"repeat button",category:"Symbols",aliases:["repeat"],tags:["loop"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔂",description:"repeat single button",category:"Symbols",aliases:["repeat_one"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"▶️",description:"play button",category:"Symbols",aliases:["arrow_forward"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⏩",description:"fast-forward button",category:"Symbols",aliases:["fast_forward"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏭️",description:"next track button",category:"Symbols",aliases:["next_track_button"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"⏯️",description:"play or pause button",category:"Symbols",aliases:["play_or_pause_button"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"◀️",description:"reverse button",category:"Symbols",aliases:["arrow_backward"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⏪",description:"fast reverse button",category:"Symbols",aliases:["rewind"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏮️",description:"last track button",category:"Symbols",aliases:["previous_track_button"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"🔼",description:"upwards button",category:"Symbols",aliases:["arrow_up_small"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏫",description:"fast up button",category:"Symbols",aliases:["arrow_double_up"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔽",description:"downwards button",category:"Symbols",aliases:["arrow_down_small"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏬",description:"fast down button",category:"Symbols",aliases:["arrow_double_down"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏸️",description:"pause button",category:"Symbols",aliases:["pause_button"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⏹️",description:"stop button",category:"Symbols",aliases:["stop_button"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⏺️",description:"record button",category:"Symbols",aliases:["record_button"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⏏️",description:"eject button",category:"Symbols",aliases:["eject_button"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎦",description:"cinema",category:"Symbols",aliases:["cinema"],tags:["film","movie"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔅",description:"dim button",category:"Symbols",aliases:["low_brightness"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔆",description:"bright button",category:"Symbols",aliases:["high_brightness"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📶",description:"antenna bars",category:"Symbols",aliases:["signal_strength"],tags:["wifi"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📳",description:"vibration mode",category:"Symbols",aliases:["vibration_mode"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📴",description:"mobile phone off",category:"Symbols",aliases:["mobile_phone_off"],tags:["mute","off"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♀️",description:"female sign",category:"Symbols",aliases:["female_sign"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"♂️",description:"male sign",category:"Symbols",aliases:["male_sign"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"⚧️",description:"transgender symbol",category:"Symbols",aliases:["transgender_symbol"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"✖️",description:"multiply",category:"Symbols",aliases:["heavy_multiplication_x"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"➕",description:"plus",category:"Symbols",aliases:["heavy_plus_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➖",description:"minus",category:"Symbols",aliases:["heavy_minus_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➗",description:"divide",category:"Symbols",aliases:["heavy_division_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♾️",description:"infinity",category:"Symbols",aliases:["infinity"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"‼️",description:"double exclamation mark",category:"Symbols",aliases:["bangbang"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⁉️",description:"exclamation question mark",category:"Symbols",aliases:["interrobang"],tags:[],unicode_version:"3.0",ios_version:"6.0"},{emoji:"❓",description:"red question mark",category:"Symbols",aliases:["question"],tags:["confused"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❔",description:"white question mark",category:"Symbols",aliases:["grey_question"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❕",description:"white exclamation mark",category:"Symbols",aliases:["grey_exclamation"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❗",description:"red exclamation mark",category:"Symbols",aliases:["exclamation","heavy_exclamation_mark"],tags:["bang"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"〰️",description:"wavy dash",category:"Symbols",aliases:["wavy_dash"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"💱",description:"currency exchange",category:"Symbols",aliases:["currency_exchange"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💲",description:"heavy dollar sign",category:"Symbols",aliases:["heavy_dollar_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚕️",description:"medical symbol",category:"Symbols",aliases:["medical_symbol"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"♻️",description:"recycling symbol",category:"Symbols",aliases:["recycle"],tags:["environment","green"],unicode_version:"3.2",ios_version:"6.0"},{emoji:"⚜️",description:"fleur-de-lis",category:"Symbols",aliases:["fleur_de_lis"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🔱",description:"trident emblem",category:"Symbols",aliases:["trident"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📛",description:"name badge",category:"Symbols",aliases:["name_badge"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔰",description:"Japanese symbol for beginner",category:"Symbols",aliases:["beginner"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⭕",description:"hollow red circle",category:"Symbols",aliases:["o"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"✅",description:"check mark button",category:"Symbols",aliases:["white_check_mark"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☑️",description:"check box with check",category:"Symbols",aliases:["ballot_box_with_check"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"✔️",description:"check mark",category:"Symbols",aliases:["heavy_check_mark"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"❌",description:"cross mark",category:"Symbols",aliases:["x"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❎",description:"cross mark button",category:"Symbols",aliases:["negative_squared_cross_mark"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➰",description:"curly loop",category:"Symbols",aliases:["curly_loop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➿",description:"double curly loop",category:"Symbols",aliases:["loop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"〽️",description:"part alternation mark",category:"Symbols",aliases:["part_alternation_mark"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"✳️",description:"eight-spoked asterisk",category:"Symbols",aliases:["eight_spoked_asterisk"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"✴️",description:"eight-pointed star",category:"Symbols",aliases:["eight_pointed_black_star"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"❇️",description:"sparkle",category:"Symbols",aliases:["sparkle"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"©️",description:"copyright",category:"Symbols",aliases:["copyright"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"®️",description:"registered",category:"Symbols",aliases:["registered"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"™️",description:"trade mark",category:"Symbols",aliases:["tm"],tags:["trademark"],unicode_version:"",ios_version:"6.0"},{emoji:"#️⃣",description:"keycap: #",category:"Symbols",aliases:["hash"],tags:["number"],unicode_version:"",ios_version:"6.0"},{emoji:"*️⃣",description:"keycap: *",category:"Symbols",aliases:["asterisk"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"0️⃣",description:"keycap: 0",category:"Symbols",aliases:["zero"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"1️⃣",description:"keycap: 1",category:"Symbols",aliases:["one"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"2️⃣",description:"keycap: 2",category:"Symbols",aliases:["two"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"3️⃣",description:"keycap: 3",category:"Symbols",aliases:["three"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"4️⃣",description:"keycap: 4",category:"Symbols",aliases:["four"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"5️⃣",description:"keycap: 5",category:"Symbols",aliases:["five"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"6️⃣",description:"keycap: 6",category:"Symbols",aliases:["six"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"7️⃣",description:"keycap: 7",category:"Symbols",aliases:["seven"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"8️⃣",description:"keycap: 8",category:"Symbols",aliases:["eight"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"9️⃣",description:"keycap: 9",category:"Symbols",aliases:["nine"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🔟",description:"keycap: 10",category:"Symbols",aliases:["keycap_ten"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔠",description:"input latin uppercase",category:"Symbols",aliases:["capital_abcd"],tags:["letters"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔡",description:"input latin lowercase",category:"Symbols",aliases:["abcd"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔢",description:"input numbers",category:"Symbols",aliases:["1234"],tags:["numbers"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔣",description:"input symbols",category:"Symbols",aliases:["symbols"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔤",description:"input latin letters",category:"Symbols",aliases:["abc"],tags:["alphabet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅰️",description:"A button (blood type)",category:"Symbols",aliases:["a"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆎",description:"AB button (blood type)",category:"Symbols",aliases:["ab"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅱️",description:"B button (blood type)",category:"Symbols",aliases:["b"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆑",description:"CL button",category:"Symbols",aliases:["cl"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆒",description:"COOL button",category:"Symbols",aliases:["cool"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆓",description:"FREE button",category:"Symbols",aliases:["free"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"ℹ️",description:"information",category:"Symbols",aliases:["information_source"],tags:[],unicode_version:"3.0",ios_version:"6.0"},{emoji:"🆔",description:"ID button",category:"Symbols",aliases:["id"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"Ⓜ️",description:"circled M",category:"Symbols",aliases:["m"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🆕",description:"NEW button",category:"Symbols",aliases:["new"],tags:["fresh"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆖",description:"NG button",category:"Symbols",aliases:["ng"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅾️",description:"O button (blood type)",category:"Symbols",aliases:["o2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆗",description:"OK button",category:"Symbols",aliases:["ok"],tags:["yes"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅿️",description:"P button",category:"Symbols",aliases:["parking"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🆘",description:"SOS button",category:"Symbols",aliases:["sos"],tags:["help","emergency"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆙",description:"UP! button",category:"Symbols",aliases:["up"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆚",description:"VS button",category:"Symbols",aliases:["vs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈁",description:"Japanese “here” button",category:"Symbols",aliases:["koko"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈂️",description:"Japanese “service charge” button",category:"Symbols",aliases:["sa"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈷️",description:"Japanese “monthly amount” button",category:"Symbols",aliases:["u6708"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈶",description:"Japanese “not free of charge” button",category:"Symbols",aliases:["u6709"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈯",description:"Japanese “reserved” button",category:"Symbols",aliases:["u6307"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🉐",description:"Japanese “bargain” button",category:"Symbols",aliases:["ideograph_advantage"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈹",description:"Japanese “discount” button",category:"Symbols",aliases:["u5272"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈚",description:"Japanese “free of charge” button",category:"Symbols",aliases:["u7121"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🈲",description:"Japanese “prohibited” button",category:"Symbols",aliases:["u7981"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🉑",description:"Japanese “acceptable” button",category:"Symbols",aliases:["accept"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈸",description:"Japanese “application” button",category:"Symbols",aliases:["u7533"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈴",description:"Japanese “passing grade” button",category:"Symbols",aliases:["u5408"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈳",description:"Japanese “vacancy” button",category:"Symbols",aliases:["u7a7a"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"㊗️",description:"Japanese “congratulations” button",category:"Symbols",aliases:["congratulations"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"㊙️",description:"Japanese “secret” button",category:"Symbols",aliases:["secret"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🈺",description:"Japanese “open for business” button",category:"Symbols",aliases:["u55b6"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈵",description:"Japanese “no vacancy” button",category:"Symbols",aliases:["u6e80"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔴",description:"red circle",category:"Symbols",aliases:["red_circle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🟠",description:"orange circle",category:"Symbols",aliases:["orange_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟡",description:"yellow circle",category:"Symbols",aliases:["yellow_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟢",description:"green circle",category:"Symbols",aliases:["green_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🔵",description:"blue circle",category:"Symbols",aliases:["large_blue_circle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🟣",description:"purple circle",category:"Symbols",aliases:["purple_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟤",description:"brown circle",category:"Symbols",aliases:["brown_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⚫",description:"black circle",category:"Symbols",aliases:["black_circle"],tags:[],unicode_version:"4.1",ios_version:"6.0"},{emoji:"⚪",description:"white circle",category:"Symbols",aliases:["white_circle"],tags:[],unicode_version:"4.1",ios_version:"6.0"},{emoji:"🟥",description:"red square",category:"Symbols",aliases:["red_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟧",description:"orange square",category:"Symbols",aliases:["orange_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟨",description:"yellow square",category:"Symbols",aliases:["yellow_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟩",description:"green square",category:"Symbols",aliases:["green_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟦",description:"blue square",category:"Symbols",aliases:["blue_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟪",description:"purple square",category:"Symbols",aliases:["purple_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟫",description:"brown square",category:"Symbols",aliases:["brown_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⬛",description:"black large square",category:"Symbols",aliases:["black_large_square"],tags:[],unicode_version:"5.1",ios_version:"6.0"},{emoji:"⬜",description:"white large square",category:"Symbols",aliases:["white_large_square"],tags:[],unicode_version:"5.1",ios_version:"6.0"},{emoji:"◼️",description:"black medium square",category:"Symbols",aliases:["black_medium_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"◻️",description:"white medium square",category:"Symbols",aliases:["white_medium_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"◾",description:"black medium-small square",category:"Symbols",aliases:["black_medium_small_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"◽",description:"white medium-small square",category:"Symbols",aliases:["white_medium_small_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"▪️",description:"black small square",category:"Symbols",aliases:["black_small_square"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"▫️",description:"white small square",category:"Symbols",aliases:["white_small_square"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🔶",description:"large orange diamond",category:"Symbols",aliases:["large_orange_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔷",description:"large blue diamond",category:"Symbols",aliases:["large_blue_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔸",description:"small orange diamond",category:"Symbols",aliases:["small_orange_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔹",description:"small blue diamond",category:"Symbols",aliases:["small_blue_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔺",description:"red triangle pointed up",category:"Symbols",aliases:["small_red_triangle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔻",description:"red triangle pointed down",category:"Symbols",aliases:["small_red_triangle_down"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💠",description:"diamond with a dot",category:"Symbols",aliases:["diamond_shape_with_a_dot_inside"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔘",description:"radio button",category:"Symbols",aliases:["radio_button"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔳",description:"white square button",category:"Symbols",aliases:["white_square_button"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔲",description:"black square button",category:"Symbols",aliases:["black_square_button"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏁",description:"chequered flag",category:"Flags",aliases:["checkered_flag"],tags:["milestone","finish"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚩",description:"triangular flag",category:"Flags",aliases:["triangular_flag_on_post"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎌",description:"crossed flags",category:"Flags",aliases:["crossed_flags"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏴",description:"black flag",category:"Flags",aliases:["black_flag"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏳️",description:"white flag",category:"Flags",aliases:["white_flag"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏳️‍🌈",description:"rainbow flag",category:"Flags",aliases:["rainbow_flag"],tags:["pride"],unicode_version:"6.0",ios_version:"10.0"},{emoji:"🏳️‍⚧️",description:"transgender flag",category:"Flags",aliases:["transgender_flag"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏴‍☠️",description:"pirate flag",category:"Flags",aliases:["pirate_flag"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇦🇨",description:"flag: Ascension Island",category:"Flags",aliases:["ascension_island"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇦🇩",description:"flag: Andorra",category:"Flags",aliases:["andorra"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇪",description:"flag: United Arab Emirates",category:"Flags",aliases:["united_arab_emirates"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇫",description:"flag: Afghanistan",category:"Flags",aliases:["afghanistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇬",description:"flag: Antigua & Barbuda",category:"Flags",aliases:["antigua_barbuda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇮",description:"flag: Anguilla",category:"Flags",aliases:["anguilla"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇱",description:"flag: Albania",category:"Flags",aliases:["albania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇲",description:"flag: Armenia",category:"Flags",aliases:["armenia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇴",description:"flag: Angola",category:"Flags",aliases:["angola"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇶",description:"flag: Antarctica",category:"Flags",aliases:["antarctica"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇦🇷",description:"flag: Argentina",category:"Flags",aliases:["argentina"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇸",description:"flag: American Samoa",category:"Flags",aliases:["american_samoa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇹",description:"flag: Austria",category:"Flags",aliases:["austria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇺",description:"flag: Australia",category:"Flags",aliases:["australia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇼",description:"flag: Aruba",category:"Flags",aliases:["aruba"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇽",description:"flag: Åland Islands",category:"Flags",aliases:["aland_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇦🇿",description:"flag: Azerbaijan",category:"Flags",aliases:["azerbaijan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇦",description:"flag: Bosnia & Herzegovina",category:"Flags",aliases:["bosnia_herzegovina"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇧",description:"flag: Barbados",category:"Flags",aliases:["barbados"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇩",description:"flag: Bangladesh",category:"Flags",aliases:["bangladesh"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇪",description:"flag: Belgium",category:"Flags",aliases:["belgium"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇫",description:"flag: Burkina Faso",category:"Flags",aliases:["burkina_faso"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇬",description:"flag: Bulgaria",category:"Flags",aliases:["bulgaria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇭",description:"flag: Bahrain",category:"Flags",aliases:["bahrain"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇮",description:"flag: Burundi",category:"Flags",aliases:["burundi"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇯",description:"flag: Benin",category:"Flags",aliases:["benin"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇱",description:"flag: St. Barthélemy",category:"Flags",aliases:["st_barthelemy"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇧🇲",description:"flag: Bermuda",category:"Flags",aliases:["bermuda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇳",description:"flag: Brunei",category:"Flags",aliases:["brunei"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇴",description:"flag: Bolivia",category:"Flags",aliases:["bolivia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇶",description:"flag: Caribbean Netherlands",category:"Flags",aliases:["caribbean_netherlands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇧🇷",description:"flag: Brazil",category:"Flags",aliases:["brazil"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇸",description:"flag: Bahamas",category:"Flags",aliases:["bahamas"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇹",description:"flag: Bhutan",category:"Flags",aliases:["bhutan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇻",description:"flag: Bouvet Island",category:"Flags",aliases:["bouvet_island"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇧🇼",description:"flag: Botswana",category:"Flags",aliases:["botswana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇾",description:"flag: Belarus",category:"Flags",aliases:["belarus"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇿",description:"flag: Belize",category:"Flags",aliases:["belize"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇦",description:"flag: Canada",category:"Flags",aliases:["canada"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇨",description:"flag: Cocos (Keeling) Islands",category:"Flags",aliases:["cocos_islands"],tags:["keeling"],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇨🇩",description:"flag: Congo - Kinshasa",category:"Flags",aliases:["congo_kinshasa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇫",description:"flag: Central African Republic",category:"Flags",aliases:["central_african_republic"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇬",description:"flag: Congo - Brazzaville",category:"Flags",aliases:["congo_brazzaville"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇭",description:"flag: Switzerland",category:"Flags",aliases:["switzerland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇮",description:"flag: Côte d’Ivoire",category:"Flags",aliases:["cote_divoire"],tags:["ivory"],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇰",description:"flag: Cook Islands",category:"Flags",aliases:["cook_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇱",description:"flag: Chile",category:"Flags",aliases:["chile"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇲",description:"flag: Cameroon",category:"Flags",aliases:["cameroon"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇳",description:"flag: China",category:"Flags",aliases:["cn"],tags:["china"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇨🇴",description:"flag: Colombia",category:"Flags",aliases:["colombia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇵",description:"flag: Clipperton Island",category:"Flags",aliases:["clipperton_island"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇨🇷",description:"flag: Costa Rica",category:"Flags",aliases:["costa_rica"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇺",description:"flag: Cuba",category:"Flags",aliases:["cuba"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇻",description:"flag: Cape Verde",category:"Flags",aliases:["cape_verde"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇼",description:"flag: Curaçao",category:"Flags",aliases:["curacao"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇽",description:"flag: Christmas Island",category:"Flags",aliases:["christmas_island"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇨🇾",description:"flag: Cyprus",category:"Flags",aliases:["cyprus"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇿",description:"flag: Czechia",category:"Flags",aliases:["czech_republic"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇪",description:"flag: Germany",category:"Flags",aliases:["de"],tags:["flag","germany"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇩🇬",description:"flag: Diego Garcia",category:"Flags",aliases:["diego_garcia"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇩🇯",description:"flag: Djibouti",category:"Flags",aliases:["djibouti"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇰",description:"flag: Denmark",category:"Flags",aliases:["denmark"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇲",description:"flag: Dominica",category:"Flags",aliases:["dominica"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇴",description:"flag: Dominican Republic",category:"Flags",aliases:["dominican_republic"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇿",description:"flag: Algeria",category:"Flags",aliases:["algeria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇦",description:"flag: Ceuta & Melilla",category:"Flags",aliases:["ceuta_melilla"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇪🇨",description:"flag: Ecuador",category:"Flags",aliases:["ecuador"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇪",description:"flag: Estonia",category:"Flags",aliases:["estonia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇬",description:"flag: Egypt",category:"Flags",aliases:["egypt"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇭",description:"flag: Western Sahara",category:"Flags",aliases:["western_sahara"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇪🇷",description:"flag: Eritrea",category:"Flags",aliases:["eritrea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇸",description:"flag: Spain",category:"Flags",aliases:["es"],tags:["spain"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇪🇹",description:"flag: Ethiopia",category:"Flags",aliases:["ethiopia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇺",description:"flag: European Union",category:"Flags",aliases:["eu","european_union"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇫🇮",description:"flag: Finland",category:"Flags",aliases:["finland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇫🇯",description:"flag: Fiji",category:"Flags",aliases:["fiji"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇫🇰",description:"flag: Falkland Islands",category:"Flags",aliases:["falkland_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇫🇲",description:"flag: Micronesia",category:"Flags",aliases:["micronesia"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇫🇴",description:"flag: Faroe Islands",category:"Flags",aliases:["faroe_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇫🇷",description:"flag: France",category:"Flags",aliases:["fr"],tags:["france","french"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇬🇦",description:"flag: Gabon",category:"Flags",aliases:["gabon"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇧",description:"flag: United Kingdom",category:"Flags",aliases:["gb","uk"],tags:["flag","british"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇬🇩",description:"flag: Grenada",category:"Flags",aliases:["grenada"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇪",description:"flag: Georgia",category:"Flags",aliases:["georgia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇫",description:"flag: French Guiana",category:"Flags",aliases:["french_guiana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇬",description:"flag: Guernsey",category:"Flags",aliases:["guernsey"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇭",description:"flag: Ghana",category:"Flags",aliases:["ghana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇮",description:"flag: Gibraltar",category:"Flags",aliases:["gibraltar"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇱",description:"flag: Greenland",category:"Flags",aliases:["greenland"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇲",description:"flag: Gambia",category:"Flags",aliases:["gambia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇳",description:"flag: Guinea",category:"Flags",aliases:["guinea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇵",description:"flag: Guadeloupe",category:"Flags",aliases:["guadeloupe"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇶",description:"flag: Equatorial Guinea",category:"Flags",aliases:["equatorial_guinea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇷",description:"flag: Greece",category:"Flags",aliases:["greece"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇸",description:"flag: South Georgia & South Sandwich Islands",category:"Flags",aliases:["south_georgia_south_sandwich_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇹",description:"flag: Guatemala",category:"Flags",aliases:["guatemala"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇺",description:"flag: Guam",category:"Flags",aliases:["guam"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇼",description:"flag: Guinea-Bissau",category:"Flags",aliases:["guinea_bissau"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇾",description:"flag: Guyana",category:"Flags",aliases:["guyana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇰",description:"flag: Hong Kong SAR China",category:"Flags",aliases:["hong_kong"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇲",description:"flag: Heard & McDonald Islands",category:"Flags",aliases:["heard_mcdonald_islands"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇭🇳",description:"flag: Honduras",category:"Flags",aliases:["honduras"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇷",description:"flag: Croatia",category:"Flags",aliases:["croatia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇹",description:"flag: Haiti",category:"Flags",aliases:["haiti"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇺",description:"flag: Hungary",category:"Flags",aliases:["hungary"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇨",description:"flag: Canary Islands",category:"Flags",aliases:["canary_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇮🇩",description:"flag: Indonesia",category:"Flags",aliases:["indonesia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇪",description:"flag: Ireland",category:"Flags",aliases:["ireland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇱",description:"flag: Israel",category:"Flags",aliases:["israel"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇲",description:"flag: Isle of Man",category:"Flags",aliases:["isle_of_man"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇮🇳",description:"flag: India",category:"Flags",aliases:["india"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇴",description:"flag: British Indian Ocean Territory",category:"Flags",aliases:["british_indian_ocean_territory"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇮🇶",description:"flag: Iraq",category:"Flags",aliases:["iraq"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇷",description:"flag: Iran",category:"Flags",aliases:["iran"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇸",description:"flag: Iceland",category:"Flags",aliases:["iceland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇹",description:"flag: Italy",category:"Flags",aliases:["it"],tags:["italy"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇯🇪",description:"flag: Jersey",category:"Flags",aliases:["jersey"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇯🇲",description:"flag: Jamaica",category:"Flags",aliases:["jamaica"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇯🇴",description:"flag: Jordan",category:"Flags",aliases:["jordan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇯🇵",description:"flag: Japan",category:"Flags",aliases:["jp"],tags:["japan"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇰🇪",description:"flag: Kenya",category:"Flags",aliases:["kenya"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇬",description:"flag: Kyrgyzstan",category:"Flags",aliases:["kyrgyzstan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇭",description:"flag: Cambodia",category:"Flags",aliases:["cambodia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇮",description:"flag: Kiribati",category:"Flags",aliases:["kiribati"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇲",description:"flag: Comoros",category:"Flags",aliases:["comoros"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇳",description:"flag: St. Kitts & Nevis",category:"Flags",aliases:["st_kitts_nevis"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇵",description:"flag: North Korea",category:"Flags",aliases:["north_korea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇷",description:"flag: South Korea",category:"Flags",aliases:["kr"],tags:["korea"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇰🇼",description:"flag: Kuwait",category:"Flags",aliases:["kuwait"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇾",description:"flag: Cayman Islands",category:"Flags",aliases:["cayman_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇿",description:"flag: Kazakhstan",category:"Flags",aliases:["kazakhstan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇦",description:"flag: Laos",category:"Flags",aliases:["laos"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇧",description:"flag: Lebanon",category:"Flags",aliases:["lebanon"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇨",description:"flag: St. Lucia",category:"Flags",aliases:["st_lucia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇮",description:"flag: Liechtenstein",category:"Flags",aliases:["liechtenstein"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇰",description:"flag: Sri Lanka",category:"Flags",aliases:["sri_lanka"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇷",description:"flag: Liberia",category:"Flags",aliases:["liberia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇸",description:"flag: Lesotho",category:"Flags",aliases:["lesotho"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇹",description:"flag: Lithuania",category:"Flags",aliases:["lithuania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇺",description:"flag: Luxembourg",category:"Flags",aliases:["luxembourg"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇻",description:"flag: Latvia",category:"Flags",aliases:["latvia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇾",description:"flag: Libya",category:"Flags",aliases:["libya"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇦",description:"flag: Morocco",category:"Flags",aliases:["morocco"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇨",description:"flag: Monaco",category:"Flags",aliases:["monaco"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇩",description:"flag: Moldova",category:"Flags",aliases:["moldova"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇪",description:"flag: Montenegro",category:"Flags",aliases:["montenegro"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇫",description:"flag: St. Martin",category:"Flags",aliases:["st_martin"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇲🇬",description:"flag: Madagascar",category:"Flags",aliases:["madagascar"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇭",description:"flag: Marshall Islands",category:"Flags",aliases:["marshall_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇰",description:"flag: North Macedonia",category:"Flags",aliases:["macedonia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇱",description:"flag: Mali",category:"Flags",aliases:["mali"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇲",description:"flag: Myanmar (Burma)",category:"Flags",aliases:["myanmar"],tags:["burma"],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇳",description:"flag: Mongolia",category:"Flags",aliases:["mongolia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇴",description:"flag: Macao SAR China",category:"Flags",aliases:["macau"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇵",description:"flag: Northern Mariana Islands",category:"Flags",aliases:["northern_mariana_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇶",description:"flag: Martinique",category:"Flags",aliases:["martinique"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇷",description:"flag: Mauritania",category:"Flags",aliases:["mauritania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇸",description:"flag: Montserrat",category:"Flags",aliases:["montserrat"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇹",description:"flag: Malta",category:"Flags",aliases:["malta"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇺",description:"flag: Mauritius",category:"Flags",aliases:["mauritius"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇻",description:"flag: Maldives",category:"Flags",aliases:["maldives"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇼",description:"flag: Malawi",category:"Flags",aliases:["malawi"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇽",description:"flag: Mexico",category:"Flags",aliases:["mexico"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇾",description:"flag: Malaysia",category:"Flags",aliases:["malaysia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇿",description:"flag: Mozambique",category:"Flags",aliases:["mozambique"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇦",description:"flag: Namibia",category:"Flags",aliases:["namibia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇨",description:"flag: New Caledonia",category:"Flags",aliases:["new_caledonia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇪",description:"flag: Niger",category:"Flags",aliases:["niger"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇫",description:"flag: Norfolk Island",category:"Flags",aliases:["norfolk_island"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇳🇬",description:"flag: Nigeria",category:"Flags",aliases:["nigeria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇮",description:"flag: Nicaragua",category:"Flags",aliases:["nicaragua"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇱",description:"flag: Netherlands",category:"Flags",aliases:["netherlands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇴",description:"flag: Norway",category:"Flags",aliases:["norway"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇵",description:"flag: Nepal",category:"Flags",aliases:["nepal"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇷",description:"flag: Nauru",category:"Flags",aliases:["nauru"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇳🇺",description:"flag: Niue",category:"Flags",aliases:["niue"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇿",description:"flag: New Zealand",category:"Flags",aliases:["new_zealand"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇴🇲",description:"flag: Oman",category:"Flags",aliases:["oman"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇦",description:"flag: Panama",category:"Flags",aliases:["panama"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇪",description:"flag: Peru",category:"Flags",aliases:["peru"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇫",description:"flag: French Polynesia",category:"Flags",aliases:["french_polynesia"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇵🇬",description:"flag: Papua New Guinea",category:"Flags",aliases:["papua_new_guinea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇭",description:"flag: Philippines",category:"Flags",aliases:["philippines"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇰",description:"flag: Pakistan",category:"Flags",aliases:["pakistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇱",description:"flag: Poland",category:"Flags",aliases:["poland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇲",description:"flag: St. Pierre & Miquelon",category:"Flags",aliases:["st_pierre_miquelon"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇵🇳",description:"flag: Pitcairn Islands",category:"Flags",aliases:["pitcairn_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇵🇷",description:"flag: Puerto Rico",category:"Flags",aliases:["puerto_rico"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇸",description:"flag: Palestinian Territories",category:"Flags",aliases:["palestinian_territories"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇹",description:"flag: Portugal",category:"Flags",aliases:["portugal"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇼",description:"flag: Palau",category:"Flags",aliases:["palau"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇾",description:"flag: Paraguay",category:"Flags",aliases:["paraguay"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇶🇦",description:"flag: Qatar",category:"Flags",aliases:["qatar"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇷🇪",description:"flag: Réunion",category:"Flags",aliases:["reunion"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇷🇴",description:"flag: Romania",category:"Flags",aliases:["romania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇷🇸",description:"flag: Serbia",category:"Flags",aliases:["serbia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇷🇺",description:"flag: Russia",category:"Flags",aliases:["ru"],tags:["russia"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇷🇼",description:"flag: Rwanda",category:"Flags",aliases:["rwanda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇦",description:"flag: Saudi Arabia",category:"Flags",aliases:["saudi_arabia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇧",description:"flag: Solomon Islands",category:"Flags",aliases:["solomon_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇨",description:"flag: Seychelles",category:"Flags",aliases:["seychelles"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇩",description:"flag: Sudan",category:"Flags",aliases:["sudan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇪",description:"flag: Sweden",category:"Flags",aliases:["sweden"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇬",description:"flag: Singapore",category:"Flags",aliases:["singapore"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇭",description:"flag: St. Helena",category:"Flags",aliases:["st_helena"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇸🇮",description:"flag: Slovenia",category:"Flags",aliases:["slovenia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇯",description:"flag: Svalbard & Jan Mayen",category:"Flags",aliases:["svalbard_jan_mayen"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇸🇰",description:"flag: Slovakia",category:"Flags",aliases:["slovakia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇱",description:"flag: Sierra Leone",category:"Flags",aliases:["sierra_leone"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇲",description:"flag: San Marino",category:"Flags",aliases:["san_marino"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇳",description:"flag: Senegal",category:"Flags",aliases:["senegal"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇴",description:"flag: Somalia",category:"Flags",aliases:["somalia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇷",description:"flag: Suriname",category:"Flags",aliases:["suriname"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇸",description:"flag: South Sudan",category:"Flags",aliases:["south_sudan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇹",description:"flag: São Tomé & Príncipe",category:"Flags",aliases:["sao_tome_principe"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇻",description:"flag: El Salvador",category:"Flags",aliases:["el_salvador"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇽",description:"flag: Sint Maarten",category:"Flags",aliases:["sint_maarten"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇾",description:"flag: Syria",category:"Flags",aliases:["syria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇿",description:"flag: Eswatini",category:"Flags",aliases:["swaziland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇦",description:"flag: Tristan da Cunha",category:"Flags",aliases:["tristan_da_cunha"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇹🇨",description:"flag: Turks & Caicos Islands",category:"Flags",aliases:["turks_caicos_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇩",description:"flag: Chad",category:"Flags",aliases:["chad"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇹🇫",description:"flag: French Southern Territories",category:"Flags",aliases:["french_southern_territories"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇬",description:"flag: Togo",category:"Flags",aliases:["togo"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇭",description:"flag: Thailand",category:"Flags",aliases:["thailand"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇯",description:"flag: Tajikistan",category:"Flags",aliases:["tajikistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇰",description:"flag: Tokelau",category:"Flags",aliases:["tokelau"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇹🇱",description:"flag: Timor-Leste",category:"Flags",aliases:["timor_leste"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇲",description:"flag: Turkmenistan",category:"Flags",aliases:["turkmenistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇳",description:"flag: Tunisia",category:"Flags",aliases:["tunisia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇴",description:"flag: Tonga",category:"Flags",aliases:["tonga"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇷",description:"flag: Turkey",category:"Flags",aliases:["tr"],tags:["turkey"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🇹🇹",description:"flag: Trinidad & Tobago",category:"Flags",aliases:["trinidad_tobago"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇻",description:"flag: Tuvalu",category:"Flags",aliases:["tuvalu"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇼",description:"flag: Taiwan",category:"Flags",aliases:["taiwan"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇹🇿",description:"flag: Tanzania",category:"Flags",aliases:["tanzania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇦",description:"flag: Ukraine",category:"Flags",aliases:["ukraine"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇬",description:"flag: Uganda",category:"Flags",aliases:["uganda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇲",description:"flag: U.S. Outlying Islands",category:"Flags",aliases:["us_outlying_islands"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇺🇳",description:"flag: United Nations",category:"Flags",aliases:["united_nations"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇺🇸",description:"flag: United States",category:"Flags",aliases:["us"],tags:["flag","united","america"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇺🇾",description:"flag: Uruguay",category:"Flags",aliases:["uruguay"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇿",description:"flag: Uzbekistan",category:"Flags",aliases:["uzbekistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇦",description:"flag: Vatican City",category:"Flags",aliases:["vatican_city"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇻🇨",description:"flag: St. Vincent & Grenadines",category:"Flags",aliases:["st_vincent_grenadines"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇪",description:"flag: Venezuela",category:"Flags",aliases:["venezuela"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇬",description:"flag: British Virgin Islands",category:"Flags",aliases:["british_virgin_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇮",description:"flag: U.S. Virgin Islands",category:"Flags",aliases:["us_virgin_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇳",description:"flag: Vietnam",category:"Flags",aliases:["vietnam"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇺",description:"flag: Vanuatu",category:"Flags",aliases:["vanuatu"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇼🇫",description:"flag: Wallis & Futuna",category:"Flags",aliases:["wallis_futuna"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇼🇸",description:"flag: Samoa",category:"Flags",aliases:["samoa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇽🇰",description:"flag: Kosovo",category:"Flags",aliases:["kosovo"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇾🇪",description:"flag: Yemen",category:"Flags",aliases:["yemen"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇾🇹",description:"flag: Mayotte",category:"Flags",aliases:["mayotte"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇿🇦",description:"flag: South Africa",category:"Flags",aliases:["south_africa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇿🇲",description:"flag: Zambia",category:"Flags",aliases:["zambia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇿🇼",description:"flag: Zimbabwe",category:"Flags",aliases:["zimbabwe"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🏴󠁧󠁢󠁥󠁮󠁧󠁿",description:"flag: England",category:"Flags",aliases:["england"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏴󠁧󠁢󠁳󠁣󠁴󠁿",description:"flag: Scotland",category:"Flags",aliases:["scotland"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏴󠁧󠁢󠁷󠁬󠁳󠁿",description:"flag: Wales",category:"Flags",aliases:["wales"],tags:[],unicode_version:"11.0",ios_version:"12.1"}]},Symbol.toStringTag,{value:"Module"}));Yo.Editor=nR,Yo.EditorTask=PR,Object.defineProperty(Yo,Symbol.toStringTag,{value:"Module"})});
1545
+ `?o.insert.slice(0,-1):o.insert;(typeof a!="string"||a.length>0)&&_0(e,this,s,a,o.attributes||{})}else o.retain!==void 0?HE(e,this,s,o.retain,o.attributes||{}):o.delete!==void 0&&WE(e,s,o.delete)}}):this._pending.push(()=>this.applyDelta(t))}toDelta(t,n,e){const s=[],r=new Map,o=this.doc;let a="",c=this._start;function i(){if(a.length>0){const d={};let f=!1;r.forEach((h,m)=>{f=!0,d[m]=h});const p={insert:a};f&&(p.attributes=d),s.push(p),a=""}}const u=()=>{for(;c!==null;){if(uu(c,t)||n!==void 0&&uu(c,n))switch(c.content.constructor){case sa:{const d=r.get("ychange");t!==void 0&&!uu(c,t)?(d===void 0||d.user!==c.id.client||d.type!=="removed")&&(i(),r.set("ychange",e?e("removed",c.id):{type:"removed"})):n!==void 0&&!uu(c,n)?(d===void 0||d.user!==c.id.client||d.type!=="added")&&(i(),r.set("ychange",e?e("added",c.id):{type:"added"})):d!==void 0&&(i(),r.delete("ychange")),a+=c.content.str;break}case $a:case hu:{i();const d={insert:c.content.getContent()[0]};if(r.size>0){const f={};d.attributes=f,r.forEach((p,h)=>{f[h]=p})}s.push(d);break}case Eo:uu(c,t)&&(i(),fu(r,c.content));break}c=c.right}i()};return t||n?Fr(o,d=>{t&&f0(d,t),n&&f0(d,n),u()},"cleanup"):u(),s}insert(t,n,e){if(n.length<=0)return;const s=this.doc;s!==null?Fr(s,r=>{const o=Oh(r,this,t,!e);e||(e={},o.currentAttributes.forEach((a,c)=>{e[c]=a})),_0(r,this,o,n,e)}):this._pending.push(()=>this.insert(t,n,e))}insertEmbed(t,n,e){const s=this.doc;s!==null?Fr(s,r=>{const o=Oh(r,this,t,!e);_0(r,this,o,n,e||{})}):this._pending.push(()=>this.insertEmbed(t,n,e||{}))}delete(t,n){if(n===0)return;const e=this.doc;e!==null?Fr(e,s=>{WE(s,Oh(s,this,t,!0),n)}):this._pending.push(()=>this.delete(t,n))}format(t,n,e){if(n===0)return;const s=this.doc;s!==null?Fr(s,r=>{const o=Oh(r,this,t,!1);o.right!==null&&HE(r,this,o,n,e)}):this._pending.push(()=>this.format(t,n,e))}removeAttribute(t){this.doc!==null?Fr(this.doc,n=>{Th(n,this,t)}):this._pending.push(()=>this.removeAttribute(t))}setAttribute(t,n){this.doc!==null?Fr(this.doc,e=>{y0(e,this,t,n)}):this._pending.push(()=>this.setAttribute(t,n))}getAttribute(t){return v0(this,t)}getAttributes(){return RE(this)}_write(t){t.writeTypeRef(m3)}}class w0{constructor(t,n=()=>!0){this._filter=n,this._root=t,this._currentNode=t._start,this._firstCall=!0}[Symbol.iterator](){return this}next(){let t=this._currentNode,n=t&&t.content&&t.content.type;if(t!==null&&(!this._firstCall||t.deleted||!this._filter(n)))do if(n=t.content.type,!t.deleted&&(n.constructor===Xd||n.constructor===pu)&&n._start!==null)t=n._start;else for(;t!==null;)if(t.right!==null){t=t.right;break}else t.parent===this._root?t=null:t=t.parent._item;while(t!==null&&(t.deleted||!this._filter(t.content.type)));return this._firstCall=!1,t===null?{value:void 0,done:!0}:(this._currentNode=t,{value:t.content.type,done:!1})}}class pu extends Mo{constructor(){super(),this._prelimContent=[]}get firstChild(){const t=this._first;return t?t.content.getContent()[0]:null}_integrate(t,n){super._integrate(t,n),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new pu}clone(){const t=new pu;return t.insert(0,this.toArray().map(n=>n instanceof Mo?n.clone():n)),t}get length(){return this._prelimContent===null?this._length:this._prelimContent.length}createTreeWalker(t){return new w0(this,t)}querySelector(t){t=t.toUpperCase();const e=new w0(this,s=>s.nodeName&&s.nodeName.toUpperCase()===t).next();return e.done?null:e.value}querySelectorAll(t){return t=t.toUpperCase(),su(new w0(this,n=>n.nodeName&&n.nodeName.toUpperCase()===t))}_callObserver(t,n){jh(this,t,new d3(this,n,t))}toString(){return OE(this,t=>t.toString()).join("")}toJSON(){return this.toString()}toDOM(t=document,n={},e){const s=t.createDocumentFragment();return e!==void 0&&e._createAssociation(s,this),Qd(this,r=>{s.insertBefore(r.toDOM(t,n,e),null)}),s}insert(t,n){this.doc!==null?Fr(this.doc,e=>{IE(e,this,t,n)}):this._prelimContent.splice(t,0,...n)}insertAfter(t,n){if(this.doc!==null)Fr(this.doc,e=>{const s=t&&t instanceof Mo?t._item:t;kh(e,this,s,n)});else{const e=this._prelimContent,s=t===null?0:e.findIndex(r=>r===t)+1;if(s===0&&t!==null)throw cu("Reference item not found");e.splice(s,0,...n)}}delete(t,n=1){this.doc!==null?Fr(this.doc,e=>{ME(e,this,t,n)}):this._prelimContent.splice(t,n)}toArray(){return AE(this)}push(t){this.insert(this.length,t)}unshift(t){this.insert(0,t)}get(t){return NE(this,t)}slice(t=0,n=this.length){return TE(this,t,n)}forEach(t){Qd(this,t)}_write(t){t.writeTypeRef(v3)}}class Xd extends pu{constructor(t="UNDEFINED"){super(),this.nodeName=t,this._prelimAttrs=new Map}get nextSibling(){const t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){const t=this._item?this._item.prev:null;return t?t.content.type:null}_integrate(t,n){super._integrate(t,n),this._prelimAttrs.forEach((e,s)=>{this.setAttribute(s,e)}),this._prelimAttrs=null}_copy(){return new Xd(this.nodeName)}clone(){const t=new Xd(this.nodeName),n=this.getAttributes();return hM(n,(e,s)=>{typeof e=="string"&&t.setAttribute(s,e)}),t.insert(0,this.toArray().map(e=>e instanceof Mo?e.clone():e)),t}toString(){const t=this.getAttributes(),n=[],e=[];for(const a in t)e.push(a);e.sort();const s=e.length;for(let a=0;a<s;a++){const c=e[a];n.push(c+'="'+t[c]+'"')}const r=this.nodeName.toLocaleLowerCase(),o=n.length>0?" "+n.join(" "):"";return`<${r}${o}>${super.toString()}</${r}>`}removeAttribute(t){this.doc!==null?Fr(this.doc,n=>{Th(n,this,t)}):this._prelimAttrs.delete(t)}setAttribute(t,n){this.doc!==null?Fr(this.doc,e=>{y0(e,this,t,n)}):this._prelimAttrs.set(t,n)}getAttribute(t){return v0(this,t)}hasAttribute(t){return DE(this,t)}getAttributes(t){return t?i3(this,t):RE(this)}toDOM(t=document,n={},e){const s=t.createElement(this.nodeName),r=this.getAttributes();for(const o in r){const a=r[o];typeof a=="string"&&s.setAttribute(o,a)}return Qd(this,o=>{s.appendChild(o.toDOM(t,n,e))}),e!==void 0&&e._createAssociation(s,this),s}_write(t){t.writeTypeRef(y3),t.writeKey(this.nodeName)}}class d3 extends Eh{constructor(t,n,e){super(t,e),this.childListChanged=!1,this.attributesChanged=new Set,n.forEach(s=>{s===null?this.childListChanged=!0:this.attributesChanged.add(s)})}}class JE{constructor(t,n){this.id=t,this.length=n}get deleted(){throw Cs()}mergeWith(t){return!1}write(t,n,e){throw Cs()}integrate(t,n){throw Cs()}}const f3=0;class Ga extends JE{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor!==t.constructor?!1:(this.length+=t.length,!0)}integrate(t,n){n>0&&(this.id.clock+=n,this.length-=n),bE(t.doc.store,this)}write(t,n){t.writeInfo(f3),t.writeLen(this.length-n)}getMissing(t,n){return null}}class Ph{constructor(t){this.content=t}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new Ph(this.content)}splice(t){throw Cs()}mergeWith(t){return!1}integrate(t,n){}delete(t){}gc(t){}write(t,n){t.writeBuf(this.content)}getRef(){return 3}}class Ih{constructor(t){this.len=t}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new Ih(this.len)}splice(t){const n=new Ih(this.len-t);return this.len=t,n}mergeWith(t){return this.len+=t.len,!0}integrate(t,n){pE(t.deleteSet,n.id.client,n.id.clock,this.len),n.markDeleted()}delete(t){}gc(t){}write(t,n){t.writeLen(this.len-n)}getRef(){return 1}}const p3=(l,t)=>new Yd({guid:l,...t,shouldLoad:t.shouldLoad||t.autoLoad||!1});class Mh{constructor(t){t._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=t;const n={};this.opts=n,t.gc||(n.gc=!1),t.autoLoad&&(n.autoLoad=!0),t.meta!==null&&(n.meta=t.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new Mh(p3(this.doc.guid,this.opts))}splice(t){throw Cs()}mergeWith(t){return!1}integrate(t,n){this.doc._item=n,t.subdocsAdded.add(this.doc),this.doc.shouldLoad&&t.subdocsLoaded.add(this.doc)}delete(t){t.subdocsAdded.has(this.doc)?t.subdocsAdded.delete(this.doc):t.subdocsRemoved.add(this.doc)}gc(t){}write(t,n){t.writeString(this.doc.guid),t.writeAny(this.opts)}getRef(){return 9}}class hu{constructor(t){this.embed=t}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new hu(this.embed)}splice(t){throw Cs()}mergeWith(t){return!1}integrate(t,n){}delete(t){}gc(t){}write(t,n){t.writeJSON(this.embed)}getRef(){return 5}}class Eo{constructor(t,n){this.key=t,this.value=n}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new Eo(this.key,this.value)}splice(t){throw Cs()}mergeWith(t){return!1}integrate(t,n){const e=n.parent;e._searchMarker=null,e._hasFormatting=!0}delete(t){}gc(t){}write(t,n){t.writeKey(this.key),t.writeJSON(this.value)}getRef(){return 6}}class gu{constructor(t){this.arr=t}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new gu(this.arr)}splice(t){const n=new gu(this.arr.slice(t));return this.arr=this.arr.slice(0,t),n}mergeWith(t){return this.arr=this.arr.concat(t.arr),!0}integrate(t,n){}delete(t){}gc(t){}write(t,n){const e=this.arr.length;t.writeLen(e-n);for(let s=n;s<e;s++){const r=this.arr[s];t.writeAny(r)}}getRef(){return 8}}class sa{constructor(t){this.str=t}getLength(){return this.str.length}getContent(){return this.str.split("")}isCountable(){return!0}copy(){return new sa(this.str)}splice(t){const n=new sa(this.str.slice(t));this.str=this.str.slice(0,t);const e=this.str.charCodeAt(t-1);return e>=55296&&e<=56319&&(this.str=this.str.slice(0,t-1)+"�",n.str="�"+n.str.slice(1)),n}mergeWith(t){return this.str+=t.str,!0}integrate(t,n){}delete(t){}gc(t){}write(t,n){t.writeString(n===0?this.str:this.str.slice(n))}getRef(){return 4}}const h3=0,g3=1,m3=2,y3=3,v3=4;class $a{constructor(t){this.type=t}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new $a(this.type._copy())}splice(t){throw Cs()}mergeWith(t){return!1}integrate(t,n){this.type._integrate(t.doc,n)}delete(t){let n=this.type._start;for(;n!==null;)n.deleted?n.id.clock<(t.beforeState.get(n.id.client)||0)&&t._mergeStructs.push(n):n.delete(t),n=n.right;this.type._map.forEach(e=>{e.deleted?e.id.clock<(t.beforeState.get(e.id.client)||0)&&t._mergeStructs.push(e):e.delete(t)}),t.changed.delete(this.type)}gc(t){let n=this.type._start;for(;n!==null;)n.gc(t,!0),n=n.right;this.type._start=null,this.type._map.forEach(e=>{for(;e!==null;)e.gc(t,!0),e=e.left}),this.type._map=new Map}write(t,n){this.type._write(t)}getRef(){return 7}}const VE=(l,t,n)=>{const{client:e,clock:s}=t.id,r=new Wo(Qr(e,s+n),t,Qr(e,s+n-1),t.right,t.rightOrigin,t.parent,t.parentSub,t.content.splice(n));return t.deleted&&r.markDeleted(),t.keep&&(r.keep=!0),t.redone!==null&&(r.redone=Qr(t.redone.client,t.redone.clock+n)),t.right=r,r.right!==null&&(r.right.left=r),l._mergeStructs.push(r),r.parentSub!==null&&r.right===null&&r.parent._map.set(r.parentSub,r),t.length=n,r};class Wo extends JE{constructor(t,n,e,s,r,o,a,c){super(t,c.getLength()),this.origin=e,this.left=n,this.right=s,this.rightOrigin=r,this.parent=o,this.parentSub=a,this.redone=null,this.content=c,this.info=this.content.isCountable()?JS:0}set marker(t){(this.info&Xy)>0!==t&&(this.info^=Xy)}get marker(){return(this.info&Xy)>0}get keep(){return(this.info&WS)>0}set keep(t){this.keep!==t&&(this.info^=WS)}get countable(){return(this.info&JS)>0}get deleted(){return(this.info&Qy)>0}set deleted(t){this.deleted!==t&&(this.info^=Qy)}markDeleted(){this.info|=Qy}getMissing(t,n){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=di(n,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=di(n,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===wh&&this.id.client!==this.parent.client&&this.parent.clock>=di(n,this.parent.client))return this.parent.client;if(this.origin&&(this.left=_E(t,n,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=Va(t,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===Ga||this.right&&this.right.constructor===Ga)this.parent=null;else if(!this.parent)this.left&&this.left.constructor===Wo&&(this.parent=this.left.parent,this.parentSub=this.left.parentSub),this.right&&this.right.constructor===Wo&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);else if(this.parent.constructor===wh){const e=h0(n,this.parent);e.constructor===Ga?this.parent=null:this.parent=e.content.type}return null}integrate(t,n){if(n>0&&(this.id.clock+=n,this.left=_E(t,t.doc.store,Qr(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(n),this.length-=n),this.parent){if(!this.left&&(!this.right||this.right.left!==null)||this.left&&this.left.right!==this.right){let e=this.left,s;if(e!==null)s=e.right;else if(this.parentSub!==null)for(s=this.parent._map.get(this.parentSub)||null;s!==null&&s.left!==null;)s=s.left;else s=this.parent._start;const r=new Set,o=new Set;for(;s!==null&&s!==this.right;){if(o.add(s),r.add(s),xh(this.origin,s.origin)){if(s.id.client<this.id.client)e=s,r.clear();else if(xh(this.rightOrigin,s.rightOrigin))break}else if(s.origin!==null&&o.has(h0(t.doc.store,s.origin)))r.has(h0(t.doc.store,s.origin))||(e=s,r.clear());else break;s=s.right}this.left=e}if(this.left!==null){const e=this.left.right;this.right=e,this.left.right=this}else{let e;if(this.parentSub!==null)for(e=this.parent._map.get(this.parentSub)||null;e!==null&&e.left!==null;)e=e.left;else e=this.parent._start,this.parent._start=this;this.right=e}this.right!==null?this.right.left=this:this.parentSub!==null&&(this.parent._map.set(this.parentSub,this),this.left!==null&&this.left.delete(t)),this.parentSub===null&&this.countable&&!this.deleted&&(this.parent._length+=this.length),bE(t.doc.store,this),this.content.integrate(t,this),SE(t,this.parent,this.parentSub),(this.parent._item!==null&&this.parent._item.deleted||this.parentSub!==null&&this.right!==null)&&this.delete(t)}else new Ga(this.id,this.length).integrate(t,0)}get next(){let t=this.right;for(;t!==null&&t.deleted;)t=t.right;return t}get prev(){let t=this.left;for(;t!==null&&t.deleted;)t=t.left;return t}get lastId(){return this.length===1?this.id:Qr(this.id.client,this.id.clock+this.length-1)}mergeWith(t){if(this.constructor===t.constructor&&xh(t.origin,this.lastId)&&this.right===t&&xh(this.rightOrigin,t.rightOrigin)&&this.id.client===t.id.client&&this.id.clock+this.length===t.id.clock&&this.deleted===t.deleted&&this.redone===null&&t.redone===null&&this.content.constructor===t.content.constructor&&this.content.mergeWith(t.content)){const n=this.parent._searchMarker;return n&&n.forEach(e=>{e.p===t&&(e.p=this,!this.deleted&&this.countable&&(e.index-=this.length))}),t.keep&&(this.keep=!0),this.right=t.right,this.right!==null&&(this.right.left=this),this.length+=t.length,!0}return!1}delete(t){if(!this.deleted){const n=this.parent;this.countable&&this.parentSub===null&&(n._length-=this.length),this.markDeleted(),pE(t.deleteSet,this.id.client,this.id.clock,this.length),SE(t,n,this.parentSub),this.content.delete(t)}}gc(t,n){if(!this.deleted)throw Hl();this.content.gc(t),n?$M(t,this,new Ga(this.id,this.length)):this.content=new Ih(this.length)}write(t,n){const e=n>0?Qr(this.id.client,this.id.clock+n-1):this.origin,s=this.rightOrigin,r=this.parentSub,o=this.content.getRef()&U5|(e===null?0:bh)|(s===null?0:VS)|(r===null?0:z5);if(t.writeInfo(o),e!==null&&t.writeLeftID(e),s!==null&&t.writeRightID(s),e===null&&s===null){const a=this.parent;if(a._item!==void 0){const c=a._item;if(c===null){const i=KM(a);t.writeParentInfo(!0),t.writeString(i)}else t.writeParentInfo(!1),t.writeLeftID(c.id)}else a.constructor===String?(t.writeParentInfo(!0),t.writeString(a)):a.constructor===wh?(t.writeParentInfo(!1),t.writeLeftID(a)):Hl();r!==null&&t.writeString(r)}this.content.write(t,n)}}const KE=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:{},GE="__ $YJS$ __";KE[GE]===!0&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438"),KE[GE]=!0;function b3(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}b3(function(l){const t=new URLSearchParams;t.append("code",l);for(let n=1;n<arguments.length;n++)t.append("v",arguments[n]);throw Error(`Minified Lexical error #${l}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)});const _3=po();function $E(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)}function w3(){const l=new Date,t=String(l.getHours()).padStart(2,"0"),n=String(l.getMinutes()).padStart(2,"0");return`${t}:${n}`}function YE(){return new Date().toLocaleDateString("en-US",{month:"short",day:"numeric"})}console.log(YE());function Rh(l,t,n,e,s,r,o){return{author:t,content:l,deleted:o===void 0?!1:o,id:r===void 0?$E():r,timeStamp:s===void 0?`${w3()} - ${YE()}`:s,type:"comment",userEmail:n===void 0?"":n,mentionedEmails:e===void 0?[]:e}}function ZE(l,t,n,e){return console.log("wpAndTaskId 2222222222222",e),{comments:t,id:n===void 0?$E():n,quote:l,type:"thread",resolved:!1,wpAndTaskId:e}}function QE(l){return console.log("thread clone is called",l),{comments:Array.from(l.comments),id:l.id,quote:l.quote,type:"thread",resolved:l.resolved,wpAndTaskId:l.wpAndTaskId}}function x3(l){return{author:l.author,content:"[Deleted Comment]",deleted:!0,id:l.id,timeStamp:l.timeStamp,type:"comment",userEmail:l.userEmail,mentionedEmails:l.mentionedEmails}}function Dh(l){const t=l._changeListeners;for(const n of t)n()}class ef{constructor(t){Hn(this,"_editor");Hn(this,"_comments");Hn(this,"_changeListeners");Hn(this,"_collabProvider");this._comments=[],this._editor=t,this._collabProvider=null,this._changeListeners=new Set}isCollaborative(){return this._collabProvider!==null}getComments(){return this._comments}setComments(t){this._comments=t,Dh(this)}addComment(t,n,e){const s=Array.from(this._comments),r=this._getCollabComments();if(n!==void 0&&t.type==="comment")for(let o=0;o<s.length;o++){const a=s[o];if(a.type==="thread"&&a.id===n.id){const c=QE(a);s.splice(o,1,c);const i=e!==void 0?e:c.comments.length;if(this.isCollaborative()&&r!==null){const u=r.get(o).get("comments");this._withRemoteTransaction(()=>{const d=this._createCollabSharedMap(t);u.insert(i,[d])})}c.comments.splice(i,0,t);break}}else{const o=e!==void 0?e:s.length;this.isCollaborative()&&r!==null&&this._withRemoteTransaction(()=>{const a=this._createCollabSharedMap(t);r.insert(o,[a])}),s.splice(o,0,t)}this._comments=s,Dh(this)}deleteCommentOrThread(t,n){const e=Array.from(this._comments),s=this._getCollabComments();let r=null;if(n!==void 0)for(let o=0;o<e.length;o++){const a=e[o];if(a.type==="thread"&&a.id===n.id){const c=QE(a);e.splice(o,1,c);const i=c.comments;if(r=i.indexOf(t),this.isCollaborative()&&s!==null){const u=s.get(o).get("comments");this._withRemoteTransaction(()=>{u.delete(r)})}i.splice(r,1);break}}else r=e.indexOf(t),this.isCollaborative()&&s!==null&&this._withRemoteTransaction(()=>{s.delete(r)}),e.splice(r,1);return this._comments=e,Dh(this),t.type==="comment"?{index:r,markedComment:x3(t)}:null}resolveThread(t){const n={...t,resolved:!0},e=this._comments.map(s=>s.type==="thread"&&s.id===n.id?n:s);this._comments=e,Dh(this)}registerOnChange(t){const n=this._changeListeners;return n.add(t),()=>{n.delete(t)}}_withRemoteTransaction(t){const n=this._collabProvider;n!==null&&n.doc.transact(t,this)}_withLocalTransaction(t){const n=this._collabProvider;try{this._collabProvider=null,t()}finally{this._collabProvider=n}}_getCollabComments(){const t=this._collabProvider;return t!==null?t.doc.get("comments",ql):null}_createCollabSharedMap(t){const n=new du,e=t.type,s=t.id;if(n.set("type",e),n.set("id",s),e==="comment")n.set("author",t.author),n.set("content",t.content),n.set("deleted",t.deleted),n.set("timeStamp",t.timeStamp),n.set("userEmail",t.userEmail);else{n.set("quote",t.quote);const r=new ql;t.comments.forEach((o,a)=>{const c=this._createCollabSharedMap(o);r.insert(a,[c])}),n.set("comments",r)}return n}registerCollaboration(t){this._collabProvider=t;const n=this._getCollabComments(),e=()=>{t.connect()},s=()=>{try{t.disconnect()}catch{}},r=this._editor.registerCommand(_3,a=>(e!==void 0&&s!==void 0&&(a?(console.log("Comments connected!"),e()):(console.log("Comments disconnected!"),s())),!1),Jn),o=(a,c)=>{if(c.origin!==this)for(let i=0;i<a.length;i++){const u=a[i];if(u instanceof LE){const d=u.target,f=u.delta;let p=0;for(let h=0;h<f.length;h++){const m=f[h],g=m.insert,b=m.retain,v=m.delete,_=d.parent,E=d===n?void 0:_ instanceof du&&this._comments.find(S=>S.id===_.get("id"));if(Array.isArray(g))g.slice().reverse().forEach(S=>{const w=S.get("id"),x=S.get("type")==="thread"?ZE(S.get("quote"),S.get("comments").toArray().map(C=>Rh(C.get("content"),C.get("author"),C.get("userEmail"),C.get("mentionedEmails"),C.get("timeStamp"),C.get("id"),C.get("deleted"))),w,S.get("wpAndTaskId")):Rh(S.get("content"),S.get("author"),S.get("userEmail"),S.get("mentionedEmails"),w,S.get("timeStamp"),S.get("deleted"));this._withLocalTransaction(()=>{this.addComment(x,E,p)})});else if(typeof b=="number")p+=b;else if(typeof v=="number")for(let S=0;S<v;S++){const w=E===void 0||E===!1?this._comments[p]:E.comments[p];this._withLocalTransaction(()=>{this.deleteCommentOrThread(w,E)}),p++}}}}};return n===null?()=>null:(n.observeDeep(o),e(),()=>{n.unobserveDeep(o),r(),this._collabProvider=null})}}function S3(l){const[t,n]=he.useState(l.getComments());return he.useEffect(()=>l.registerOnChange(()=>{n(l.getComments())}),[l]),t}const JD="",E3={...sy,paragraph:"CommentEditorTheme__paragraph"},C3="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjNWY2MzY4Ij48cGF0aCBkPSJNNDQwLTQwMGg4MHYtMTIwaDEyMHYtODBINTIwdi0xMjBoLTgwdjEyMEgzMjB2ODBoMTIwdjEyMFpNODAtODB2LTcyMHEwLTMzIDIzLjUtNTYuNVQxNjAtODgwaDY0MHEzMyAwIDU2LjUgMjMuNVQ4ODAtODAwdjQ4MHEwIDMzLTIzLjUgNTYuNVQ4MDAtMjQwSDI0MEw4MC04MFptMTI2LTI0MGg1OTR2LTQ4MEgxNjB2NTI1bDQ2LTQ1Wm0tNDYgMHYtNDgwIDQ4MFoiLz48L3N2Zz4NCg==",j3="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMTIyLjg4MXB4IiBoZWlnaHQ9Ijg5Ljg0MnB4IiB2aWV3Qm94PSIwIDAgMTIyLjg4MSA4OS44NDIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEyMi44ODEgODkuODQyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48Zz48cGF0aCBkPSJNMS4yMzIsNTUuNTQxYy0xLjUzMy0xLjM4OC0xLjY1Mi0zLjc1Ni0wLjI2NS01LjI4OWMxLjM4OC0xLjUzNCwzLjc1Ni0xLjY1Miw1LjI5LTAuMjY1bDM0LjA1MywzMC44NzhsNzYuMDk5LTc5LjY5OSBjMS40MjktMS41MDEsMy44MDQtMS41NjEsNS4zMDUtMC4xMzJjMS41MDIsMS40MjgsMS41NjEsMy44MDMsMC4xMzMsNS4zMDVMNDMuMjIzLDg4LjY4M2wtMC4wMDUtMC4wMDUgYy0xLjM5NiwxLjQ2OC0zLjcxNiwxLjU2My01LjIyNywwLjE5NkwxLjIzMiw1NS41NDFMMS4yMzIsNTUuNTQxeiIvPjwvZz48L3N2Zz4=",k3="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBVcGxvYWRlZCB0bzogU1ZHIFJlcG8sIHd3dy5zdmdyZXBvLmNvbSwgR2VuZXJhdG9yOiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4NCjxzdmcgZmlsbD0iIzAwMDAwMCIgaGVpZ2h0PSI4MDBweCIgd2lkdGg9IjgwMHB4IiB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIA0KCSB2aWV3Qm94PSIwIDAgNDkwIDQ5MCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cG9seWdvbiBwb2ludHM9IjQ1Ni44NTEsMCAyNDUsMjEyLjU2NCAzMy4xNDksMCAwLjcwOCwzMi4zMzcgMjEyLjY2OSwyNDUuMDA0IDAuNzA4LDQ1Ny42NzggMzMuMTQ5LDQ5MCAyNDUsMjc3LjQ0MyA0NTYuODUxLDQ5MCANCgk0ODkuMjkyLDQ1Ny42NzggMjc3LjMzMSwyNDUuMDA0IDQ4OS4yOTIsMzIuMzM3ICIvPg0KPC9zdmc+",T3=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;let XE=class{constructor(t){this.key=t,this.ref={current:null},this.setRefElement=this.setRefElement.bind(this)}setRefElement(t){this.ref={current:t}}};const eC=l=>{const t=document.getElementById("typeahead-menu");if(!t)return;const n=t.getBoundingClientRect();n.top+n.height>window.innerHeight&&t.scrollIntoView({block:"center"}),n.top<0&&t.scrollIntoView({block:"center"}),l.scrollIntoView({block:"nearest"})};function tC(l,t){const n=l.getBoundingClientRect(),e=t.getBoundingClientRect();return n.top>e.top&&n.top<e.bottom}function A3(l,t,n,e){const[s]=yn();he.useEffect(()=>{if(t!=null&&l!=null){const r=s.getRootElement(),o=r!=null?function(d,f){let p=getComputedStyle(d);const h=p.position==="absolute",m=/(auto|scroll)/;if(p.position==="fixed")return document.body;for(let g=d;g=g.parentElement;)if(p=getComputedStyle(g),(!h||p.position!=="static")&&m.test(p.overflow+p.overflowY+p.overflowX))return g;return document.body}(r):document.body;let a=!1,c=tC(t,o);const i=function(){a||(window.requestAnimationFrame(function(){n(),a=!1}),a=!0);const d=tC(t,o);d!==c&&(c=d,e!=null&&e(d))},u=new ResizeObserver(n);return window.addEventListener("resize",n),document.addEventListener("scroll",i,{capture:!0,passive:!0}),u.observe(t),()=>{u.unobserve(t),window.removeEventListener("resize",n),document.removeEventListener("scroll",i,!0)}}},[t,s,e,n,l])}const nC=po();function O3({close:l,editor:t,anchorElementRef:n,resolution:e,options:s,menuRenderFn:r,onSelectOption:o,shouldSplitNodeWithQuery:a=!1,commandPriority:c=Jn}){const[i,u]=he.useState(null),d=e.match&&e.match.matchingString;he.useEffect(()=>{u(0)},[d]);const f=he.useCallback(h=>{t.update(()=>{const m=e.match!=null&&a?function(g){const b=jt();if(!St(b)||!b.isCollapsed())return null;const v=b.anchor;if(v.type!=="text")return null;const _=v.getNode();if(!_.isSimpleText())return null;const E=v.offset,S=_.getTextContent().slice(0,E),w=g.replaceableString.length,y=E-function(C,T,R){let F=R;for(let I=F;I<=T.length;I++)C.substr(-I)===T.substr(0,I)&&(F=I);return F}(S,g.matchingString,w);if(y<0)return null;let x;return y===0?[x]=_.splitText(E):[,x]=_.splitText(y,E),x}(e.match):null;o(h,m,l,e.match?e.match.matchingString:"")})},[t,a,e.match,o,l]),p=he.useCallback(h=>{const m=t.getRootElement();m!==null&&(m.setAttribute("aria-activedescendant","typeahead-item-"+h),u(h))},[t]);return he.useEffect(()=>()=>{const h=t.getRootElement();h!==null&&h.removeAttribute("aria-activedescendant")},[t]),T3(()=>{s===null?u(null):i===null&&p(0)},[s,i,p]),he.useEffect(()=>wr(t.registerCommand(nC,({option:h})=>!(!h.ref||h.ref.current==null)&&(eC(h.ref.current),!0),c)),[t,p,c]),he.useEffect(()=>wr(t.registerCommand(Wu,h=>{const m=h;if(s!==null&&s.length&&i!==null){const g=i!==s.length-1?i+1:0;p(g);const b=s[g];b.ref!=null&&b.ref.current&&t.dispatchCommand(nC,{index:g,option:b}),m.preventDefault(),m.stopImmediatePropagation()}return!0},c),t.registerCommand(qu,h=>{const m=h;if(s!==null&&s.length&&i!==null){const g=i!==0?i-1:s.length-1;p(g);const b=s[g];b.ref!=null&&b.ref.current&&eC(b.ref.current),m.preventDefault(),m.stopImmediatePropagation()}return!0},c),t.registerCommand(Fs,h=>{const m=h;return m.preventDefault(),m.stopImmediatePropagation(),l(),!0},c),t.registerCommand(Ju,h=>{const m=h;return s!==null&&i!==null&&s[i]!=null&&(m.preventDefault(),m.stopImmediatePropagation(),f(s[i]),!0)},c),t.registerCommand(Ls,h=>s!==null&&i!==null&&s[i]!=null&&(h!==null&&(h.preventDefault(),h.stopImmediatePropagation()),f(s[i]),!0),c)),[f,l,t,s,i,p,c]),r(n,he.useMemo(()=>({options:s,selectOptionAndCleanUp:f,selectedIndex:i,setHighlightedIndex:u}),[f,i,s]),e.match?e.match.matchingString:"")}const N3=`\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'"~=<>_:;`;function rC(l,{minLength:t=1,maxLength:n=75}){return he.useCallback(e=>{const s=new RegExp("(^|\\s|\\()(["+l+"]((?:"+("[^"+l+N3+"\\s]")+"){0,"+n+"}))$").exec(e);if(s!==null){const r=s[1],o=s[3];if(o.length>=t)return{leadOffset:s.index+r.length,matchingString:o,replaceableString:s[2]}}return null},[n,t,l])}function oC({options:l,onQueryChange:t,onSelectOption:n,onOpen:e,onClose:s,menuRenderFn:r,triggerFn:o,anchorClassName:a,commandPriority:c=Jn,parent:i}){const[u]=yn(),[d,f]=he.useState(null),p=function(g,b,v,_=document.body){const[E]=yn(),S=he.useRef(document.createElement("div")),w=he.useCallback(()=>{S.current.style.top=S.current.style.bottom;const x=E.getRootElement(),C=S.current,T=C.firstChild;if(x!==null&&g!==null){const{left:R,top:F,width:I,height:B}=g.getRect(),A=S.current.offsetHeight;if(C.style.top=`${F+window.pageYOffset+A+3}px`,C.style.left=`${R+window.pageXOffset}px`,C.style.height=`${B}px`,C.style.width=`${I}px`,T!==null){T.style.top=`${F}`;const j=T.getBoundingClientRect(),O=j.height,L=j.width,N=x.getBoundingClientRect();R+L>N.right&&(C.style.left=`${N.right-L+window.pageXOffset}px`),(F+O>window.innerHeight||F+O>N.bottom)&&F-N.top>O+B&&(C.style.top=F-O+window.pageYOffset-B+"px")}C.isConnected||(v!=null&&(C.className=v),C.setAttribute("aria-label","Typeahead menu"),C.setAttribute("id","typeahead-menu"),C.setAttribute("role","listbox"),C.style.display="block",C.style.position="absolute",_.append(C)),S.current=C,x.setAttribute("aria-controls","typeahead-menu")}},[E,g,v,_]);he.useEffect(()=>{const x=E.getRootElement();if(g!==null)return w(),()=>{x!==null&&x.removeAttribute("aria-controls");const C=S.current;C!==null&&C.isConnected&&C.remove()}},[E,w,g]);const y=he.useCallback(x=>{g!==null&&(x||b(null))},[g,b]);return A3(g,S.current,w,y),S}(d,f,a,i),h=he.useCallback(()=>{f(null),s!=null&&d!==null&&s()},[s,d]),m=he.useCallback(g=>{f(g),e!=null&&d===null&&e(g)},[e,d]);return he.useEffect(()=>{const g=u.registerUpdateListener(()=>{u.getEditorState().read(()=>{const b=u._window||window,v=b.document.createRange(),_=jt(),E=function(y){let x=null;return y.getEditorState().read(()=>{const C=jt();St(C)&&(x=function(T){const R=T.anchor;if(R.type!=="text")return null;const F=R.getNode();if(!F.isSimpleText())return null;const I=R.offset;return F.getTextContent().slice(0,I)}(C))}),x}(u);if(!St(_)||!_.isCollapsed()||E===null||v===null)return void h();const S=o(E,u);if(t(S?S.matchingString:null),S!==null&&!function(y,x){return x===0&&y.getEditorState().read(()=>{const C=jt();if(St(C)){const T=C.anchor.getNode().getPreviousSibling();return Jt(T)&&T.isTextEntity()}return!1})}(u,S.leadOffset)&&function(x,C,T){const R=T.getSelection();if(R===null||!R.isCollapsed)return!1;const F=R.anchorNode,I=x,B=R.anchorOffset;if(F==null||B==null)return!1;try{C.setStart(F,I),C.setEnd(F,B)}catch{return!1}return!0}(S.leadOffset,v,b)!==null)return w=()=>m({getRect:()=>v.getBoundingClientRect(),match:S}),void(ir.startTransition?ir.startTransition(w):w());var w;h()})});return()=>{g()}},[u,o,t,d,h,m]),d===null||u===null?null:ae.jsx(O3,{close:h,resolution:d,editor:u,anchorElementRef:p,options:l,menuRenderFn:r,shouldSplitNodeWithQuery:!0,onSelectOption:n,commandPriority:c})}const iC=`\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'"~=<>_:;`,sC={NAME:"\\b[A-Z][^\\s"+iC+"]",PUNCTUATION:iC}.PUNCTUATION,x0=["@"].join(""),aC="[^"+x0+sC+"\\s]",P3="(?:\\.[ |$]| |["+sC+"]|)",I3=75,M3=new RegExp("(^|\\s|\\()(["+x0+"]((?:"+aC+P3+"){0,"+I3+"}))$"),R3=50,D3=new RegExp("(^|\\s|\\()(["+x0+"]((?:"+aC+"){0,"+R3+"}))$"),L3=5,S0=new Map,F3={search(l,t,n){setTimeout(()=>{const e=l.filter(s=>s.name.toLowerCase().includes(t.toLowerCase()));n(e)},500)}};function B3(l,t){const[n,e]=he.useState([]);return he.useEffect(()=>{const s=S0.get(l);if(l==null){e([]);return}if(s!==null){if(s!==void 0){e(s);return}S0.set(l,null),F3.search(t,l,r=>{S0.set(l,r),e(r)})}},[l,t]),n}function z3(l,t){let n=M3.exec(l);if(n===null&&(n=D3.exec(l)),n!==null){const e=n[1],s=n[3];if(s.length>=t)return{leadOffset:n.index+e.length,matchingString:s,replaceableString:n[2]}}return null}function U3(l){return z3(l,1)}class H3 extends XE{constructor(n,e,s){super(n);Hn(this,"name");Hn(this,"email");Hn(this,"picture");this.name=n,this.email=e,this.picture=s}}function q3({index:l,isSelected:t,onClick:n,onMouseEnter:e,option:s}){let r="item";return t&&(r+=" selected"),ae.jsxs("li",{tabIndex:-1,className:r,ref:s.setRefElement,role:"option","aria-selected":t,id:"typeahead-item-"+l,onMouseEnter:e,onClick:n,children:[s.picture,ae.jsx("span",{className:"text",children:s.name})]},s.key)}function W3({mentionItems:l,setmentionedEmails:t}){const[n]=yn(),[e,s]=he.useState(null),r=B3(e,l),o=rC("/",{minLength:0}),a=he.useMemo(()=>r.map(u=>new H3(u.name,u.email,ae.jsx("i",{className:"icon user"}))).slice(0,L3),[r]),c=he.useCallback((u,d,f)=>{t(p=>[...p,u.email]),n.update(()=>{const p=Xm(`@${u.name}`);d&&d.replace(p),p.select(),f()})},[n]),i=he.useCallback(u=>o(u,n)!==null?null:U3(u),[o,n]);return ae.jsx(oC,{onQueryChange:s,onSelectOption:c,triggerFn:i,options:a,menuRenderFn:(u,{selectedIndex:d,selectOptionAndCleanUp:f,setHighlightedIndex:p})=>u.current&&r.length?kf.createPortal(ae.jsx("div",{className:"typeahead-popover mentions-menu",children:ae.jsx("ul",{children:a.map((h,m)=>ae.jsx(q3,{index:m,isSelected:d===m,onClick:()=>{p(m),f(h)},onMouseEnter:()=>{p(m)},option:h},h.key))})}),u.current):null})}const E0=po();function J3({anchorKey:l,editor:t,onAddComment:n}){const e=he.useRef(null),s=he.useCallback(()=>{const r=e.current,o=t.getRootElement(),a=t.getElementByKey(l);if(r!==null&&o!==null&&a!==null){const{right:c}=o.getBoundingClientRect(),{top:i}=a.getBoundingClientRect();r.style.left=`${c-20}px`,r.style.top=`${i-30}px`}},[l,t]);return he.useEffect(()=>(window.addEventListener("resize",s),()=>{window.removeEventListener("resize",s)}),[t,s]),ir.useLayoutEffect(()=>{s()},[l,t,s]),ae.jsx("div",{className:"CommentPlugin_AddCommentBox",ref:e,children:ae.jsx("button",{style:{display:"flex",justifyContent:"center",alignItems:"center"},className:"CommentPlugin_AddCommentBox_button",onClick:n,children:ae.jsx("img",{src:C3,alt:""})})})}function V3({onEscape:l}){const[t]=yn();return he.useEffect(()=>t.registerCommand(Fs,n=>l(n),2),[t,l]),null}function lC({className:l,autoFocus:t,onEscape:n,onChange:e,editorRef:s,placeholder:r="",mentionItems:o,setmentionedEmails:a}){const c={namespace:"Commenting",nodes:[xd],onError:i=>{throw i},theme:E3};return he.useEffect(()=>()=>{a([])},[]),ae.jsxs(fp,{initialConfig:c,children:[ae.jsxs("div",{className:"CommentPlugin_CommentInputBox_EditorContainer",children:[ae.jsx(xx,{contentEditable:ae.jsx(Pd,{className:l}),placeholder:ae.jsx(Id,{children:r}),ErrorBoundary:Dl}),ae.jsx(bx,{onChange:e}),ae.jsx(yp,{}),t!==!1&&ae.jsx(Lp,{}),ae.jsx(V3,{onEscape:n}),ae.jsx(yx,{}),s!==void 0&&ae.jsx(M5,{editorRef:s})]}),ae.jsx(W3,{mentionItems:o,setmentionedEmails:a})]})}function cC(l,t){return he.useCallback((n,e)=>{n.read(()=>{l(ay()),t(!ly(e.isComposing(),!0))})},[t,l])}function K3({editor:l,cancelAddComment:t,submitAddComment:n,userName:e,userEmail:s,mentionItems:r,mentionedEmails:o,setmentionedEmails:a,wpAndTaskId:c,setShowCommentInput:i}){const[u,d]=he.useState(""),[f,p]=he.useState(!1),h=he.useRef(null),m=he.useMemo(()=>({container:document.createElement("div"),elements:[]}),[]),g=he.useRef(null),b=fC(),v=he.useCallback(()=>{l.getEditorState().read(()=>{const w=jt();if(St(w)){g.current=w.clone();const y=w.anchor,x=w.focus,C=a_(l,y.getNode(),y.offset,x.getNode(),x.offset),T=h.current;if(C!==null&&T!==null){const{left:R,bottom:F,width:I}=C.getBoundingClientRect(),B=l_(l,C);let A=B.length===1?R+I/2-125:R-125;A<10&&(A=10),T.style.left=`${A}px`,T.style.top=`${F+20+(window.pageYOffset||document.documentElement.scrollTop)}px`;const j=B.length,{container:O}=m,L=m.elements,N=L.length;for(let U=0;U<j;U++){const D=B[U];let z=L[U];z===void 0&&(z=document.createElement("span"),L[U]=z,O.appendChild(z));const K="255, 212, 0",G=`position:absolute;top:${D.top+(window.pageYOffset||document.documentElement.scrollTop)}px;left:${D.left}px;height:${D.height}px;width:${D.width}px;background-color:rgba(${K}, 0.3);pointer-events:none;z-index:5;`;z.style.cssText=G}for(let U=N-1;U>=j;U--){const D=L[U];O.removeChild(D),L.pop()}}}})},[l,m]);ir.useLayoutEffect(()=>{v();const w=m.container,y=document.body;if(y!==null)return y.appendChild(w),()=>{y.removeChild(w)}},[m.container,v]),he.useEffect(()=>(window.addEventListener("resize",v),window.addEventListener("scroll",v,!0),()=>{window.removeEventListener("resize",v),window.removeEventListener("scroll",v,!0)}),[v]);const _=w=>(w.preventDefault(),t(),!0),E=()=>{if(console.log("this is called",c),f){let w=l.getEditorState().read(()=>{const y=g.current;return y?y.getTextContent():""});w.length>100&&(w=w.slice(0,99)+"…"),n(ZE(w,[Rh(u,e??b,s,o)],void 0,c),!0,void 0,g.current),g.current=null}},S=cC(d,p);return ae.jsxs("div",{className:"CommentPlugin_CommentInputBox",ref:h,children:[ae.jsx(lC,{className:"CommentPlugin_CommentInputBox_Editor",onEscape:_,onChange:S,mentionItems:r,setmentionedEmails:a}),ae.jsxs("div",{className:"CommentPlugin_CommentInputBox_Buttons",children:[ae.jsx(Fi,{onClick:t,className:"CommentPlugin_CommentInputBox_Button",children:"Cancel"}),ae.jsx(Fi,{onClick:E,disabled:!f,className:"CommentPlugin_CommentInputBox_Button primary",children:"Comment"})]})]})}function G3({submitAddComment:l,thread:t,placeholder:n,userName:e,userEmail:s,mentionItems:r,mentionedEmails:o,setmentionedEmails:a}){const[c,i]=he.useState(""),[u,d]=he.useState(!1),f=he.useRef(null),p=fC(),h=cC(i,d),m=()=>{if(u){a([]),l(Rh(c,e??p,s,o),!1,t);const g=f.current;g!==null&&g.dispatchCommand(Mf,void 0)}};return ae.jsxs(ae.Fragment,{children:[ae.jsx(lC,{className:"CommentPlugin_CommentsPanel_Editor",autoFocus:!1,onEscape:()=>!0,onChange:h,editorRef:f,placeholder:n,mentionItems:r,setmentionedEmails:a}),ae.jsx(Fi,{className:"CommentPlugin_CommentsPanel_SendButton",onClick:m,disabled:!u,children:ae.jsx("i",{className:"send"})})]})}function uC({commentOrThread:l,deleteCommentOrThread:t,onClose:n,thread:e=void 0}){return ae.jsxs(ae.Fragment,{children:["Are you sure you want to delete this ",l.type,"?",ae.jsxs("div",{className:"Modal__content",children:[ae.jsx(Fi,{onClick:()=>{t(l,e),n()},children:"Delete"})," ",ae.jsx(Fi,{onClick:()=>{n()},children:"Cancel"})]})]})}function dC({comment:l,deleteComment:t,thread:n,rtf:e,userName:s,userEmail:r,mentionedEmails:o,setmentionedEmails:a}){const[c,i]=Da();return ae.jsxs("li",{className:"CommentPlugin_CommentsPanel_List_Comment",children:[ae.jsxs("div",{className:"CommentPlugin_CommentsPanel_List_Details",children:[ae.jsx("span",{className:"CommentPlugin_CommentsPanel_List_Comment_Author",children:l.author}),ae.jsxs("span",{className:"CommentPlugin_CommentsPanel_List_Comment_Time",style:{fontSize:"13px"},children:["· ",l.timeStamp]})]}),ae.jsx("p",{className:l.deleted?"CommentPlugin_CommentsPanel_DeletedComment":"",style:{whiteSpace:"pre-wrap"},children:l.content.split(/(@\w+)/g).map((u,d)=>{if(!u.startsWith("@"))return u;const f=u.slice(1).toLowerCase();return(l.mentionedEmails??[]).some(h=>h.split("@")[0].toLowerCase()===f)?ae.jsx("span",{className:"CommentPlugin_Mention",children:u},d):u})}),!l.deleted&&ae.jsxs(ae.Fragment,{children:[s==l.author&&ae.jsx(Fi,{onClick:()=>{i("Delete Comment",u=>ae.jsx(uC,{commentOrThread:l,deleteCommentOrThread:t,thread:n,onClose:u}))},className:"CommentPlugin_CommentsPanel_List_DeleteButton",children:ae.jsx("i",{className:"delete"})}),c]})]})}function $3({activeIDs:l,comments:t,deleteCommentOrThread:n,listRef:e,submitAddComment:s,markNodeMap:r,userName:o,userEmail:a,resolveThread:c,mentionItems:i,mentionedEmails:u,setmentionedEmails:d,wpAndTaskId:f}){const[p]=yn(),[h,m]=he.useState(0),[g,b]=Da(),v=he.useMemo(()=>new Intl.RelativeTimeFormat("en",{localeMatcher:"best fit",numeric:"auto",style:"short"}),[]);he.useEffect(()=>{const E=setTimeout(()=>{m(h+1)},1e4);return()=>{clearTimeout(E)}},[h]),console.log("comments",t,f);const _=t.filter(E=>E.wpAndTaskId&&E.wpAndTaskId.workplanId===f.workplanId&&E.wpAndTaskId.taskId===f.taskId);return console.log("Filtered comments",_,f),ae.jsx("ul",{className:"CommentPlugin_CommentsPanel_List",ref:e,children:_.length>0?_.map(E=>{var w,y;const S=E.id;if(E.type==="thread"){const x=()=>{const C=r.get(S);if(C!==void 0&&(l===null||l.indexOf(S)===-1)){const T=document.activeElement;p.update(()=>{const R=Array.from(C)[0],F=Dn(R);Pl(F)&&F.selectStart()},{onUpdate(){T!==null&&T.focus()}})}};return ae.jsxs("li",{onClick:x,className:`CommentPlugin_CommentsPanel_List_Thread ${r.has(S)?"interactive":""} ${l.indexOf(S)===-1?"":"active"}`,children:[ae.jsxs("div",{className:"CommentPlugin_CommentsPanel_List_Thread_QuoteBox",children:[ae.jsxs("blockquote",{className:"CommentPlugin_CommentsPanel_List_Thread_Quote",children:[ae.jsx("span",{children:(w=E==null?void 0:E.comments[0])==null?void 0:w.author}),ae.jsx("img",{className:`add-toolbar-image-icon CommentPlugin_CommentsPanel_List_ResolveButton ${E!=null&&E.resolved?"opacity-full":""}`,src:j3,alt:"Resolve Comment",onClick:()=>c(E)})]}),o==((y=E==null?void 0:E.comments[0])==null?void 0:y.author)&&ae.jsx(Fi,{onClick:()=>{b("Delete Thread",C=>ae.jsx(uC,{commentOrThread:E,deleteCommentOrThread:n,onClose:C}))},className:"CommentPlugin_CommentsPanel_List_DeleteButton",children:ae.jsx("i",{className:"delete"})}),g]}),ae.jsx("ul",{className:"CommentPlugin_CommentsPanel_List_Thread_Comments",children:E&&E.comments&&E.comments.length&&E.comments.map(C=>C.deleted?null:ae.jsx(dC,{comment:C,deleteComment:n,thread:E,rtf:v,userName:o,userEmail:a},C.id))}),ae.jsx("div",{className:"CommentPlugin_CommentsPanel_List_Thread_Editor",children:!(E!=null&&E.resolved)&&ae.jsx("div",{className:"CommentPlugin_CommentsPanel_List_Thread_Editor",children:ae.jsx(G3,{submitAddComment:s,thread:E,userName:o,userEmail:a,mentionItems:i,mentionedEmails:u,setmentionedEmails:d})})})]},S)}return ae.jsx(dC,{comment:E,deleteComment:n,rtf:v,userName:o,userEmail:a},S)}):ae.jsx("div",{className:"CommentPlugin_CommentsPanel_Empty",children:"No Comments"})})}function Y3({activeIDs:l,deleteCommentOrThread:t,comments:n,submitAddComment:e,markNodeMap:s,userName:r,userEmail:o,resolveThread:a,setShowComments:c,mentionItems:i,mentionedEmails:u,setmentionedEmails:d,wpAndTaskId:f}){const p=he.useRef(null),h=n.length===0;return ae.jsxs("div",{className:"CommentPlugin_CommentsPanel",children:[ae.jsxs("div",{className:"CommentPlugin_CommentsPanel_HeaderDiv",children:[ae.jsx("h2",{className:"CommentPlugin_CommentsPanel_Heading",children:"Comments"}),ae.jsx("img",{onClick:()=>c(!1),className:"CommentPlugin_CommentsPanel_close_icon",width:12,height:12,src:k3,alt:""})]}),h?ae.jsx("div",{className:"CommentPlugin_CommentsPanel_Empty",children:"No Comments"}):ae.jsx($3,{activeIDs:l,comments:n,deleteCommentOrThread:t,listRef:p,submitAddComment:e,markNodeMap:s,userName:r,userEmail:o,resolveThread:a,mentionItems:i,mentionedEmails:u,setmentionedEmails:d,wpAndTaskId:f})]})}function fC(){const l=Md(),{yjsDocMap:t,name:n}=l;return t.has("comments")?n:"Playground User"}function pC({providerFactory:l,handleSaveComments:t,showComments:n,setShowComments:e,userName:s,userEmail:r,mentionItems:o,mentionedEmails:a,setmentionedEmails:c,wpAndTaskId:i,setShowCommentInput:u,showCommentInput:d}){const f=Md(),[p]=yn(),h=he.useMemo(()=>(p!=null&&p._commentStore||(p._commentStore=new ef(p)),p==null?void 0:p._commentStore),[p]),m=S3(h),g=he.useMemo(()=>new Map,[]),[b,v]=he.useState(),[_,E]=he.useState([]),{yjsDocMap:S}=f;he.useEffect(()=>{if(l){const R=l("comments",S);return h.registerCollaboration(R)}},[h,l,S]);const w=he.useCallback(()=>{p.update(()=>{const R=jt();R!==null&&(R.dirty=!0)}),u(!1)},[p]),y=he.useCallback((R,F)=>{var I;if(R.type==="comment"){if(s===R.author){const B=h.deleteCommentOrThread(R,F);if(!B)return;if(F&&F.comments.every(L=>L.id===R.id||L.deleted===!0)){h.deleteCommentOrThread(F);const L=g.get(F.id);L?setTimeout(()=>{p.update(()=>{for(const N of L){const U=Dn(N);Pl(U)&&(U.deleteID(F.id),U.getIDs().length===0&&D1(U))}}),t(h.getComments())}):t(h.getComments());return}const{markedComment:A,index:j}=B;h.addComment(A,F,j),t(h.getComments())}}else{((I=R.comments)==null?void 0:I[0].author)==s&&h.deleteCommentOrThread(R);const B=F!==void 0?F.id:R.id,A=g.get(B);A!==void 0?setTimeout(()=>{p.update(()=>{for(const j of A){const O=Dn(j);Pl(O)&&(O.deleteID(B),O.getIDs().length===0&&D1(O))}}),t(h.getComments())}):t(h.getComments())}},[h,p,g,t,s]),x=he.useCallback((R,F,I,B)=>{console.log("submitAddComment is called"),h.addComment(R,I),t(h.getComments()),F&&(p.update(()=>{if(St(B)){const A=B.isBackward(),j=R.id;FT(B,A,j)}}),u(!1))},[h,p]),C=R=>{R&&R.type==="thread"&&h.resolveThread(R),t(h.getComments())};he.useEffect(()=>{const R=[];for(let F=0;F<_.length;F++){const I=_[F],B=g.get(I);if(B!==void 0)for(const A of B){const j=p.getElementByKey(A);j!==null&&(j.classList.add("selected"),R.push(j),e(!0))}}return()=>{for(let F=0;F<R.length;F++)R[F].classList.remove("selected")}},[_,p,g]),he.useEffect(()=>{const R=new Map;return wr(b_(p,Ks,F=>oy(F.getIDs()),(F,I)=>{F.getIDs().forEach(A=>{I.addID(A)})}),p.registerMutationListener(Ks,F=>{p.getEditorState().read(()=>{for(const[I,B]of F){const A=Dn(I);let j=[];B==="destroyed"?j=R.get(I)||[]:Pl(A)&&(j=A.getIDs());for(let O=0;O<j.length;O++){const L=j[O];let N=g.get(L);R.set(I,j),B==="destroyed"?N!==void 0&&(N.delete(I),N.size===0&&g.delete(L)):(N===void 0&&(N=new Set,g.set(L,N)),N.has(I)||N.add(I))}}})}),p.registerUpdateListener(({editorState:F,tags:I})=>{F.read(()=>{const B=jt();let A=!1,j=!1;if(St(B)){const O=B.anchor.getNode();if(Jt(O)){const L=BT(O,B.anchor.offset);L!==null&&(E(L),A=!0),B.isCollapsed()||(v(O.getKey()),j=!0)}}A||E(O=>O.length===0?O:[]),j||v(null),!I.has("collaboration")&&St(B)&&u(!1)})}),p.registerCommand(E0,()=>{const F=window.getSelection();return F!==null&&F.removeAllRanges(),u(!0),!0},Tn))},[p,g]);const T=()=>{p.dispatchCommand(E0,void 0)};return ae.jsxs(ae.Fragment,{children:[d&&ao.createPortal(ae.jsx(K3,{editor:p,cancelAddComment:w,submitAddComment:x,userName:s,userEmail:r,mentionItems:o,mentionedEmails:a,setmentionedEmails:c,wpAndTaskId:i,setShowCommentInput:u}),document.body),b!=null&&!d&&ao.createPortal(ae.jsx(J3,{anchorKey:b,editor:p,onAddComment:T}),document.body),n&&ao.createPortal(ae.jsx(Y3,{comments:m,submitAddComment:x,deleteCommentOrThread:y,activeIDs:_,markNodeMap:g,userName:s,userEmail:r,resolveThread:C,setShowComments:e,mentionItems:o,mentionedEmails:a,setmentionedEmails:c,wpAndTaskId:i}),document.body)]})}const hC=({onChange:l})=>{const[t]=yn(),[n,e]=he.useState(!0),s=he.useRef(""),r=s.current,o=he.useCallback(()=>{t.update(()=>{const a=W1(t);n?e(!1):a!==r&&(l(a),s.current=a)})},[t,n,l,r]);return he.useEffect(()=>{const a=t.registerUpdateListener(o);return()=>a()},[t,o]),null};function Z3(){const[l]=yn();return he.useEffect(()=>l.registerCommand(ai,()=>(l.update(()=>{document.querySelectorAll(".lexical-highlight").forEach(r=>r.classList.remove("lexical-highlight"));const n=jt();if(!St(n)||n.isCollapsed()||n.getTextContent().length===0)return;const e=n.getNodes(),s=r=>_r(r)&&r.getChildren().length===0;e.forEach(r=>{const o=s(r);if(_r(r)&&o){const a=l.getElementByKey(r.getKey());a&&a.classList.add("lexical-highlight")}})}),!1),Jn),[l]),null}const Lh="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAS4AAABmCAMAAAE15bxSAAAAyVBMVEUAAAAAAADtHCQAAADtHCQAAADtHCQAAADtHCQAAADtHCQAAADtHCQAAADtHCSNV0YAAADtHCQhISJqUEfVPS0AAADtHCRNQj4AAACiV0LtHCRgTEQAAADtHCQAAADtHCRnT0YAAABeS0TtHCSAVUgAAADtHCSHV0dURkEAAADtHCQCAgLTQC5LQDxaSUMZGRkfHyAAAAAhISJEPDlURkFhTUVtUUd6VEiFVkiQV0WbV0SmVkCyVD2+TzjJSTPUPy3gMCrtHCT////o2L2jAAAAMXRSTlMAEBAgIDAwQEBQUGBgcHB8gICIiIiQkJigoKCosLDAwMjQ0NDY4ODo6/Dw8fLz8/v+gRdbXwAAAAFiS0dEQhDXPfQAAAvcSURBVHja7V1rd6S4ES0ZY0HT7RVJ2ks6WIQ4OMF53t31znqynln+/5/KB/HQCxq6256ds9Q59rhpUbpclUqlksQQXVgw/JRERLHxjfAUo5CIQBi+gVejK3VfJLGKgYhERUSSiIFIYNlTXDdNU0TudQEAra6bxpS2ZgCCiLgEarKh3zYv0Aqrur7r7uuk/SLy6ScAkF7QaUpfVvomABGoJsqNdsZQqv0F/ZpVTG9MgNSPuomIeP91Ro7hQCqDAlN/L5K0aRofkQCAUP1ttfyWiIgkAMmJaNc2YWKoaRq8Npbuhogo0Fp+337x5Gv6HAC4D3OURl+46SlDQETEuQLI+1/Ezb/aEl1BSpCQdp1MC5BiMJZEN57aKgjuMx1VQXt/bpgfWFusJmbWCvWZGECu7wHZFXW2TEQU88B+BMNQQV+HHBqfFNf+0jkcqTTDb5rmUTfQ6N7R/A0AEYw6FmidcD/mlrnrM5umaYquc0R3pielnYO6nPYLtjzSKr8SUX6+cyLBYEohEYWciIgxIsY5D3T3Q1VNRBQOF9i+77ohiEiIvuNKo89z2Rdk3cWEiOTgo6U1MipdBENXbepSuvNWwaCLKUdJIOKarhBdNWjjK01XnQzc6Lo6Lwcot93qIoFBFwxdSdcFK2S2LnPc7nRR2dYbtEP0gKus9Rs1XeGYrt4FtP9qz9gPiZYuCNNXD7q6S0K1NK8yKbWKq7pt7UxK/pvrSJuic5tXc4pz2TvPjMx4xye3I1rcAQRHNPXu3RzqAQBSxG3DcWEo+3PTNE1zp91ylT7aGu+zNpDzyr4bgPAyOnsomub1GR8GjCPh2X0jh3HNHf1CCbRhizseP3bD2lVaOBMEn4Sm8rspUm9pVNlu1BSiwqNp429mMX8qFqXplw9vV1nlHEkgQw7EfbcSQlRoR3QiMXQILQaVsONfohJmVxK6xlLr5QyIQ9nfKW2v2gbu3kC7V6vjGhx8jyvo9YXou7j0a+TDsKyL9M5opTZ/8GnRcRHreOxxUdJh7eZy47jI5Xgcl5qsZ4YWNpBs4iJKVJQ14KJcNVDf8H07DhqlrFEzLcsFaJ/97dhj8z+MjYsoAwxcVIOIykxz1Q5fmVtrpdnXRKg0HxdRDei4CCBR0xSuYW6vK+ZTuFQrJFp/PIqLyGLd/Oi3L94nExLVrVFP85UBqIZIQFrZq0Qm9tSCiJhZSpoxhJK9pVHKXIuZkiG8acuHq8/+CkVLos0K8sej6jNCrlCUmJKK+e56bE6Qw+Yomlhigdh3N+dLsdVctKh6FqSY01ZhpoqbnOFT0zTN43ZWe1xtD08+YK8fP/708qqmPJvTmvofptcrpycIIzYr2hb68Ol8m+xTi793cMGZHOrCeCIMSyk9zxEdzjWGO1NhOdswZTyTzpu0WGyhPj27KTR5fK6nut6M43w6rPO9VVZZZZX3krjURm7OebtO0l/o4xH9qvPt8DdvxdBojLssB3JmVumEr0ASZNr0MROi21hhztukFiENSxXDWmGfEDADPUAIsdc0kkQWJPp83BcY1mp2l/WFuLpae3DBwcWGa/uRmXH7seontlxVMZaucJNHer7EM/+Wes5hKM9sRX5cbHRGP4IL83HlcJbxeZ8OAk3iosW4Ag+uwIuLSsBNCdh5ND8u0bejnarw46phJMBaXFoSTcfV292gat+tFYaTuEJAz0Pxo7hU+ikwcMXakryJi9wtUKpAbCRVzDSmlNJYHojN5YLR9JfUlu8BAPXO9zSy3a1RmrgqtRwqJiwWVk5SRchH+FLG0TWDs33HxkVAZm4SsYF62tHdEqFhncBFsnve47gYkJGVlqOsnMTFnDWnCb9hwp+Ni0IMS9Pqc0L6ZNln94lb+Sxc8fx2VB3KGslA07gGD6NWwolouh0ZbPDHcdlPn+jZvzH/pXUtptKUbAqXAIJukJyNizJMeEZACCmdFZHe9oFkcHtu+a5RasOZOGnOId+61xIbpsfeZeYdSiwFsZTM9Utu+VVWWeW9hc3Nk6usX1oYqariPt1cLkEV7PLKTbCVk1nU67sjGb2Hw/bm9KlgPp2KHNm7ET3Nzzg+LFteYKKalST1NOr2pJR9epS9QNQLlhUy+/anM3LIjyPk8b1ZaS1zITg3hjjORa4nna1NRw/nL3c86txppiRFHMxo6l3lC/DnrAJE2xmZ74c/fFsCQJmLxVv7gtrGlf1HrULdzPUjPkifXz9+ePn5VXWL03pt7ERteFisKbpTS3CvL8/ADx99afllq0Tbp+azg2tk9W9CuvWhf308f82y3+33wcEFoIyX4AFQi/ZhrmctuhT36SYy2iWK0sJwBfc+XF0H4h7qOBd7Y90qc1fur5cvCTXew01eXMelTCbb5La4EKwlwEQwt1scFvvqyJvQOT5InLLZOLp7OGnlsR9ap5Ygy9ksTTi9+1GAxe2RscDBVu5jRheXKNqkaZqmt9ENrbLKKqusssoqq6yyytctXMud7dnUfEnunHBf+PJ90jifoF02Z/uJ59QZkVo31Svi0/lFOzHqnQBo2bg6cXFN7vG1Mbep17DWdoUMUPodLbW5cX6KLqBkR+miHeDUqE51GM3C9ReAhDzhLsa+aAmgdpogA2re15l54HItvTA1QTM2JmfxBF3tcjmfR5cnY+rQRXu45z6osuvgo+9LcehqTdZqqlxfv2OO5cuxl3J4O8jUup/Fj3TIGaMr8xDm0kW5uzk7cyx4EV3kNik7crhzGV2IZ9NVOU83Rleb80iO0EWV7b4SV98iugLX+wTG4a6z6Np5nd8IXRmc7SyjdBGx2nLlPrpYbT5K4OnES+gKa8/wkQNAyS9Al9IPoPImuXS64trz2pEJulrdg+P10UWByUXlIYYDKLudkULwUbrCDINPd8bg0RSsBLBr1Sfi6JnspBpdAgSAUkqpSuQukkm6Wpwlm6CLuO7kMtt6PYGEoLFAospG/QrrI4k6pulAYo6RBe3xHelC2Vl7bJfQpTpwOy756aJk8HE739sF5nXGBNOliIZ3QOxO74y2yYopV38CXe1Rm2ycLhKduwn9lc30XTmmhy1lZZkbG59IF8VvQhexSg2SY3RRptw9q+H1LXNdfVj7w2OnMuuRTqWLO4Z6Ebq68aQe9QsSqIjVvvdXLRoZ9zPenyGcpf0FdOkbZylzXop1Ibr6sWlMTQXk1RgnCwIJVgOoLf8XGp2vdgDPpyvWBvrEM3G5GF2tzx9vNu/00U8XmwpThTud2GtdNPP4N5uu8e7MZHv6VQKoxbGo/hy6iJUTdLHam5zwZiTk5CQocDIBbcqllCWAitORQOKYpYWxSPjZK7G/9jRVImLOaJVVVllllVUuINeRKVdfD3TOEyH2Ukp371gppRDx+a/oudmmxcItvw9FkabbX8FGqYCLvaywVCZSP6OyuXtsLiZPxX26ja7fgyLGRVbifOm3uR6V7QWJGjG/9PaynZhxkVe4tBx/v+VV0byzPBTp9sRzK2EiZL2YhCW2l0w7qqfmi8rjDOoY3431Nin3QsT8xDkcjz3dOJvqhcc9eLqJosjyQmqs3KRpmt4XxcOlrO4+3dxos7y9ZUhSZmLH32TmF2obiJOJhODP9r7ku+1557uuok1qHRpbIL+8vvz4PYDv/v33v/zpW/6+M3+VmR7PrbEa+K96+9hh+0ajWLRN78fJ+/T68eWn52d8/2P78rLRDvsewd7m8M8fJuhql3+q5L3aL/rmj3/92/NzZ/bPP/3v0/II5XDJA47Kt2yGcwqv+N1U3rZ/x1jyFobPuRDSyr+V2Y4T0XWUHopLDLOHNI1OiJBvovSu8Ax0n4M5dPWH/kTCz6FnJ3L/UC/34wf4LkSdZ6ga5PH00zdDFnvGi/aklDITluTq1P7xUNl/Smtyhvom1M19geYUtD3eSKoTTl96h9nl89dzXuR5PW/svJSU++QN38IbbdJD8UZh9dPdzMiAifpMkuQ++QL/R8d5AZ5+TH95CBXs8oUUZZfIFV0+MbdN07uimLTBx6JILxWLhHwnMsuHS9lNzdZU6SqrrLLKKqv8puX/EHWEkP7TC5MAAAAASUVORK5CYII=",Fh="data:image/gif;base64,R0lGODlhlgCWAPf/AAAAAAAAAAAAVQAAgAAAgAAAjwAAlAAAmQAAngAAqgAAqgAAvwAA/wCAgACAgACZZgCZmQCfgACiiwCkfwCqVQCqgACqgACqhQCqiACqjgCqqgCq/wCscgCsgwCufgCuhgCuigCvgwCvhwCvjwCwggCwhgCxhQCxhQCxhQCxhQCxhQCxhgCxhgCxhwCyfwCyhACyhwCyhwCyhwCyhwCyhwCyhwCyiACyiACyiACyiACyiACyigCzgACzgACzhQCzhgCzhwCzhwCzhwCzhwCziACziAC0gAC0hwC0iQC0iQC1hAC1igC1kQC2bQC2gAC2gAC2hgC2hwC4hQC4jgC6igC7egC/gAC/gADDiwDMZgDMmQDVgAD/AAD/gAD//wD//wEAmQEAoQGA/wGxiAUAnQYBoggAoAkAnAoCowwAnAwBnAwCnwwCoA0AmQ0Cng4Dnw4Dnw4Enw8Eng8Eng8Eng8Eng8Fnw8FnxAEnhAFnxAFnxAFoBAFoDOZzDPMzDPM/0C/v0C//0Df30W+30ba/0m220m2/0u56E2z5k6x2E/E40/E61C/31DL5lDP71PE81S85VTH8VWqqlWq1VWq41Wq/1W65VW73VW/6lXA11XG/1XV1VXV/1X//1a671a+6Va/8VbG41bM7lfB5VfE7VfI7Vi+7Vi/51i/6FjB5FjB6VjD6VjE61m86Vm/5lnA5FnA5VnA51nA7FnB5lnC51nE51rB5lrB5lrB5lrB5lrB5lrB51rB6FrC5lrC5lrC51rC51rC6FrD4VrD5lrD51rD6lrF6Vu221vB5lvB51vC5lvC51vC51vC51vC6FvD6VvG6Fy56Fy/4F3G713R6GXM/oD///8AAP+AAP+ZAP+ZM/+qAP+qAP+qKv+qOf+xO/+0Mv+2JP+3OP+3Pf+5L/+7Nf+8O/+8Pv++Pf++Pv++Pv+/F/+/PP+/Pv+/Pv+/P/+/P/+/QP+/QP/APv/BNP/BPf/DO//GOf/HL//MM//VKv/bJP//AP//AP//AAD/ACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBADNACwZAEMAYAAQAIcAAAAAAFUAAIAAAI8AAJQAAJkAAJ4AAKoAAL8AAP8AgIAAmWYAmZkAn4AAoosApH8AqlUAqoAAqoUAqogAqo4AqqoAqv8ArHIArIMArn4AroYArooAr4MAr4cAr48AsIIAsIYAsYUAsYYAsYcAsn8AsoQAsocAsogAsooAs4AAs4UAs4YAs4cAs4gAtIAAtIcAtIkAtYQAtYoAtZEAtm0AtoAAtoYAtocAuIUAuI4AuooAu3oAv4AAw4sAzGYAzJkA1YAA/wAA/4AA//8BAJkBAKEBgP8BsYgFAJ0GAaIIAKAJAJwKAqMMAJwMAZwMAp8MAqANAJkNAp4OA58OBJ8PBJ4PBZ8QBJ4QBZ8QBaAzmcwzzMwzzP9Av79Av/9A399Fvt9G2v9JtttJtv9LuehNs+ZOsdhPxONPxOtQv99Qy+ZQz+9TxPNUvOVUx/FVqqpVqtVVquNVqv9VuuVVu91Vv+pVwNdVxv9V1dVV1f9V//9Wuu9WvulWv/FWxuNWzO5XweVXxO1XyO1Yvu1Yv+dYv+hYweRYwelYw+lYxOtZvOlZv+ZZwORZwOVZwOdZwOxZweZZwudZxOdaweZawedawehawuZawudawuhaw+Faw+Zaw+daw+paxelbtttbweZbwedbwuZbwudbwuhbw+lbxuhcuehcv+Bdxu9d0ehlzP6A////AAD/gAD/mQD/mTP/qgD/qir/qjn/sTv/tDL/tiT/tzj/tz3/uS//uzX/vDv/vD7/vj3/vj7/vxf/vzz/vz7/vz//v0D/wD7/wTT/wT3/wzv/xjn/xy//zDP/1Sr/2yT//wAA/wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/wCbCRRYxUmWKlakDFzIsKHAFyFaiIAxwoTDiwwXhYK0cRPGjwKB6RqmS+Qwh1GyGGyiMktKkAxDyNAgA8TMmjJgMiTFqFMbnp0WBdXJsJiuYriMFstVjGEVLFKwIIyK8CnRiSZMTBxxIgRFi0QnNSI1idIispTGTiIaciSvXm6DjRzI0mBKg3hb6pTBga9fmxxg2NQpqadQw0ETLyJKcqlSpkdznWyGxYlUqQcxT4XZwkRXGCYkgm4BAvQJmI1EQRKlljUpSJcYkdIJNxgvucNuuxUZrGXdlnntguzb4a/xviBA9mzTCbHzoLNBHk0a+bHjXAafVsm8XbtUKx9HkP8ejVW0CRYTQV6adKm1e1KORDGCmduk7txybfcODrzl3Y84IXecXxyAxNxzh0EnG0xMNWhddbpEJQV3FFZhYRYfBXZeeRx21gJIlrw3iWsjnuUITPndp6JJ/vXHH0x9xRjgjB0o51NziTlHylkwTffgdUtRZuGE2h1kRXacieAhh6ChdxpIkKRFFokkWqKTbXDhF5cutgHTzF1Z/JYXSzAOCBhOOgGV4GE7DqVTY5A5Vt1ARCb0HZFVXNWCV6Ep2eeHRJHVHnxmwccaW7uNpEuWb+myEJiQYsiWjGcix1YzOJ6lqZtsxSlZgyQ1RGQWeF4q0Hl8mgACoKYKKpsj7ZkYOtAwv6Q4GUZOyHpRTroy1EmvDjXVUEAAACH5BAkEAP8ALBkAPwBgABMAAAj/AP8J/GdHjpo8cuy42TOwocOHECNKnEixYsU2e9TswagRo8WPIEOKnCgnj0Y5chYmlMNwpMuXMBumybhnpsabNGPq3FnRTR6fJVkG3YNSTUgiK5AiSerS1itio5bBetbr5Txz79ClMzevIU2bNHFqTGMxxBKzJc4iSSvSmCu3cN++Gnm1Xjm7eM0JVImQaN+hKCuaQAKDyODCJQgTAals6iypzmb9cvVsVsh3XNG1w6o187+woHHarKg2LdrSSywWewWXtdxncj/WM5cX791yXX2e/Pu3oB2KhIEkLrxC8XCLjn9NtSW1svJnFrfOQ4d5enXNXL+GBl3xtPclps9S/4RlDJIx1+dbw4ZO8S652bXv0i73D2FBv0JTEqVogshwpcQRBkNxFC1jyy7LNcfcVLFIVdF00lGX2XXv/MPRRtt5NBF4Z3H4nVkhUGQeeiS2ZkxF8sUHn3x7EaVfQifJIVhwxQVIHBGFUZRMgjw+s+AzsFRE4YREdiWQaDRp2J2HTIYX4kSuPVOiXG6xN9F8K2Z5W0NA/bQfSEAkJaZixa1gA4EUxfLLKz4qKBUxj1mU1WbWEZlVhTwJtMQHSIDo4VqpVZQeJFLGZYw0bsmG5aJ45TmQmDj6t5SkIPm4C2WSwRKZgx9lRqeE023m6EBpffCnaSGlR2VsIaXoql2jNhkEAwwlRJqYS8bY0tgzDQbpUp3xoGOkQAEBACH5BAkEAP8ALBkAOQBgABoAAAj/AP8JFGhHDh43BQcqXMiwocOHECNKnJhmT0U1e9rswTixo8ePICFilCPHzR6SI+2EXMmy5UKMGjHKtLjRpc2bHU+SPJlHzkk7JuXgHEp04MajM2dqLMr0ppw8I3vy9EnyadOrK5FqTbrnDNavHqNSlfq0rEqwaCFuXVsxrVuHaoD2JEvXzUckMIisQLICyEpir57ZWubqWct26Oahe2fu3cuMbI92DLGEcoklH5BcBmnslTFIzzxD+hwynrl65OqdLldv4dOgJX+6ydOxBV69SFrYKIEXhsdYsJ7N2lXYlq3gsT62M6c4HXN0y+cpjMyxY+Ully1f3ywxtDFXnb+H/wfvqmM91qxXqz4vXaEcO1FneyQCA4aJ23vzrqB/RCIsZ7MsE9xgAybz30TOvbPYc4w111hDZ+wRUgiabWchZSFEJNp4HBbmSi0SqSfieSSWM9QLRPCmH354AbFXRL/Y8suAAgpWIyzLvCKRYtEtqBhjQA5VoXZEXpchROB5lqR4SnonEXokjljOPOYMJUKL+eGmH31ERDQLjWDaWFhyEQHp45nREYXhhdgZqeFnHCrZ2TOusPIkauulV+J5ROnFZZb5uehXRLHsEiaBNk7k4I8MNpaYmmxm1+ZEzshpKZ3fmSdlnu0RBYMN930aKm4eCTbjM7H8MuYyZE5kTjzQOTna43JNrSnCdbce2ZF4hQX2oY4f6ZmaeiZeBQNfeNmw30rCOeMKq7sAGxKPzJlDK1qU4UQaTq0xFBAAIfkECQQA/wAsGQAzAGAAIAAACP8A/wkUKEfNHjsFBypcyLChw4cQI0qc2GaPwYt7zkzcyLGjx4hyEO4J6SYPyT0fU6pcubCiwTQW97jck4alzZsb8cgxKXKnwZ1ucAodOjDmTIwYiSq9+dPkSKdATcpZSjVlTKRXZdKsypWjz6dywI6Us7Or2Yh5sKqVebZtw59kxX6d6rauwqNZk9rdS5ZnWKBj9wr+l3UmzMGI3YwtGRKx4395FNd8TNkmERhEViCBASRlL1jPbCVz9WyXynTm6qFrZ+4d1xJLQiyBLRu2x2evjLkylnu3K4/l6qUOnppcvXJLNWNWTsTEZiIcd4Ge9QuWM+qgbXFk987cPHTdv7P/nmeOKG0kImLPVm9bIu5nkHgbi59bmu6Nwo/nJ66f6GUiJfzHnHITgRYLMtktA9oonzkzEWrkjQeed+hAOFRt7GVYW0S+ybdbbx5OFFw55Ok3nH7ICZXZcwNuBsMK0EEUWnWhKVjjdMv8FtE7FVIY3oQ8uobTehgWqV4IHHqoJIivPCPRiCZGSQ55QmkGY4vL/RfRZ8TYYqOXCYIGi0TdBekjhRYKJVt6RtI2W5If6rakbg5GFJxxJ5444lCZCciiizBKZAuNYN5Y44Ornfndj+kM9YGGRKK3xES4zTfnbpDglyeKJhKVJWYlILECDKFy9Mwsu5A2Co2zLPMKRxRKL8hameUpxWakst1Gmiu1gKhjR/vtR2VVLz7nXEqG2qLMrx4JF15rbk1amUL2NBQQACH5BAkEAP8ALBkALwBgACQAAAj/AP8JFCjHzR45BQcqXMiwocOHECNKnNhmj5o9aSzuaTOxo8ePICPKyeMmjxw7JU/K2ROypcuXCytelKnxohqYOHN2zKPGpMmDP0+60Um06ECNGW3W1Gi0ac6LI1dGBRoVj9OrLZcqVSoTq1ePJQ1OHYuQ5dezEDXS3MoUrduGUAtSPWgH6tu7MZFqxWgWr1+xKE2iPCjHr+F/fGfqPcwYsNjCjCP/Myi5suXLmDNr3sxZ85EWQFYgafES1rNRyF4te4nO3Dt07czN81piSQgkIZZ8QFIb5LNXzyAZe2VM2vCQ88rVK5d8eb2romEAKUFkhQ3qK4h4tAXLWaxdpkf1/zId62Psd+bOp3eNrumU3LXh28YdZeLw4MONucovrZarjvWY45yAyhH4XFFESGcCEjBUxyAM2AEhkWmz/GKaLcuEN95qErHj2ofzoIPePOakI1tR8qW4RHy4RQSLMZD8pl9++xHnyjMSKUcOiQMu11w5RJkwXYIONhgdEAtG9IwttgCH4YUZPlPhKxKRaGKII4ooGzqz6cSbbSuCGd8SItgWkXA20qjmK6zk+GOAPRZI1G1GMlhkdUSAFpEzFEb55JIWLikReq9lmeV5KJIp5qLwRbRfjTOmeeN+EhloaZwIZrcCDNE5uKloEs2yjCvO/IkhqbH0MtFrsWG5ZauwJWN6W24pfmkfcGhGit9/E/FIDpwFOtcUaKJtuqB0oHb0TCzKADfLLqTOEkx5HW15JWxboudUbbvRGmYIH6l5I5ogBRvsr+ZgZeQSyCLRkne7zFLLLMnA4hKhAsbqlnaaHbhQQAAAIfkECQQA/wAsGQAwAGAAIwAACP8A/wkUqGZPwYIDEypcyLChw4cQI0qU42aPnDxyLMaRyLGjx48QDe5JI7KNyDMgU6pcqVBOQTkULbq0mIelzZscC5o8KJIkQpxAgwqsCDPjRaN2iApdelMkz6d7TKZhSjXlxZcYaRqFuaeq145Ow0Jt87UsRKxGsx7FiMesW4Zi45J8S7elG4xq87qpy/cfyZ1hffbte5doTDlJBysObFCx438FKz6efPPDkhJLQlymTBcJDCIriHxe4Zmz2cxLRCyxjFlzCdNePRMxARq0bBOlO/aC9cxWMlfPdqlMZ64eunbm3lFljbr1ZdQdn70y5srY9OquPparV3x7cXL1yi3/tT1aNmkYQEhL3MV71i9YztzzttWR3Ttz89Ddz498njmhzgWImmYhRCTdM5BYZ0yC00lDHUfchRehdxIGRVpo55FX22cR8RYLMvMtw9souzkjEXH+9acffuigCFRmSAjoWnMQYadgddfdKNF25fgnYXcSigfUhhqeB4N6D/X2Xm8iMtneMtlB9E6LLO634pTKASXjcwSuVuONYOb4yjMR8fjjmeT4F9QOMBxpnmwlgBbRbsTY0qSdIfIGS0T3YVkliy4GxSWXSBAokY1iUnejiRBtBx6QQPI4XpsXAhHnCh3ZsiSeTjJ54nF/5mdlOlR12ZpH0i0YpqKQQAhpkD9+OGWCSs/Msgtwoyw5yzKvdMSiisj1+R9sCj0DnCu15BilRxNOqCaxC3VqizLLfsTdfslBS5c9DAUEACH5BAkEAP8ALBkANQBgAB4AAAj/AP8J/KcmjxyDBuUMXMiwocOHECNKnDhRzZ40eyy2ybiHosePIENGLCjHjps9cuRYLCmypcuXDDVytGgRo0WYOHNSRJkSpUGfK3UKHTpwplGaezamIcoU58GVPw/K4TkVJAwgJYg0bXq0q0aPS0IsERE27NahUKdK9SlV4UQkMGxkvboCLoyzOb0axUixLFmxJcoGxovTJEK1UfO4mUgEBhETcInUdQz5LuGXGDcirclxImDBoAFffnnwZEo3Bk3aoSg58uTWMGCs0Dra5eaknScuCfy5d9kQtUnHMW3YYwkks18rb0ybIrFXxGY9G/XsZTp08dClM/duq9i/u0OP//Vo7JUxV+fTvxI5z1y9cu/jl2Mqmblyu7MpLoP1bNZ+Z7P8wp8tILVjTnsGvoPOOweaQ5RYvvGGBFkUlafehei54lE97pXTXnwd1sNUcswdtwIMx1kmESzL+Dfgfv398oozFG2nIIPzLHigdtwxxVt4ISABIUXoQWIheuYheR4rE7lHDocgyvdeU7Hdp6JEy9iyy4tcPsOihhLluF2OOOrIYHdN/RjCFCAZmeGRcJo3EXwh1vlee8F9ZEuXtsDYJ3+wTFTmoDvimKdHST6TZJzn0SgRfHRGCemUh1K0i4zP/JnpftEpQ1GOBpJZKHcLVlqheZAomh560py3oZ2Rwj1nqkeZ7uJKjLAAuN9HpIZqzpjoGDgrrYsmuh5IHnY4z6QODuuRM7FsmakygbZUj47tzeNsS8ZAIpSIDQUEACH5BAkEAP8ALBkANgBgAB0AAAj/AP8JHEiwoMGDBpcgXMiwocOHECGuWLICyAoiMH5E3Mixo0eBJZZ8WBJyZMgQH1OqTFkCCQwYK5C0sGFCpo2VOCPuUbOnDceRIZYEDXoSScicSBHKkeNmjxw7PCNipOmSSEwYRFpiTcr1X8+de9KAFQsxqAihJNGeXCKia9KlTZ+6yfNUzh6HJojUxHrVqkuYRNzmbDMWLM/DdxmmJaoW7VDBK+fOlUPXaWW5DUO4tFi178WtkFMaHo2Yp0+GjFMvFho6ZdzLsCkvbej3omeXNla0Fl2a9Fc1DoUabUwUye6PlF/ble10aWKGJfR2xuiXYzBXz2L9cuUM1kd26Oah/2tnbh5BsIR7I45IPC3HZ6+MuZJP31XHeubqldOvf165gXQxZdlyUDm1ERJ52dYRMbA8M8sysDgzy3bP2LLRO+WNZ8476KSzoTkCpReWb6cdJ1Ax8c2XojGvPKMiRPjxl99+NNYzEE9yBRiXHCYO1OKEDdoCoYO/NPgQOxliKJ6SGr4zkIhQPmfifCrSt2KKzjg0Y4z7bTljQU7tEVePBDljS5EVDilkgw/a15B4Hi6ZZJJkQlTlnSzKV0t8DtXYpYwy1vmQLbAQs2aaQS7ToncNYcghk0zGKahD8UGSJ54tztcnoH/6OalDseyS6KgO7vJQOxrKKSeH5n3KUJ6QwD1XX30wegkoOTa62lCFu2AHpITLuPnQhqmiwyR5ujp06aXwcdQpl/4l+1B3aD4Yy0fikfeotBwZk1SuBQUEACH5BAkEAP8ALBkAMgBgACEAAAj/AP8JHEiwoMGDA0ksCbGkxBKEECNKnEix4sQSRGAQwaixhMWPIEOKbLiQ5AeSIUSqXMlS4AokMGC81GgCyYqNLXPqjOjwpEOGP5E43Em06D+YNmYSUarUqFOWQEv+RLlExNOrIG/W1MgUpkwkWMNSFCq1LMOzYtNGhAmkK9eMNtTKNRi1rsklH+bqFfh1RVuYSwGv2EvYbEmgYAnv/fq2Y2LFH9vsSbNHzZ6RZw9DBilHzh45dtzkkYNnJZK2m0FW3iPZcuvJqdV2Ht35cx7LcvIo7uXqma1lvVeeMzcP3TviBV2vtmyZsuW9xF4ZczW9+quQ9czVK5d9+zxzAnHb//Gcm3we0XL0xoLl+xcsZ7PcPxv18fh3++jaEQe/vD/zyZXJZYx01BE4YHWuVDQPd9xp1+B29fyTG26j2UbeeJep9d4sy7D3m4fJsEcROua8YxxxJxaXTon+tWjZGWpJB8mBBSL4DHUTOdjdgwxu58ZnGJZn249yvKHWMrbI96FvHT4DyzLXSVScfsXhd9yVAP6n5WpyzWjgl9M9I91EPfK443cSlhfkeUCqIdcsHja55G+9xTLRlSnmSaVA/b3m3FzU1SjogDcWQyaEOia6nUCiESkHkaHtleR7c8rpDEUmUpnnilMSlGWWhIlpDCSiDgqJgg5+Vw85EHKH0B5upDL2zCy79GaLMuzNEp1FJW6Kon6xRXSjdQiCZKaO5QQrETGVJiiSiVYqaxE0p+oUoUEBAQAh+QQJBAD/ACwZAC8AYAAkAAAI/wD/CRxIsKDBgwORwABSgogNhBAjSpxIseLEJSGQhFjyAUmJJRZDihxJsoRChkRW2Gi4ggjJlzBjCsS45ONGmxpBytzJE+JJEwpTKoTREEbPo0j/3aRpsyZGj0mjwiyBEoZQqyt+upTKNaTTpWCXiODYtSxFk1iDZsVKpIVRs3AhbhwbtmmJuHgN2mi5AsZaoX2z5h0skG5OsB51Eh7cAjAMoAvXLl6McyPYyZNhEFWIBCjmzwItgx5NurTp06hTq0btStks18RgtjM3z9zseQj3qNHNWw3mZ6+MQQJuzFXxkfXM1SOXvF65egbtyNkjx85uOXncLLYF65mtXa687//qbivkbXTpaKN7R5sg7zTv3w+uFdx4/eL4XVWs7bz5c+Xl4PYPHtgVSF12B/qGFyzLzLIMeQ8+M8svrzxDUXrvrKcee/OgM9s7vLXR24i74RUcJMbcp2JxFkqkHHMA+tdfOW4cOJ2B2NUohxxx/WLLLxAG+Uwsy7wyUYfncahhhiDu5iSJe8CnoFkormgfixVO9NyWMsZoDnbX5XGjmNRJt0dcvQhpS4RrhhfLROwxuaF6t0H55JNpxHViivip+Ex4E73Y5YzOXUegjQfqmNcs43nHJpu9UJRheh0qGaeH/0hpJ295EXelfX8eRxF///UXo0A7lqmjHW6IKceUcXlFB+SQ4A35oEV00mYOpeiZM9AeIu4WbG+L8RnesaJaVGqAW9ZWkBw6vprgbz9WGAuQL83DzqUCGhTlHjWKWJoxR0FnUEAAACH5BAkEAP8ALBkAMgBgACIAAAj/AP8JHEiwoMGDA00sCYGkxEKEECNKnEixYsQfJpDAAJJxYwmLIEOKHLmwpMMQSxx+GMmypUuBJTQCWaGRyAqbMEy83MkzIkqUJ1MuRIKyQ8+jSJG0yFmTJgwiJYg8RUr1pcmrQId+rMpV5NOONptqtBGzq1mLQrOqXSLi4dm3EnHGfOo07Ea4eBH+xCr0Q8O8gAs65VjThE2ogRMLXPIhbUOTiiMzXRqzBVmRu2A9i4XsFbHILBm2Rbky5LNXzyAZe2VMmjFXoEdqZNkLlrNYmZ+Nqv1sVuy8tVylXv2auGtYv+FqnvVLs61lmndrDtnO3Dx06cy9g9hmT5o9avYo/2YN6XRx1q6Ip7dYz1w9cu3rlWtfUI6cPfbd4MeT+JktW6g95xx0vf3ySkXvWGdOdtdVd91A4HkX4XfhtQGYauippyFrFMU3n3sfylePQPblIYcd98mRR3gqAmbLcgQK6F9zzyAnUXYJJnidjgta90+FEYYXHoXi4ZXhkcUJx6FE7pEzD4gezjNfOSyiiJ+JV7phImCxLOOKMzI+92Usv1D0JIPo6Jimdei0E+SbQkqoRl6nDXeknRSVI6WIUPapIotYqpiilYAtM4oyqM2yy5ezQFdRde+suSObDsJpaXhnBGZeesKpBltFU3oo6nzk6CfolSnmYeobiSkzCzKx+FQXjI0VNcimmjliJ+elESbH0pN8ihgqiSnad6UaJtoxp68jXYcmjuZUB2GcRFLIbEujvkffQFqaaoe3blzrUj3YUYrQrt0tK+5LI06kBh73rXtWQAAAIfkECQQA/wAsGQA3AGAAHQAACP8A/wkcSLCgwYMGTSBcyLChw4cQIS4JgaTExCUlImrcyLGjQCQwiKxA0sJGCZBEOI7qBctYr18eY3a8aJGiCJoan0Ey9srYzp6QZAp1CBKGCZQjYQAZ2QLiM1u/YD3dJTXWMlhDsx4McZFrTYxdHRpzxXNsWVfPer7SyvafCSInQyYVWXSkQ6hSbV19uncWzLZZK9Ic7HViw55kySI+mxZwVhFII8slErLhKFjO9ObdqxctLcdDC4sG+8Eww8RnUyN+BlqoSMp05da10XAZXr6bpcJatrZ1zK/AB3c4zPOZYrOrX7H27dEGDKOS6a54qJtzX5bENqZDFw9dOnPvFqr/2dNmT5o9G8FyvSka4thaaI//9Klxnrl65fDrL1dQjps9csgxXoAbEdECEW8ptQJlGkXljFV5UfUMVhG1Y459Fr6DzjsXmjPQHuOdFyKI6G1kAmEcQXOcfBrVc1859un3Yj0CBZiHHHb8h6MaN9rB3EK8OTOKMq7UsotG32nI4TwbXugdeP+MV954VJpH4o8MNcbRfeS4KON++OlohxwA3lgmj3Jg6RiT3zG5ZJMcvkNilXSSV6KabOU345742SdHHgOa+SeZAZKJJ1tvJurkknM2WucZh2qVn55fTorfgAGWSWgeOr4RaVZMWujmouBt6Oip432qlZeUtkrjP2PeQSgop2W6oWpWpYpqTpvoWPihiFaOqMatksYIo6UeDuTGmADaEagccRDLVj1N2jfPQcIGKy1orzLk7B7LDrstngEBACH5BAkEAP8ALBkAMwBgACAAAAj/AP8JHEiwoMGDCBMqHPjKWSxkrpYtnEixosWLB5+9MubK2MaOkDCKHEly4SxYz2Ilg+UMli2Us0rKnClyI6RnIHHiNEazp0+EKEfZcuXM1jKYv2BJ/Mm0JyRjNz965OgRZ9OrMp3N2uXqmVGUX1NyxUoW41OpaKluLMuWoq1RxMLKPZqyrd2ENjWq3dvxrt+CXrl6pRt21tK/IkksCbGkxBKMUzumjYpYZAkkMIisQNKCSImLz7YS/dryZeWLjRenDoFExGKLT7ueharztMXNMGDg9qzZM+jCv17Ztuj4w+rVSBzXfHbzr5o9buRgxGxjt3XMRGyjM/fOXDtz8xDm/3neZs/zNBYZO1avev0SEZXJ1Ss3v565evLLFZTjZo8cOc/9pwZFKxBhAnbX5bYZYui0g848DXJnTjrcoTOQeXukgaGG5E2UXHsgMiYiYvbhN8995MxDXznh/TNeHnLA6J+MMbrhIQxAJGggETDY8BeFEAKJTndBgvfPeRg+pySGE4kYYmrGhfDXiiXSdx+V5Mgxo5YxcgkjjBNVp5lu2B3Y2QqIQfgdhEQOCd6DSca5ZHkDLqQaY1EulhwSiLFI5ZVV2hdjgDTS+J8dFOlGRAs2mMCjZ3ymWWGblIKHIZ1yYnhGRaq5xpqUpwEqan1XBvjfljMGiFGBnQ33z4lCVkeq5j8cZrqkqzLVZyWp9QnEn392BGhHf//hKtOb3b0TIZvmXFhrrecZO9OJ+AXaLEG/djmjjdJO6x14EyaEaRp5dMtUPQcFBAAh+QQJBAD/ACwZAC8AYAAkAAAI/wD/CRxIsKDBgwgTKhw4i1gsYrCWLZxIsaLFiweNvTImzZgrjrVcYRxJsuTCXa6ejeoFyxmsXq6c9TJJsyZGjR5rbfz46hkkYzaDCkUI61msXUVtLSs661fLoVCF/kz5kadHnCmjajXp0OkzpUmXPmsqcqvZix13Yl278axbiskiyv0qFuwzWG/zJtwI6Znav1f1CjYYy+ususteLYvlbLDjgX6N9a169eerx5idzUKp2amzwpcxP6Z6deezsqIxJ7OlbNTdZKFTy352Sbbt27hz697N260cO272/FazhyQRE0RWIGmBu525eeaczztInHiaPdWLX1wSYkkJ7ki+y/+uZ64eOfL1ytUrKEdO8N9u8vyWo50iEhgwTNwnUoJICxiiSYdOOs+h885zA7WB3R7XZZcdRdxF2N13H4S3xGPQpYeeeuWVM50aecQnh3zCkTjcRPfZoB8Mye1Xwn2OEfiOgQUeOA86zr2zoIM7LnjGQt2JEOF3Ew45WHnndbihhuUQNyJ9T5b4pBwLHbefcixiCcMKRAx2o4A20jijjjzyqKAaCnk35JrdtTmYenAuqaQ58b1noont1XfQizAAgWWLWRLB4mAHjlljgdIteGaPDwKpZpGQcnekeXIymd4/wrknpXB2ODlRcqD+qdwKNqwABKEDHnpjoTj+0yCDjMJaOlF3Fbb5qIUYzqmhkgOJCJx8msqBR0WBtqCioPzB6Biiz5lD4I0EErToosRdRCESQkIqGofpzQMndAa9ZweUJHH554sr2DYPO6xOp5AbNkUhQhQh8LaeQQEBACH5BAkEAP8ALBkAMQBgACMAAAj/AP8JHEiwoMGDCBMqHBhrGaxno5ItnEixosWLB425MvZKI0djGEOKHDlxmS2HzmL9cuXspCuSMGNi9NhxY0dpzzbK3MkTYS+Hz04+FPps1rKeSHnWfAbpo02aIJNKHbkLFjGiWJe9IjZrqleMNZ2KfcX02dezFJ3N+jUUKNFYu16inYvwVa2weKHS3Vtw1sNYydoKNsu3sECoTze6Ymq4sUNio3oNXdmyceOwiyE9q1nL8mW3QGGNTGduHrp35t55Drn5IySR5OqZq1dONm3Zq/maI226XerdpdEZbLNHzZ4zuXnaJjdvdm3n9QjKkZNHTZ44edzkSQ6zHTrTqMEH/+ctcE+a4nuIGz+fRmSJJblrP78N3fm/6dX3THej346cPRetAIQJRMCAxApIWCbegqcFp5p65qFn3IQAUvTBEu9d+F4I8BlWzjzy2Tbfc9ppR91/J+onhxoUGbgCESvYgCAMMHbIF28NMhhefudR6GN6C3GYIRIbYrgEh4XVR9+S5RiX4pN5oCjHQjIiQeOMMFoJIxB8oYZjeDmi046EZFLY40JFpnmkkSEUJuKb0N2XH5Qo+ofHQlpiqaeVMCQp3jtiOmjOPzyWSeZCRxK5ppoaNtYck/MQFKV/+kWpIn9TLkRECXl2CgMMCCpojm+mpVMQhBBS2AZFagq56JHcITzkpByY2uFkRZ5meaWVsSqEXo/FXcTmsEX2qtB0K1Z4kQl8MgsDEJzSaOxZF4rwaggJTovWgbr2qS1BAQEAIfkECQQA/wAsGQA3AGAAHQAACP8A/wkcSLCgwYMIEyoc6MrZrGWvli2cSLGixYsHjb0y5kojR44YQ4ocufDXqGexksFyBsuWq2e2QtYzl87cPHPoSOq0WKsjpGcdO27sKO3ivHIz6yE1V2+nU4Wwno3qFdXWsqq/olqch64m15rvzL3L+bSswI0/h3oU+gySMYpKky5VenSeWbMOs8K8ujfqrKwTuYYVbBNd2LDs7j4V+lGt47cL50qWO1OxU2SjiFmtynfzM1gTBxsuLLqdTcs70T57zNhVrYlMJ8eWi1qn5s64/UoMjM404d+GDe5Rs6dN7YmrGytPSxGpc8pMyd0kKEeOmz1y7BA/rhDmroabncX/AkzRa2/ShU23E7gnzfD277ePXDIyrfKgF+k+n81UYHXr2NnhRh7ZyZHHRTDYUAISCa6AhEh99YXReV+lZ5M5AhFHnHsaxrdHRSEsUcISIY4Y4kivAEXMSObYMxc5SZEj0IADGigHdgQG6AZFMBBhAoNEONhCkA9ypxA66L1DkIcdNtneRCKSGGWJUho5UWUFEWcjjjfaSKAdC8Hg4ApE9jhmkERYGRKTbLYx3EImTimniWpiZOB1W+ZZ3YcJLUimg2YCSWaPdV70nptOdrgQiUjE6aiUJRRqaHV45pidlnCWqSmgYhYpKUWIwuekcRM9SmWIqH5qUY0CEghgdRQxQAjDgoH2WAIRMPygqkWhhprGRUiIAOmwJ+56UR5uaMfnRbTC8GMLQCwIrbGfjihsCI0ySu2uQJpARAs2bDtRQAAAIfkECQQA/wAsGQAzAGEAIAAACP8A/wkcSLCgwYMIEypcyPAgOnPzzKUz966hxYsYM1qMZ65euXodP2ocSbJkwojz0LWDqBKiyZcwMXqcGXKmyJg4cxakaG5lync8V1bUSRTmR3IRaSotV7RpyXctf7IEmrKd06sZP9bcStMe1q8MJ0odiw4oR7BoER4FuZQt07RwCUYUW3Yqy3RxNUp79sqYK74abbodbC4vxlfLYDmL9QvWMlu9MLL0WRfqSsMXIRnrC4mvMc19MWqth3TtW8wMZyV+phrWM1urbdmSnHKi5cKoG/rd3dfV5s+bR34sN0+hnDxy9hyXYydvY2ewXUd/nezvrKZt9qjZk0a7d40hlpT/WBJexEXfvnv/Tu+3VlE5eLYzl2/HTZ6LSGAQWZGfiAkkLVj0WGOvxbaaY68Q1d12DHrH4H0MkYeECOSJV2EJDYHG24Z/vcKKTmrkEeJyyiGnnB1qNKRfCUTox5+L+TEUjGLT1fjLX7Ho5OCODW6XxkLhjRfkhRWGwBA0GrKnJFFulJgcicshh8dC+/X3YpUwwLACEQwx5lprBVrHC1E8ltndjwkhIaSFQ4bnZkPqvfJMh3w9U5R98pkIpR3JKfTfllcG2iKXDSnmGmN/ydaUd9n1uCND5RHZpngXxelXMU7JJ0eeT8rRpBwM7TdooPlpSShGoywDVqPcMepddwytQCmrhBRimNtCn9annKfKTRkqoIOWgMQKMAi7wq0NsdogrBaxySYSbyLb0Kd5fOpGRlZmC4O0eVEYgprkcatQQAAAIfkECQQA/wAsGQAvAGEAJAAACP8A/wkcSLCgwYMIEypcyBChuXjm0qFrSLGixYsV65mrV04jx3kYQ4ocmTCduXno2p1MedIcyZcwM27sONNjx5g4cxpc+Y5nS5PvdAqNWbPox47khiodibJnU58o0y2depEmR5tYN1LdyhAoOqdfV6qc55Kr2YNIs16debZtwXroTD5FOfar27sCya49erUc3rtiA7+LW/avW3Jqy83za/gvWblxGTc2vDHp5MuYM2ve7HYJZ4pq7LjZIyePm5ArlqwAsoIIjB8iYz2z9QvWMq5n9qjZ00a3b4sllnxYEnx48BAWjb0y5urZclfKp8oRTVrObjnW91AsgQQGjBVIWtj/MBHeRsVdr5zN+uWK2HpYtWYpzb07jW/79RsOD7GEP//jSATXkHPPQKIccwdK49xQeKiRR2lykPaghKct5Np43REBHgxEcMchQ688E8sysMxG4my9lCjUfb7t5uJvC/EnQn/E0XjcEiIwhOBzB0L3nFCjQShhhBA+KIdCJhBBHocbatjdd0QsRAxtJdpyopUlzkKiTi12+WJvaShU43820ujfQgbyqOaOxuhU2nUTColdhAqF0B1rGTbZ2ocKpTjllYCWCAuXu/X24qHaxTjmojcip9CaPrLZ3IpzDinhdQw52Zqe3dmwAkO/UGlilYAOhZ+XXTbUX4Bl/odEQz3GRsqjK0oFacd11E23nZJ5uuZkRc+8J2IyzY1S21JdnrrbRa3WeJFzzD3TnI9bBfmgkSEB4SEMJojk3pXBjNLWaJpBBx1VAQEAIfkECQQA/wAsGQAxAGEAIwAACP8A/wkcSLCgwYMIEypcyBChuXTm5plrSLGixYsV65WrZ04jx3oYQ4ocmTAeunYRT6Z8R7KlS4seN27sOBPky5s4C6qch+5dSpQ82eUc+rKm0Y/kNBJdOhJoz5VQ5zGdepHmx6MypVLduvDdzqc8fYqdyLXswXLzZF5FKtGs24JiwcpFafOt3XrkJHrsmDeiOLuAzcX1yRMoWcB2s6qlibixXMKHGyOuJ+6j5MuIQyzRXGIz5oty1OyxExpjiRVIYBBBrbrE54Zt9oievSd2RSIiNi/p/AFJ5xAin7kqK6f4Hjl2RMvJoyYPxRKpVyNpYQN6a4vPZjmDtX3ZcKaxRaf/kb1nvPiGmjnr/r17SQeKwo29eiZNPjRpTIvnWS7neB43/qnBUGowmBAda6sRoVpDycyyCyzPxKIMhLMs8wpR5IVHHm2inaHQZr6tJyJnDBnjSnyuyGeifZAMBSB//vW3nBv7xaGQCURYJ51qrAGBGkO2ePdMkBASSYwtuwy14ZK0hadQiOpFqRtwCkGiYoqvrJgllkMtp9x+MR5n3EKp+XjggQrCsJAtRS7T5pvPwJITc0zW2cZC6Y3YXnoLpYilloCemJNypIU543EM2bCCgjvu6CNDy9jSC5xExundUBpyuGRDSEjJXmcMWbnllSpK80yWRPFnx4ur7uccRTYYTwhDrGhSBGEsbg6Zq6SwLANehptahMQHS+TGZ0UmnhpoLVnix9SLoYk5EhAtABHSLxT+4oozsfwy3yhc0YmZls9AomyLr5klZJDbxsJUQAAAIfkECQQA/wAsGQA3AGEAHQAACP8A/wkcSLCgwYMIEypcyPDgPHPz0L0z966hxYsYM1qMV65eR3P2yj3USLKkSYTtIKJLGfGdRHMnY8q8+NBjPXM2O3acybNnQXQUzbF8OTFlRZ9IZeIkV/OjTZzlkko1GXHoxJYqXU7ditGp15s563Edy9Bq1rPzzpFdi7AjObBfobKdW3BiOrQvW04tsSTEEr4l6BKcpxOu4agF5ajZY0cxyRVIYBCBDAPICsECVZp1mbJgmz2LQ+/5jJHvh79LTvMNgfmfU6ZuPSaWI2ePHDuL5eRRk8ciZRiQW9gwgaQFkcAXic1aBstZrGWxSKq86/KuZ9B70mDXvjhNw9V9w6//RsL3ojFXxl49k5beGCSTSxHSzqO7tm43tnczjDw88mT/JUQGQ0PB2LILLM/EogyCy8GSFHafiSbhaAv5JYJ4GPqFnELnPYMeeq+clx407/mUG3352ZcHfrQptMJx/lH2X2WQMWTLMq48cyOCOxJjIFLYTSgadwqRlyFqfiW5EIgihsgkiEjpdqKK9jW2x0KRWRZjjETAMKBCv/DInI5j7pigT0GmOSFDSR4JHmsKhciek+09+YyJtuFBZX4sMgRclzPOaBlDPvYi5qHPLPcKUtypmWZDbmLIECR1VkqneklVyaIdbtDXm0UwECfZi6MiYRGDZZYZ5p1SRTjaoxgdN+nXRR5ael4tIZYoFYuK2SZHSQHC8ANJq87yiyvO/aKeg2Sp0VpBTT4DyTO5PvssjmQiG51UAQEAIfkECQQA/wAsGQA+AGAAFQAACP8A/wkcSLCgwYMIEypcyPCguHrm6pWbZ66hxYsYMzZE987cO47mKLbTSLKkyYPlINYjp3JixJMwY1o0ly4kyHno2tmUybMnQZYpU0YUulIiQTV43OyRY0cNyRVEYBBZgQQGDJ8XO+LUehNdzXkD2+xRsyfN2LMYQyxRW2LtkrYfMroyNvcVXWMYh7bcG1SgHDlKmZJlKiePRaotbFCVaqIqEYyuns36BcvZZFjPLuL82lWrx39iyYo+K9rwQhFrkaBm67atRUjPIBmzK9uutFoWg0rcq9ecmjxu8hSWs1T40qYMo051vHg5DCAMI8dChtnWMsyjesFa1rDmR65cv5L/Hj+abJqFrNO/dRuC4V27dd/TbZiSZW+J84IONj68+HA8CxFRAnMEWkXVQs/YQlmC1zGI2SzXNeSRTeDtRN6FoSm0nnptqeXhQrXJF19dmTH0TlD57abXP8EFxh9/f+2xUFWKFTiVcgslAwsx1lXXYI8JWoQTRR/pNA876Qh0VmgXksWQh61F+aFC8M0mopWuFIORbkMdtRRg/h03GEMwQCVVc1StoNhjCtGioI9wMngKSRUdxKRZ5ZUlI3rspdYhEq65RxuWhL6CFYvHBfdXYHIcdqNUA64AQwlsMvSKZLtENsqCEG53KGhLnmUWRh1uuB5kdD3jSi1V2vWpQIE1HrWUGyRNikQLUx2hUZw9cveql79eJA0r8KnKyqcBAQAh+QQJBAD/ACwZAEIAYAARAAAI/wD/CRxIsKDBgwgTKixo7NXChxAFurHjZo+cPG4iGkQCA0YJJC2IaCS4y9UyWMRgPRs1kiA6dPPQvTM376CaPTfb4NyTZs/IEktCLBERdAnQlg2NQXr2ypgrpy3/1TNXr9w8qlYLXqwoRw5XinkimiACw0YJskBWcBQZ8eQzWyXf7lJpa2Q7mujSmXuH7m5NgTpv9rxJmKfPh0WJCgW6eAnEpE+bPp0MFeLUqpjJYS5XT6AcNXkuyrEYmnTGhWSJmFirFoZqjhBhLZvl1pbbWb9eOYOIjuZevDP56m23c/DOwjcfNl5utGiJhU8hQZ4u2dhDrFcxY918UzTp0aJDy/9Bvdp1ayLnV7BNuAwu3dpuZcN6KBy4fb7vjusvPFhhc+aMDRXUQtJRVt2B1i3E2YKXcUYVOVe5kUd3pXknhx0XKiQCSOixxhpZNiwEy3skvhUffXvJZF9Mes1T3H76KYdEgDQWRcJCTUmHYGROPfMQZ5ptt92C/1iE4XcWeWXRQx2a56F5UTwESzIl2kbXLxCxuKKKMdUU2B5fIneYQjUC6NhDTDlF3TORQcSgg5tpJ1GS3X1mZESujeVkSGpp1N4vKsUSVyzLuKIRXnfxlaiKBBnn6JgQAfXBfzMOqFGarrDJZi3zjQRnkHIWBFpXEo4XFQxprfVRVALZYotJtLETKlBMM101k6wjCYXrrglhZVBAAAAh+QQJBAD/ACwZAEIAYAASAAAI/wD/CRxIsKDBgwgTKhxozJUxSM4gLZxI0U0eNXni5JFjh6JBIitAIoEBwyPBWMpgPbO1DFatUbFMyhTYZo+aPTVvptkjs8OSEEtK/Ay6RCYkY68ePkt61OHMgeXmlUPI0aIcOTflXOxIUQQRGCJb2CgxkojHWS2fzdrlaqUtlbOIzXyHbp45u+0K5sRpc89OnTwnDhUaAomIwUUnIm242GFSh65MmqtXrt7kypPJDbS5ceMerXI+53Ez8SsME2VXjASiGkaLhb1gOUOrkmXtZCppUURH95053+nu8jb3r+/em8j7TgTKnChQwkEXOjz6uHHDZ04nUrZbjxzl7pbr/f/L6hm0aIxy3ihsQYQs2NYiSapemMzWr9ppbT+D1XIi3XbC+TYPOsHRlU5fySXIVxoKIQHdg4iFsBB1jFX32FLGTFTZhuFhBp45WpEXmnkcaaWQe/GlGBJYC+2C34srLdNWZAvZ1VuAwgE4D4I8Kricc0AK9cFPEz5knYXYUZRZh0xeltVVoo140WelrajiSDCENJEtLsYIoy22UDRgcAMKOFxv/xzXo3ILNQfhc4lNZGGF2GVIkYd4hucdceN9ZseTbvjpEUmovZcaEiuYNMt9z8TyS1ux9GKSjsOVKVxw8Qy0119setTcYXBKKNOFr2D3zEzfXabndwVZVd5T/4ApZcJXrBHxGqz/jCIXrmaSSaBwuFI0FAnBFlvQdxxeZuyyzJpkpoAEBQQAIfkECQQA/wAsGQBCAGAAEgAACP8A/wkcSLCgwYMIEyocaMyVMUjOIC2cSNFNHjV54uSRY4eiQSIrQCKBAcMjwVi/YD2ztQxWLVixTMoU2GaPmj01b6bZI7PDkhBLSvwMukQmJGOvHj5L6vDVs5keOVqUI+emnIsdKYogAsPGipFETIA12UulrV2uVu4yC/Udunnm4KYrmBOnzT07dfKcOBQoUKF/i05c2hBpYYeITZqrV67e4saQB9rcuHHPVTmW87iZyBWGWBgiSX5usbDsslktV6ae9cvpLIpv0b0zNztdXHTtzP27W/em77sT/Q4FTPTvwqRHmRpu2vDpRMZw65FjLN1xvX9WK1/OjFHOG4UtiJT/APsVdHkYXxeuTKnabOpYy15NdJt7nuzbtunf/c3fbhqFSBAn4HA/LZRcYcoxRdhE0z1mXWOLNXhVdphtx9FVCo1nHnnkcUXEQmu1JyJLabkyUX732TebfbbNs9+L/QVX3IxCfVCgQkcdyFxTz5g4UYQPBgmZVVRlVuFFlnFWXmihefXhQrOEyJJ7ZtlCEYu3rXjfbO/80xuMwC0kwk8BEhiYRwki2KMxHk0HWZBA6oadZXYQ6QadHpUgHkihoYcEaRStp1IsaD0Dn3wU5Udblrfl1iVNd+UVpkdjhoBEpUN9MJOCJbIpk3TRQVjdYwRNpR1U/5TgpHlPohrMK8SMHoLqoljWig6qJllaAq68HkTdm6T2KuywM2m5IkEBAQAh+QQJBAD/ACwZAEIAYAARAAAI/wD/CRxIsKDBgwgTKixo7NXChxAFurHjZo+cPG4iGkQCA0YJJC1gaCS4y9UyWMRgPRs18mA7hWr2xGwjc0+aPSNNLAmxRMTOJSWWtGxozFXRo65aCjRnr1w9c/PKGbxYUY6cqhTzRDTBEUgJIjC8dtW4S+Wsk85m/VIJayQ6qOjamXuH7t3cgTRj3ozJ1ybOhz+D8gz6AajQh0SNvjq62GjSiObqlZsXmdxTyfMEylGT56Ici51BZ1wIFsgKjkROw7ChesVDWMvOqrR18pnaV84gz4sL1+5uuf9q7q3ZN+bDwYGTD15oFFLi542NPXRqObJT65Ilx/QM+rPnznJIc/+FkRq1ahgriCxcZqvsM9qza8Nuu5Buut747RPf3zevQiSCGYYcTz6FsJBzjkHHmHQLOeXgZdfVQw5lF20XGndWfaYQVy2UR55qqYFlw0KwxGfie/I95Ftd+O3mm3D87XccgMoJuAQJCzX2THQ8FvXMQ9gFmZ11wclhh3cX2rHdQx42CeIKhykUyy+voGgiMWpB9FuLLNL1zj/D5cWfVoANaGNQEBEFyY5IGSNNQxBFKOdl1Ulk0WZ3bmdHROSZABYR45WnEXsl2bZWWss8BhFccrkIlTnADTTcpH9ttURhAaI5EpuKFVULfRFJCGFUQ9ZTkIWeKSWQWKt9pOo/ttgZYtJZqjbKm5eQJqTGqxvx6utBD1om1UABAQAh+QQJBAD/ACwZAEIAYAARAAAI/wD/CRxIsKDBgwaXIFzIsKHDgfYaurHjZo+cPG4eGjRBZAWQFURgANFYsJerZ7F+uXJG0mA6dPHQtTNXj51BNXtwtsm5J82eliGWBC0hFAnRlv+MvTJ2cqmrWq6QkqtHcyrNcvPKEbxYUY6crhTzaDSBBAYRsmZLlB2p0dbKWSqJwYUllyS7d+bmoUuXFx1evQJ34vSJs3DPnw6LEh2qWKHDZ6+eQVLKlLI0yBqp1iunmfPVegLlqMlzUY5F0qczNgwJRK3ZFWWJuIbhMHKsZbCe2cKtu1fuhzPf+e37d29enoR5GsbpkLHzJYuhO6zslLIr6w+rdt7OuRzO0qdNl/8mLYchSNcdY8OGAQN2w1+2fuXePZ/3rGWvHOrlq7c43v/KBWiYYAxBJ5SBzwUVQkOTVecgU7Us5ZBnm2131TzmXPQdauB5ZRpDIay1XnqvhUREQ7bQRZ9uvO0WGSwO+UfcjPPwJJiAPDWH4I7RLcjQUtJYJ2Rk1zmk3WefdfePRV6Fd9p3Dn3UEYnprWDDCkc4dN9JK9In1y4P7UfjcMKl88+NywX40BIfIKEggkY51hBkz1z3oJ2ZIVnhhQOB9R1FTGoEEkhpIXEeEiQ5E19usSRz0ii4taTXTBjyJ1NByWWK2FhswnlUS5AxVWedSiH1D4abZVXhQRuWZqpAJMIeUMKJphIDC2+xODPKq6eSuVdDavAqbEPGQDKsQwEBACH5BAkEAP8ALBkAQgBgABEAAAj/AP8JHEiwoMGDCBMqXMjwILl65SDGK4fQTR41eeLkkWOnoUEiMIisQAIDiEeDsJz9QuYq2cmC6N6ZmxdzpjmDbfao0ckzzZ6XJZaEWCJC6JKgL/89e2XMlTGmr2pBSlpunrl6D69GvDmQo5w9HHfKudix4UgYNkqABHKWyElksJ7Z2uVKri1Yy2ydNCeTZrqZ6NoBFphzp0/DPX8uDDq06FDGR5c0fNq06TOnmJ82jMi5nlbPECH+07lxI1jTY90wBEnEBEmRr13DgMEw7qxfcW0ty73bWUOZ72rS7Ivu7zyehXnuXK5Y4WOjkKMvZAqJslOmmZ0y/Mw9NGexqMNj/5TzZmHr123Tm1TobC7v985i7WZIU/BwwMD5Kt/PPGcahUhEB51Rji1UHXbWWbeUMQx1tlVoWlk1FnhfjVWhHWMthEQLsIWUHmsL7fKeXLuR+MozsDAEnHAs2sffizsxFEKAAz732EKZIajjZb4tFFFWEHoHkVh4VBieG2AxxBZ6THrIEDLukTiifB4Vh9+VwbHzz2Ew8tRQjZE9N1mOlSHoikegPajmPF2BZQeScshhUYYNhWQCayNxONJJz9w2JW4v1cdXYIClU1ByXMZ4UlEfhEnjS9dZdmJdTCX1z49pVnRahXJY+g8RJcS2XlIk1iVfip4KlA46bDKkRqqwKgeEWS2xLhQQACH5BAkEAP8ALBkAQgBgABEAAAj/AP8JHEiwoMGDCBMqXMjwYLl6D8vFK4fQTR41eeLkkWOnoUEiMIisQAIDiEeDsJz9QuYq2cmC5t6Zm4dO5jxzBtvsUbOzZ5o9L0ssCbFExNAlQl/+e/bKmCtjTV/VgqT0obl65OpdLXeTIEc5ezjylHOxY8ORMGyUAAkELZGTyWA9s/Ur5ay6y0adNNduJrp0fm3i/KeT50/DPoEuFErUKFHGSJc0hOqUMiTKT181zLpVK0TPXCnu3LgxbGmybhiCJGKCpEjXrWE0lDtrmVxbtp/VTtmw77uagf32ndezcE+eyBUrfHwUsvOFTS83zVz56VOGVzl/7hxx7OnvGOW8/1n4OqRbtDBWvFXozNau27lxp4xlmyHN4cBpyvz97rj/5DqloVBkzBV4VAgLSVfZdJgxZQxDEW0noVVkeQcWWRfaQZZCI6l3nmvqhbTQe3PFZ+Irz8DC0H75tTjcfzDyxFBjzdX42ELWYaYjiq44AyFWoAXZXVh4XPidG2GpFmJ5r7WQ3noJIUMXfFQ+Q59HfwWnX0zotENYjP4x9IGNBCJh1GTR7VidRzdNCNo8A41lB5JyyGERRx61INJqI+lZAhIn6baLKyXStoxmJ903kzmA3VeQcYf19JJRYzKGRFIvOfUMdZkp9U+boX120J2neSpQerAB6ikx8rF6qKkD7Q/HDqymSkbrQNBIcytDAQEAIfkECQQA/wAsGQBCAGAAEQAACP8A/wkcSLCgwYMIEypcyFChvYVu7LjZIyePm4YHkcCAUQJJCxgYCwZz9SzWL1fOYIUsmA5dPHTtzNVjZ1DNHpttbu5Js2eliSUhlpQAimToyn/PXhkjqdTV0qPk6sksV49quXnlCFacKEcOV4l5ML7QSMQE2Y4wgIS0BcuZSVfEZi0jqRIju3fm5pmL+Q4d3nnoBOa0ydOm4Z09GRIdGpRx0SUNkxqDJNnpq2eWMUqtqrfqZqoC5ajJU1EORdKnLy4kkhYtkRVnNa5geHlWMljPbC3DPesX7oZ8/eYVDjhdXp2FdR62ybAxUKHPGQtd6NTyUmNNsS91xlBm1KmfPZf/s1n6tOnSpOWsNgvjNVnYG1cQWejMlu/cu/Hznsuw+PC/wuH1jnIEHjaYQo85p+ASIgBFnXbWRViLUgxRBd6FnJlTEXmoldeVaQqZ1YJ77cH3Gms2LMQWMbrh1iJ+l9WlEIA0/nccYQUS2FyC0C1IwkJKSQPhkJc51Z1nGFpV1T8U2XFeh3aQx9CJ8pkIWwtArADZQrHMpZ9+ce3SUF8xAVZjX+n8k9xgBYalWAhIBKXgY5EVSeR1rmiW5GfzDMSVaBQBKocdGJXIGhEdyddRSLndF4syJI2yzCsrAVamOcZZWlBynCaG0U8f9EjnShAmhVlSR/3T2VVKHsRhaakKIAQEWjYsmmpK98kVS6yqBohOmgqpwatBSAxLkDHGNhQQACH5BAkEAP8ALBkAQwBgABAAAAj/AP8JFChHzR45dtwMXMiwocAjJoisQNIChsOLC3e9emZrmatnsDCK/NfO3DxzJec5bLPHYJqWe1iOZGhiyYclJWziXDKTobFXxiA9AwrJmKueDE/WK7e0KUM5edzkQSgVIVSkE2HAmNjChgmKFpHugvVs1q6PtmyRjYVUYDqTKM29Q/fO5MCXBlka3Auz55IQfwPnDIEkZ09WQF39NLpY8dGeSstFrmduqcp/edRMnXqQM9WZRGB4RQJDImkiJU7PhOVs1jKyHWEnIwtZLl2Tt+ehezsPJl6YfPOOBCxCsHHAIUYSbcz8o+KZlclRblqZqXWDUOV01p59qh2Rpb+W/85qWusKIiN/2foF+zVH97CWvZqpm3fu23XfAd/PV69I1MfthNxfIxWVGHOJDfXMTExVN12DlpkjlRvbVSjHhXuIlBoMQJDnYWjoidRLeyS+9xFbI9Wlm4r3qQiTXvz1NZyANA5GoEjLHajjMx9BR92P1i2F2YUUZneQHdjNZMNE53lI2pIhimRWibFx1EtP8aCTUou2vfMPjL/x9dJMyBUWoGEzDcXYjo4h9eCbDg5UZELeFSkHUuGddt54Uaa53lq/nPhaW5VpCZd9JS0E46IZtjWgjYCV0NY/jSnY5qQQShZkOQ0VuYedkwoEAxIfhioQR79sFAt7pv5jEjv5aRSJjkhqtNpQpLYuZEyuDDElHUMBAQA7",gC=RS([...L1]);function Q3({htmlString:l,wpAndTaskId:t}){const[n]=yn();return he.useEffect(()=>{!l||!t||n.update(()=>{const s=Mn().getChildren().filter(_r);s.forEach((r,o)=>{var h;const a=r.getChildren().find(Vs);if(!a)return;let c=r.getChildren().find(m=>Jt(m)&&m.getTextContent().startsWith("Figure"));if(!c)for(let m=o+1;m<s.length;m++){const g=s[m];if(g.getTextContent().trim()==="")continue;const b=g.getChildren().find(v=>Jt(v)&&v.getTextContent().startsWith("Figure"));if(b){c=b;break}}if(!c)return;const i=typeof c.getId=="function"?c.getId():void 0,u=c.getTextContent(),d=parseInt(((h=u.match(/\d+/))==null?void 0:h[0])||"1"),f=i||Rc(u,d,t);a.__captionId=f;const p=new qo(c.getTextContent(),"black",f);c.replace(p)})})},[n,l,t]),null}function X3({htmlString:l}){const[t]=yn();return he.useEffect(()=>{l&&t.update(()=>{Mn().getChildren().filter(dr).forEach((s,r)=>{const o=s.getPreviousSibling();if(o&&_r(o)){const a=o.getChildren(),c=a.find(i=>i.getTextContent().startsWith("Table")&&i.getId&&i.getId());if(c){const i=c.getId();s.__captionId=i}else{const i=o.getTextContent();localStorage.getItem("tableCount")-1;const u=Dp(i,r);s.__captionId=u,a.forEach(d=>{if(d.getTextContent().startsWith("Table")){const f=new qo(d.getTextContent(),"black",u);d.replace(f)}})}}})})},[t,l]),null}function eR({setEditorEditable:l,htmlString:t,isEditable:n,setIsexistingIdPresent:e}){const[s]=yn();return he.useRef({}),he.useEffect(()=>{s.update(()=>{const r=new DOMParser,o=Ww(t),a=Vw(o),c=r.parseFromString(a,"text/html");c.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(f=>{const p=f.getAttribute("id");p&&f.setAttribute("data-preserved-id",p)});const i=Ed(s,c);i.forEach(f=>{if(jd(f)){const p=s.getElementByKey(f.getKey());if(p){const h=p.getAttribute("data-preserved-id");if(h){const m=CustomHeadingNode.create(f.getHeadingLevel(),h);f.replace(m)}}}}),Mn().clear();const d=En();Xo(i),Xo([d]),s.setEditable(!1),setTimeout(()=>{s.setEditable(n),l(!0)},5e3)})},[s,t]),null}function tR(){const[l]=yn();return he.useEffect(()=>l.registerCommand(vs,t=>{var s;const n=t==null?void 0:t.clipboardData;if(!n)return!1;const e=n==null?void 0:n.getData("text/html");if(e){const r=new DOMParser,o=r.parseFromString(e,"text/html"),a=e==null?void 0:e.match(/<!--StartFragment-->(.*?)<!--EndFragment-->/s),c=a?a[1]:o.body.innerHTML;console.log("fragmentHtml",c);const u=(r==null?void 0:r.parseFromString(c,"text/html")).body.children;if((s=Array.from(u))==null?void 0:s.every(f=>f.tagName.toLowerCase()==="table"?!0:f.tagName.toLowerCase()==="p"?f.innerHTML.trim()==="<br>":!1))return alert("🚫Standalone table was pasted — blocked."),!0}return!1},wo),[l]),null}function nR({initialEditorState:l,userObj:t,CollabApiKey:n,docId:e,mentionItems:s,type:r,updateSharepointList:o,updateSharepointList2:a,savedComments:c,styleConfig:i,handleSaveComments:u,pagination:d=!1,customHeight:f,customWidth:p,isCollab:h=!0,defaultState:m,editId:g,toolbarShow:b=!0,isEditable:v=!1,showTabContent:_=!0,wpAndTaskId:E,enableCaptions:S=!0,showPagination:w=!1,setshowPagination:y,editorTitle:x,showPdf:C,showCommentPlugin:T,exportToPDF:R,editorForTemplate:F}){const I=he.useRef(null),{historyState:B}=j_(),[A,j]=he.useState([]),[O,L]=he.useState(""),[N,U]=he.useState("skyp_1"),[D,z]=he.useState([]),[K,G]=he.useState(!1),[P,W]=Da(),[J,H]=he.useState(null),[$,Z]=he.useState([]),[X,Y]=he.useState(null),[ee,ie]=he.useState(!1),[fe,de]=he.useState(!1),[ne,Ee]=he.useState(!1),[xe,me]=he.useState([]),je=he.useRef(null),[ue,se]=he.useState(!1);he.useState(!1);const[pe,ce]=he.useState(!1);console.log("codoxStarted, editorForTemplate",K,F);const Te=async()=>({state:{root:[]},timestamp:Date.now()});let Ae=()=>{console.log("[Lexical Demo][onBlacklistedInsert] blacklisted combination found")};const{userName:ke,userId:Me,userEmail:We}=t||{userName:"aa",userId:"aa",userEmail:"aa@sample.com"},De={name:ke,id:Me,email:We},Le={docId:e+"_"+g,apiKey:n,user:De,hooks:{fetchDocOnNetworkReconnect:Te,contentChanged:(Ht,ct)=>{},usersUpdate:Ht=>{j(Ht),renderOnlineUsers(Ht),console.log("asadasdad 111111111",Ht),console.log("[Lexical Demo][usersUpdate hook] hook invoked by Codox: ",Ht)}}};he.useEffect(()=>{let Ht=[],ct=[];A&&A.length>0&&A.map((Ot,we)=>{ct.includes(Ot.name)||(ct.push(Ot.name),Ht.push(ae.jsxs("div",{title:Ot.name,className:`avatarStyle avatar-color-${we+1}`,children:[" ",Ot.name&&Ot.name[0],Ot.name&&Ot.name[4]]},we)))}),z(Ht)},[A]);const Ce=()=>{je.current&&(je.current.initComments(c),["content_changed","error","users_update"].forEach(ct=>{console.log("[Lexical Demo][[Subscribe to Codox Event]: ",ct),je.current.on(ct,Ot=>{})}),je.current.start(Le).then(()=>{console.log("[Lexical Demo][codox.start] success"),G(!0)}).catch(ct=>console.log("[Lexical Demo][codox.start] error",ct)))},Xe=()=>{je.current&&je.current.stop(),G(!1)};he.useEffect(()=>{setTimeout(()=>{Al('[class^="finalProposalEditorContainer_"]').animate({scrollTop:0},500,()=>{})},1e3)},[]),he.useEffect(()=>{Al(".editor-outer").css({justifyContent:fe?"flex-start":"center"})},[fe]),he.useEffect(()=>{(async()=>{if(!N)return;K&&Xe();let Ht=m;if(Ht)try{DS(Ht,gC),H(Ht)}catch(ct){console.error("[APP] error: ",ct)}})()},[N]),he.useEffect(()=>{J&&e&&!K&&n&&setTimeout(()=>{Ce()},2e3)},[J,e,K,n]);const Ie=he.useMemo(()=>{if(J)return{editorState:Ht=>{Ht.update(()=>{const ct=new ef(Ht);c&&(ct.setComments(c),Ht._commentStore||(Ht._commentStore=new ef(Ht),Ht._commentStore.getComments().length===0&&Ht._commentStore.setComments(c)))})},namespace:`editor_${e}`,nodes:gC,onError:Ht=>{console.error("[Lexical Demo][Editor Error Captured]: ",Ht)},theme:sy}},[J]),Ze=he.useRef(l);he.useEffect(()=>{Ze.current||(Ze.current=l)},[l]);const at=ae.jsx(Id,{children:""}),[rt,it]=he.useState(null),[Kt,Qe]=he.useState(!1),[Gt,Ut]=he.useState(!1),[Qt,en]=he.useState(!1),Et=Ht=>{Ht!==null&&it(Ht)};he.useEffect(()=>{const Ht=()=>{const ct=Mc&&window.matchMedia("(max-width: 1025px)").matches;ct!==Kt&&Qe(ct)};return Ht(),window.addEventListener("resize",Ht),()=>{window.removeEventListener("resize",Ht)}},[Kt]),he.useEffect(()=>{const Ht=ct=>{X&&!ct.target.closest(".reference-toolbar")&&Y(null)};return document.addEventListener("click",Ht),()=>{document.removeEventListener("click",Ht)}},[X]),Al(document).on("keydown mouseup",`.editor-autosave-${g}`,()=>{}),he.useState(""),he.useRef(""),he.useEffect(()=>{l&&t&&t.userName&&e&&i?setTimeout(()=>{se(!0)},1e3):se(!1)},[l,t,i]);const zt=Ht=>{o(Ht),L(Ht)};return he.useEffect(()=>{const Ht=document.querySelector(".finalProposalEditorContainer_c1fd8e2e");if(!Ht)return;const ct=()=>{console.log("Editor container scrolled"),Y(null),Ee(!1)};return Ht.addEventListener("scroll",ct),()=>{Ht.removeEventListener("scroll",ct)}},[]),ae.jsx(ae.Fragment,{children:ue?ae.jsxs(fp,{initialConfig:Ie,children:[ae.jsx(C_,{children:ae.jsx(F1,{children:ae.jsxs("div",{ref:I,className:"editor-shell",style:{position:"relative"},children:[ae.jsxs("div",{className:!K&&!F?"blurred-editor-content":"",children:[ae.jsxs(ae.Fragment,{children:[ae.jsx(eR,{setEditorEditable:en,isEditable:v,htmlString:l}),ae.jsx(X3,{htmlString:l}),ae.jsx(Q3,{htmlString:l,wpAndTaskId:`${E.workplanId}-${E.taskId}`}),T&&ae.jsx(pC,{showComments:ee,setShowComments:ie,handleSaveComments:u,userName:ke,userEmail:We,mentionItems:s,mentionedEmails:xe,setmentionedEmails:me,wpAndTaskId:E,setShowCommentInput:Ee,showCommentInput:ne}),ae.jsx(tR,{}),v?ae.jsxs(ae.Fragment,{children:[i&&b&&ae.jsx(px,{styleConfig:i,setIsLinkEditMode:Ut,onlUser:D,showComments:ee,setShowComments:ie,parsedHtmlString:O,enableCaptions:S,wpAndTaskId:E,editorTitle:x,showCommentPlugin:T,exportToPDF:R,showPdf:C})," "]}):"",ae.jsx(Z3,{}),ae.jsx(hC,{onChange:zt}),ae.jsxs("div",{className:"editor-container tree-view",children:[ae.jsx(_w,{}),!h&&ae.jsx(Lp,{}),ae.jsx(U1,{}),ae.jsx(ww,{}),ae.jsx(pw,{}),ae.jsx(yp,{externalHistoryState:B}),ae.jsx(qp,{contentEditable:ae.jsx("div",{className:"editor-scroller",children:ae.jsx("div",{className:"editor",ref:Et,children:ae.jsxs("div",{className:`editor-autosave-${g}`,children:[" ",ae.jsx(Pd,{className:(K||Qt)&&v?`ContentEditable__root ${w?"content-editable-grid":""}`:`ContentEditable__root no-events ${w?"content-editable-grid":""}`})]})})}),placeholder:at,ErrorBoundary:Dl}),ae.jsx(H1,{}),ae.jsx(Sw,{maxDepth:7}),ae.jsx(aw,{hasCellMerge:!0,hasCellBackgroundColor:!0}),ae.jsx(Dw,{}),ae.jsx(mw,{enableCaptions:S,wpAndTaskId:`${E.workplanId}-${E.taskId}`}),ae.jsx(gy,{}),ae.jsx(jw,{}),rt&&!Kt&&ae.jsx(ae.Fragment,{children:ae.jsx(Rw,{anchorElem:rt,cellMerge:!0})}),ae.jsx(BS,{references:$,setReferences:Z,position:X,onClose:()=>Y(null),IsexistingIdPresent:pe}),ae.jsx(zS,{setContextMenu:Y,references:$,setReferences:Z,containerRef:I}),ae.jsx(US,{references:$,setReferences:Z}),ae.jsx(M1,{}),ae.jsx(HS,{})]})]}),!K&&!F&&ae.jsxs("div",{style:{position:"absolute",zIndex:999,top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(255, 255, 255, 0.6)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"start",backdropFilter:"blur(6px)"},children:[ae.jsx("img",{src:Lh,alt:"Spinverse Logo",style:{height:"60px",marginBottom:"20px",marginTop:"110px"}}),ae.jsx("img",{src:Fh,alt:"Loading...",style:{height:"50px"}})]})]}),h&&ae.jsx(MS,{debug:!0,ref:je,onBlacklistedInsert:Ae}),P]})})}),i&&ae.jsx(LS,{styleConfig:i,docId:e})]},e):ae.jsx(ae.Fragment,{children:!K&&!F&&ae.jsxs("div",{style:{position:"absolute",zIndex:999,top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(255, 255, 255, 0.6)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"start",backdropFilter:"blur(6px)"},children:[ae.jsx("img",{src:Lh,alt:"Spinverse Logo",style:{height:"60px",marginBottom:"20px",marginTop:"110px"}}),ae.jsx("img",{src:Fh,alt:"Loading...",style:{height:"50px"}})]})})})}const rR=typeof window<"u"&&window.document!==void 0&&window.document.createElement!==void 0?he.useLayoutEffect:he.useEffect;let oR=class{constructor(t){this.key=t,this.ref={current:null},this.setRefElement=this.setRefElement.bind(this)}setRefElement(t){this.ref={current:t}}};const mC=l=>{const t=document.getElementById("typeahead-menu");if(!t)return;const n=t.getBoundingClientRect();n.top+n.height>window.innerHeight&&t.scrollIntoView({block:"center"}),n.top<0&&t.scrollIntoView({block:"center"}),l.scrollIntoView({block:"nearest"})};function yC(l,t){const n=l.getBoundingClientRect(),e=t.getBoundingClientRect();return n.top>e.top&&n.top<e.bottom}function iR(l,t,n,e){const[s]=yn();he.useEffect(()=>{if(t!=null&&l!=null){const r=s.getRootElement(),o=r!=null?function(d,f){let p=getComputedStyle(d);const h=p.position==="absolute",m=/(auto|scroll)/;if(p.position==="fixed")return document.body;for(let g=d;g=g.parentElement;)if(p=getComputedStyle(g),(!h||p.position!=="static")&&m.test(p.overflow+p.overflowY+p.overflowX))return g;return document.body}(r):document.body;let a=!1,c=yC(t,o);const i=function(){a||(window.requestAnimationFrame(function(){n(),a=!1}),a=!0);const d=yC(t,o);d!==c&&(c=d,e!=null&&e(d))},u=new ResizeObserver(n);return window.addEventListener("resize",n),document.addEventListener("scroll",i,{capture:!0,passive:!0}),u.observe(t),()=>{u.unobserve(t),window.removeEventListener("resize",n),document.removeEventListener("scroll",i,!0)}}},[t,s,e,n,l])}const vC=po();function sR({close:l,editor:t,anchorElementRef:n,resolution:e,options:s,menuRenderFn:r,onSelectOption:o,shouldSplitNodeWithQuery:a=!1,commandPriority:c=Jn}){const[i,u]=he.useState(null),d=e.match&&e.match.matchingString;he.useEffect(()=>{u(0)},[d]);const f=he.useCallback(h=>{t.update(()=>{const m=e.match!=null&&a?function(g){const b=jt();if(!St(b)||!b.isCollapsed())return null;const v=b.anchor;if(v.type!=="text")return null;const _=v.getNode();if(!_.isSimpleText())return null;const E=v.offset,S=_.getTextContent().slice(0,E),w=g.replaceableString.length,y=E-function(C,T,R){let F=R;for(let I=F;I<=T.length;I++)C.substr(-I)===T.substr(0,I)&&(F=I);return F}(S,g.matchingString,w);if(y<0)return null;let x;return y===0?[x]=_.splitText(E):[,x]=_.splitText(y,E),x}(e.match):null;o(h,m,l,e.match?e.match.matchingString:"")})},[t,a,e.match,o,l]),p=he.useCallback(h=>{const m=t.getRootElement();m!==null&&(m.setAttribute("aria-activedescendant","typeahead-item-"+h),u(h))},[t]);return he.useEffect(()=>()=>{const h=t.getRootElement();h!==null&&h.removeAttribute("aria-activedescendant")},[t]),rR(()=>{s===null?u(null):i===null&&p(0)},[s,i,p]),he.useEffect(()=>wr(t.registerCommand(vC,({option:h})=>!(!h.ref||h.ref.current==null)&&(mC(h.ref.current),!0),c)),[t,p,c]),he.useEffect(()=>wr(t.registerCommand(Wu,h=>{const m=h;if(s!==null&&s.length&&i!==null){const g=i!==s.length-1?i+1:0;p(g);const b=s[g];b.ref!=null&&b.ref.current&&t.dispatchCommand(vC,{index:g,option:b}),m.preventDefault(),m.stopImmediatePropagation()}return!0},c),t.registerCommand(qu,h=>{const m=h;if(s!==null&&s.length&&i!==null){const g=i!==0?i-1:s.length-1;p(g);const b=s[g];b.ref!=null&&b.ref.current&&mC(b.ref.current),m.preventDefault(),m.stopImmediatePropagation()}return!0},c),t.registerCommand(Fs,h=>{const m=h;return m.preventDefault(),m.stopImmediatePropagation(),l(),!0},c),t.registerCommand(Ju,h=>{const m=h;return s!==null&&i!==null&&s[i]!=null&&(m.preventDefault(),m.stopImmediatePropagation(),f(s[i]),!0)},c),t.registerCommand(Ls,h=>s!==null&&i!==null&&s[i]!=null&&(h!==null&&(h.preventDefault(),h.stopImmediatePropagation()),f(s[i]),!0),c)),[f,l,t,s,i,p,c]),r(n,he.useMemo(()=>({options:s,selectOptionAndCleanUp:f,selectedIndex:i,setHighlightedIndex:u}),[f,i,s]),e.match?e.match.matchingString:"")}function aR({options:l,nodeKey:t,onClose:n,onOpen:e,onSelectOption:s,menuRenderFn:r,anchorClassName:o,commandPriority:a=Jn,parent:c}){const[i]=yn(),[u,d]=he.useState(null),f=function(g,b,v,_=document.body){const[E]=yn(),S=he.useRef(document.createElement("div")),w=he.useCallback(()=>{S.current.style.top=S.current.style.bottom;const x=E.getRootElement(),C=S.current,T=C.firstChild;if(x!==null&&g!==null){const{left:R,top:F,width:I,height:B}=g.getRect(),A=S.current.offsetHeight;if(C.style.top=`${F+window.pageYOffset+A+3}px`,C.style.left=`${R+window.pageXOffset}px`,C.style.height=`${B}px`,C.style.width=`${I}px`,T!==null){T.style.top=`${F}`;const j=T.getBoundingClientRect(),O=j.height,L=j.width,N=x.getBoundingClientRect();R+L>N.right&&(C.style.left=`${N.right-L+window.pageXOffset}px`),(F+O>window.innerHeight||F+O>N.bottom)&&F-N.top>O+B&&(C.style.top=F-O+window.pageYOffset-B+"px")}C.isConnected||(v!=null&&(C.className=v),C.setAttribute("aria-label","Typeahead menu"),C.setAttribute("id","typeahead-menu"),C.setAttribute("role","listbox"),C.style.display="block",C.style.position="absolute",_.append(C)),S.current=C,x.setAttribute("aria-controls","typeahead-menu")}},[E,g,v,_]);he.useEffect(()=>{const x=E.getRootElement();if(g!==null)return w(),()=>{x!==null&&x.removeAttribute("aria-controls");const C=S.current;C!==null&&C.isConnected&&C.remove()}},[E,w,g]);const y=he.useCallback(x=>{g!==null&&(x||b(null))},[g,b]);return iR(g,S.current,w,y),S}(u,d,o,c),p=he.useCallback(()=>{d(null),n!=null&&u!==null&&n()},[n,u]),h=he.useCallback(g=>{d(g),e!=null&&u===null&&e(g)},[e,u]),m=he.useCallback(()=>{t?i.update(()=>{const g=Dn(t),b=i.getElementByKey(t);var v;g!=null&&b!=null&&u==null&&(v=()=>h({getRect:()=>b.getBoundingClientRect()}),ir.startTransition?ir.startTransition(v):v())}):t==null&&u!=null&&p()},[p,i,t,h,u]);return he.useEffect(()=>{m()},[m,t]),he.useEffect(()=>{if(t!=null)return i.registerUpdateListener(({dirtyElements:g})=>{g.get(t)&&m()})},[i,m,t]),u===null||i===null?null:ae.jsx(sR,{close:p,resolution:u,editor:i,anchorElementRef:f,options:l,menuRenderFn:r,onSelectOption:s,commandPriority:a})}const lR=/((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/,cR=po();class bC extends oR{constructor(t,n){super(t),this.title=t,this.onSelect=n.onSelect.bind(this)}}function uR({embedConfigs:l,onOpenEmbedModalForConfig:t,getMenuOptions:n,menuRenderFn:e,menuCommandPriority:s=Jn}){const[r]=yn(),[o,a]=he.useState(null),[c,i]=he.useState(null),u=he.useCallback(()=>{a(null),i(null)},[]),d=he.useCallback(m=>{r.getEditorState().read(async function(){const g=Dn(m);if(ti(g))for(let b=0;b<l.length;b++){const v=l[b];await Promise.resolve(v.parseUrl(g.__url))!=null&&(i(v),a(g.getKey()))}})},[r,l]);he.useEffect(()=>wr(...[Sc,pd].map(m=>r.registerMutationListener(m,(...g)=>((b,{updateTags:v,dirtyLeaves:_})=>{for(const[E,S]of b)S==="created"&&v.has("paste")&&_.size<=3?d(E):E===o&&u()})(...g)))),[d,r,l,o,u]),he.useEffect(()=>r.registerCommand(cR,m=>{const g=l.find(({type:b})=>b===m);return!!g&&(t(g),!0)},Tn),[r,l,t]);const f=he.useCallback(async function(){if(c!=null&&o!=null){const m=r.getEditorState().read(()=>{const g=Dn(o);return ti(g)?g:null});if(ti(m)){const g=await Promise.resolve(c.parseUrl(m.__url));g!=null&&r.update(()=>{jt()||m.selectEnd(),c.insertNode(r,g),m.isAttached()&&m.remove()})}}},[c,r,o]),p=he.useMemo(()=>c!=null&&o!=null?n(c,f,u):[],[c,f,n,o,u]),h=he.useCallback((m,g,b)=>{r.update(()=>{m.onSelect(g),b()})},[r]);return o!=null?ae.jsx(aR,{nodeKey:o,onClose:u,onSelectOption:h,options:p,menuRenderFn:e,commandPriority:s}):null}const dR=po(),fR=po(),pR=po(),hR={contentName:"Youtube Video",exampleUrl:"https://www.youtube.com/watch?v=jNQXAC9IVRw",icon:ae.jsx("i",{className:"icon youtube"}),insertNode:(l,t)=>{l.dispatchCommand(pR,t.id)},keywords:["youtube","video"],parseUrl:async l=>{const t=/^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/.exec(l),n=t&&(t==null?void 0:t[2].length)===11?t[2]:null;return n!=null?{id:n,url:l}:null},type:"youtube-video"},gR=[{contentName:"Tweet",exampleUrl:"https://twitter.com/jack/status/20",icon:ae.jsx("i",{className:"icon tweet"}),insertNode:(l,t)=>{l.dispatchCommand(fR,t.id)},keywords:["tweet","twitter"],parseUrl:l=>{const t=/^https:\/\/(twitter|x)\.com\/(#!\/)?(\w+)\/status(es)*\/(\d+)/.exec(l);return t!=null?{id:t[5],url:t[1]}:null},type:"tweet"},hR,{contentName:"Figma Document",exampleUrl:"https://www.figma.com/file/LKQ4FJ4bTnCSjedbRpk931/Sample-File",icon:ae.jsx("i",{className:"icon figma"}),insertNode:(l,t)=>{l.dispatchCommand(dR,t.id)},keywords:["figma","figma.com","mock-up"],parseUrl:l=>{const t=/https:\/\/([\w.-]+\.)?figma.com\/(file|proto)\/([0-9a-zA-Z]{22,128})(?:\/.*)?$/.exec(l);return t!=null?{id:t[3],url:t[0]}:null},type:"figma"}];function mR({index:l,isSelected:t,onClick:n,onMouseEnter:e,option:s}){let r="item";return t&&(r+=" selected"),ae.jsx("li",{tabIndex:-1,className:r,ref:s.setRefElement,role:"option","aria-selected":t,id:"typeahead-item-"+l,onMouseEnter:e,onClick:n,children:ae.jsx("span",{className:"text",children:s.title})},s.key)}function yR({options:l,selectedItemIndex:t,onOptionClick:n,onOptionMouseEnter:e}){return ae.jsx("div",{className:"typeahead-popover",children:ae.jsx("ul",{children:l.map((s,r)=>ae.jsx(mR,{index:r,isSelected:t===r,onClick:()=>n(s,r),onMouseEnter:()=>e(r),option:s},s.key))})})}const vR=(l,t)=>{let n;return e=>{window.clearTimeout(n),n=window.setTimeout(()=>{l(e)},t)}};function bR({embedConfig:l,onClose:t}){const[n,e]=he.useState(""),[s]=yn(),[r,o]=he.useState(null),a=he.useMemo(()=>vR(i=>{const u=lR.exec(i);l!=null&&i!=null&&u!=null?Promise.resolve(l.parseUrl(i)).then(d=>{o(d)}):r!=null&&o(null)},200),[l,r]),c=()=>{r!=null&&(l.insertNode(s,r),t())};return ae.jsxs("div",{style:{width:"600px"},children:[ae.jsx("div",{className:"Input__wrapper",children:ae.jsx("input",{type:"text",className:"Input__input",placeholder:l.exampleUrl,value:n,"data-test-id":`${l.type}-embed-modal-url`,onChange:i=>{const{value:u}=i.target;e(u),a(u)}})}),ae.jsx(Rp,{children:ae.jsx(Fi,{disabled:!r,onClick:c,"data-test-id":`${l.type}-embed-modal-submit-btn`,children:"Embed"})})]})}function _R(){const[l,t]=Da(),n=s=>{t(`Embed ${s.contentName}`,r=>ae.jsx(bR,{embedConfig:s,onClose:r}))},e=(s,r,o)=>[new bC("Dismiss",{onSelect:o}),new bC(`Embed ${s.contentName}`,{onSelect:r})];return ae.jsxs(ae.Fragment,{children:[l,ae.jsx(uR,{embedConfigs:gR,onOpenEmbedModalForConfig:n,getMenuOptions:e,menuRenderFn:(s,{selectedIndex:r,options:o,selectOptionAndCleanUp:a,setHighlightedIndex:c})=>s.current?kf.createPortal(ae.jsx("div",{className:"typeahead-popover auto-embed-menu",style:{marginLeft:s.current.style.width,width:200},children:ae.jsx(yR,{options:o,selectedItemIndex:r,onOptionClick:(i,u)=>{c(u),a(i)},onOptionMouseEnter:i=>{c(i)}})}),s.current):null})]})}class wR extends XE{constructor(n,e,s){super(n);Hn(this,"title");Hn(this,"emoji");Hn(this,"keywords");this.title=n,this.emoji=e,this.keywords=s.keywords||[]}}function xR({index:l,isSelected:t,onClick:n,onMouseEnter:e,option:s}){let r="item";return t&&(r+=" selected"),ae.jsx("li",{tabIndex:-1,className:r,ref:s.setRefElement,role:"option","aria-selected":t,id:"typeahead-item-"+l,onMouseEnter:e,onClick:n,children:ae.jsxs("span",{className:"text",children:[s.emoji," ",s.title]})},s.key)}const SR=10;function ER(){const[l]=yn(),[t,n]=he.useState(null),[e,s]=he.useState([]);he.useEffect(()=>{Promise.resolve().then(()=>iD).then(i=>s(i.default))},[]);const r=he.useMemo(()=>e!=null?e.map(({emoji:i,aliases:u,tags:d})=>new wR(u[0],i,{keywords:[...u,...d]})):[],[e]),o=rC(":",{minLength:0}),a=he.useMemo(()=>r.filter(i=>t!=null?new RegExp(t,"gi").exec(i.title)||i.keywords!=null?i.keywords.some(u=>new RegExp(t,"gi").exec(u)):!1:r).slice(0,SR),[r,t]),c=he.useCallback((i,u,d)=>{l.update(()=>{const f=jt();!St(f)||i==null||(u&&u.remove(),f.insertNodes([rr(i.emoji)]),d())})},[l]);return ae.jsx(oC,{onQueryChange:n,onSelectOption:c,triggerFn:o,options:a,menuRenderFn:(i,{selectedIndex:u,selectOptionAndCleanUp:d,setHighlightedIndex:f})=>i.current==null||a.length===0?null:i.current&&a.length?kf.createPortal(ae.jsx("div",{className:"typeahead-popover emoji-menu",children:ae.jsx("ul",{children:a.map((p,h)=>ae.jsx("div",{children:ae.jsx(xR,{index:h,isSelected:u===h,onClick:()=>{f(h),d(p)},onMouseEnter:()=>{f(h)},option:p})},p.key))})}),i.current):null})}const _C=new Map([[":)",["emoji happysmile","🙂"]],[":D",["emoji veryhappysmile","😀"]],[":(",["emoji unhappysmile","🙁"]],["<3",["emoji heart","❤"]],["🙂",["emoji happysmile","🙂"]],["😀",["emoji veryhappysmile","😀"]],["🙁",["emoji unhappysmile","🙁"]],["❤",["emoji heart","❤"]]]);function CR(l){const t=l.getTextContent();for(let n=0;n<t.length;n++){const e=_C.get(t[n])||_C.get(t.slice(n,n+2));if(e!==void 0){const[s,r]=e;let o;n===0?[o]=l.splitText(n+2):[,o]=l.splitText(n,n+2);const a=b1(s,r);return o.replace(a),a}}return null}function jR(l){let t=l;for(;t!==null;){if(!t.isSimpleText())return;t=CR(t)}}function kR(l){he.useEffect(()=>{if(!l.hasNodes([wd]))throw new Error("EmojisPlugin: EmojiNode not registered on editor");return l.registerNodeTransform(Zr,jR)},[l])}function TR(){const[l]=yn();return kR(l),null}const wC=RS([...L1]);function AR({htmlString:l,wpAndTaskId:t}){const[n]=yn();return he.useEffect(()=>{!l||!t||n.update(()=>{const s=Mn().getChildren().filter(_r);s.forEach((r,o)=>{var h;const a=r.getChildren().find(Vs);if(!a)return;let c=r.getChildren().find(m=>Jt(m)&&m.getTextContent().startsWith("Figure"));if(!c)for(let m=o+1;m<s.length;m++){const g=s[m];if(g.getTextContent().trim()==="")continue;const b=g.getChildren().find(v=>Jt(v)&&v.getTextContent().startsWith("Figure"));if(b){c=b;break}}if(!c)return;const i=typeof c.getId=="function"?c.getId():void 0,u=c.getTextContent(),d=parseInt(((h=u.match(/\d+/))==null?void 0:h[0])||"1"),f=i||Rc(u,d,t);a.__captionId=f;const p=new qo(c.getTextContent(),"black",f);c.replace(p)})})},[n,l,t]),null}function OR({htmlString:l}){const[t]=yn();return he.useEffect(()=>{l&&t.update(()=>{Mn().getChildren().filter(dr).forEach((s,r)=>{const o=s.getPreviousSibling();if(o&&_r(o)){const a=o.getChildren(),c=a.find(i=>i.getTextContent().startsWith("Table")&&i.getId&&i.getId());if(c){const i=c.getId();s.__captionId=i}else{const i=o.getTextContent();console.log("captionText",o,i),localStorage.getItem("tableCount")-1;const u=Dp(i,r);console.log("captionId",u),s.__captionId=u,a.forEach(d=>{if(d.getTextContent().startsWith("Table")){console.log("gtting here");const f=new qo(d.getTextContent(),"black",u);d.replace(f)}})}}})})},[t,l]),null}function NR(){const[l]=yn();return he.useEffect(()=>l.registerCommand(vs,t=>{var s;const n=t==null?void 0:t.clipboardData;if(!n)return!1;const e=n==null?void 0:n.getData("text/html");if(e){const r=new DOMParser,o=r.parseFromString(e,"text/html"),a=e==null?void 0:e.match(/<!--StartFragment-->(.*?)<!--EndFragment-->/s),c=a?a[1]:o.body.innerHTML,u=(r==null?void 0:r.parseFromString(c,"text/html")).body.children;if((s=Array.from(u))==null?void 0:s.every(f=>f.tagName.toLowerCase()==="table"?!0:f.tagName.toLowerCase()==="p"?f.innerHTML.trim()==="<br>":!1))return alert("🚫Standalone table was pasted — blocked."),!0}return!1},wo),[l]),null}function PR({initialEditorState:l,userObj:t,CollabApiKey:n,docId:e,mentionItems:s,type:r,updateSharepointList:o,updateSharepointList2:a,savedComments:c,styleConfig:i,handleSaveComments:u,pagination:d=!1,customHeight:f,customWidth:p,isCollab:h=!0,defaultState:m,editId:g,toolbarShow:b=!0,isEditable:v=!1,showTabContent:_=!0,wpAndTaskId:E,enableCaptions:S=!0,editorTitle:w,showPdf:y=!0,showPagination:x=!0,exportToPDF:C}){const T=he.useRef(null),{historyState:R}=j_(),[F,I]=he.useState([]),[B,A]=he.useState("skyp_1"),[j,O]=he.useState([]),[L,N]=he.useState(!1),[U,D]=Da(),[z,K]=he.useState(null),[G,P]=he.useState([]),[W,J]=he.useState(null),[H,$]=he.useState(!1),[Z,X]=he.useState(!1),[Y,ee]=he.useState(!1),[ie,fe]=he.useState([]),de=he.useRef(null),[ne,Ee]=he.useState(!1);he.useState(!1);const xe=async()=>({state:{root:[]},timestamp:Date.now()});let me=()=>{console.log("[Lexical Demo][onBlacklistedInsert] blacklisted combination found")};const{userName:je,userId:ue,userEmail:se}=t||{userName:"aa",userId:"aa",userEmail:"aa@sample.com"},pe={name:je,id:ue,email:se},ce={docId:e+"_"+g,apiKey:n,user:pe,hooks:{fetchDocOnNetworkReconnect:xe,contentChanged:(Ut,Qt)=>{},usersUpdate:Ut=>{I(Ut),renderOnlineUsers(Ut),console.log("[Lexical Demo][usersUpdate hook] hook invoked by Codox: ",Ut)}}};he.useEffect(()=>{let Ut=[],Qt=[];F&&F.length>0&&F.map((en,Et)=>{Qt.includes(en.name)||(Qt.push(en.name),Ut.push(ae.jsxs("div",{title:en.name,className:`avatarStyle avatar-color-${Et+1}`,children:[" ",en.name&&en.name[0],en.name&&en.name[4]]},Et)))}),O(Ut)},[F]);const Te=()=>{de.current&&(de.current.initComments(c),["content_changed","error","users_update"].forEach(Qt=>{console.log("[Lexical Demo][[Subscribe to Codox Event]: ",Qt),de.current.on(Qt,en=>{})}),de.current.start(ce).then(()=>{console.log("[Lexical Demo][codox.start] success"),N(!0)}).catch(Qt=>console.log("[Lexical Demo][codox.start] error",Qt)))},Ae=()=>{de.current&&de.current.stop(),N(!1)};he.useEffect(()=>{setTimeout(()=>{Al('[class^="finalProposalEditorContainer_"]').animate({scrollTop:0},500,()=>{})},1e3)},[]),he.useEffect(()=>{Al(".editor-outer").css({justifyContent:Z?"flex-start":"center"})},[Z]),he.useEffect(()=>{(async()=>{if(!B)return;L&&Ae();let Ut=m;if(Ut)try{DS(Ut,wC),K(Ut)}catch(Qt){console.error("[APP] error: ",Qt)}})()},[B]),he.useEffect(()=>{z&&e&&!L&&n&&setTimeout(()=>{Te()},2e3)},[z,e,L,n]);const ke=he.useMemo(()=>{if(z)return{editorState:Ut=>{Ut.update(()=>{const Qt=new DOMParser,en=Ww(l),Et=Qt.parseFromString(en,"text/html");let zt=Ed(Ut,Et);Mn().clear();const ct=En();Xo(zt),Xo([ct]),Ut.setEditable(v),setTimeout(()=>{Ut.setEditable(v),rt(!0)},5e3);const Ot=new ef(Ut);c&&(Ot.setComments(c),Ut._commentStore||(Ut._commentStore=new ef(Ut),Ut._commentStore.getComments().length===0&&Ut._commentStore.setComments(c)))})},namespace:"Playground",nodes:wC,onError:Ut=>{console.error("[Lexical Demo][Editor Error Captured]: ",Ut)},theme:sy}},[z]),Me=he.useRef(l);he.useEffect(()=>{Me.current||(Me.current=l)},[l]);const We=ae.jsx(Id,{children:""}),[De,Le]=he.useState(null),[Ce,Xe]=he.useState(!1),[Ie,Ze]=he.useState(!1),[at,rt]=he.useState(!1),[it,Kt]=he.useState(""),Qe=Ut=>{Ut!==null&&Le(Ut)};he.useEffect(()=>{const Ut=()=>{const Qt=Mc&&window.matchMedia("(max-width: 1025px)").matches;Qt!==Ce&&Xe(Qt)};return Ut(),window.addEventListener("resize",Ut),()=>{window.removeEventListener("resize",Ut)}},[Ce]),he.useEffect(()=>{const Ut=Qt=>{W&&!Qt.target.closest(".reference-toolbar")&&J(null)};return document.addEventListener("click",Ut),()=>{document.removeEventListener("click",Ut)}},[W]),he.useEffect(()=>{l&&t&&t.userName&&e&&i?setTimeout(()=>{Ee(!0)},1e3):Ee(!1)},[l,t,i]);const Gt=Ut=>{console.log("CustomOnChange",Ut),a(Ut),Kt(Ut)};return ae.jsx(ae.Fragment,{children:ne?ae.jsxs(fp,{initialConfig:ke,children:[ae.jsx(C_,{children:ae.jsx(F1,{children:ae.jsxs("div",{ref:T,className:"editor-shell",style:{position:"relative"},children:[ae.jsxs("div",{className:L?"":"blurred-editor-content",children:[ae.jsxs(ae.Fragment,{children:[ae.jsx(OR,{htmlString:l}),ae.jsx(AR,{htmlString:l,wpAndTaskId:`${E.workplanId}-${E.taskId}`}),ae.jsx(pC,{showComments:H,setShowComments:$,handleSaveComments:u,userName:je,userEmail:se,mentionItems:s,mentionedEmails:ie,setmentionedEmails:fe,wpAndTaskId:E,setShowCommentInput:ee,showCommentInput:Y}),ae.jsx(NR,{}),v?ae.jsxs(ae.Fragment,{children:[i&&b&&ae.jsx(px,{styleConfig:i,setIsLinkEditMode:Ze,onlUser:j,showComments:H,setShowComments:$,parsedHtmlString:it,enableCaptions:S,wpAndTaskId:E,editorTitle:w,exportToPDF:C})," "]}):"",ae.jsx(hC,{onChange:Gt}),ae.jsxs("div",{className:"editor-container tree-view",children:[ae.jsx(_w,{}),ae.jsx(ER,{}),ae.jsx(_R,{}),ae.jsx(TR,{}),ae.jsx(U1,{}),ae.jsx(ww,{}),ae.jsx(pw,{}),ae.jsx(yp,{externalHistoryState:R}),ae.jsx(qp,{contentEditable:ae.jsx("div",{className:"editor-scroller",children:ae.jsx("div",{className:"editor",ref:Qe,children:ae.jsxs("div",{className:`editor-autosave-${g}`,children:[" ",ae.jsx(Pd,{className:(L||at)&&v?`ContentEditable__root ${x?"content-editable-grid":""}`:`ContentEditable__root no-events ${x?"content-editable-grid":""}`})]})})}),placeholder:We,ErrorBoundary:Dl}),ae.jsx(H1,{}),ae.jsx(Sw,{maxDepth:7}),ae.jsx(aw,{hasCellMerge:!0,hasCellBackgroundColor:!0}),h&&ae.jsx(Dw,{}),ae.jsx(mw,{enableCaptions:S,wpAndTaskId:`${E.workplanId}-${E.taskId}`}),ae.jsx(gy,{}),ae.jsx(jw,{}),De&&!Ce&&ae.jsx(ae.Fragment,{children:ae.jsx(Rw,{anchorElem:De,cellMerge:!0})}),W&&ae.jsx(BS,{references:G,setReferences:P,position:W,onClose:()=>J(null)}),ae.jsx(zS,{setContextMenu:J,references:G,setReferences:P,containerRef:T}),ae.jsx(US,{references:G,setReferences:P}),ae.jsx(M1,{}),ae.jsx(HS,{})]})]}),!L&&ae.jsxs("div",{style:{position:"absolute",zIndex:999,top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(255, 255, 255, 0.6)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"start",backdropFilter:"blur(6px)"},children:[ae.jsx("img",{src:Lh,alt:"Spinverse Logo",style:{height:"60px",marginBottom:"20px",marginTop:"110px"}}),ae.jsx("img",{src:Fh,alt:"Loading...",style:{height:"50px"}})]})]}),h&&ae.jsx(MS,{debug:!0,ref:de,onBlacklistedInsert:me}),U]})})}),i&&ae.jsx(LS,{styleConfig:i})]},e):ae.jsx(ae.Fragment,{children:!L&&ae.jsxs("div",{style:{position:"absolute",zIndex:999,top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(255, 255, 255, 0.6)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"start",backdropFilter:"blur(6px)"},children:[ae.jsx("img",{src:Lh,alt:"Spinverse Logo",style:{height:"60px",marginBottom:"20px",marginTop:"110px"}}),ae.jsx("img",{src:Fh,alt:"Loading...",style:{height:"50px"}})]})})})}const YD="";function IR(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var MR=IR(function(l){const t=new URLSearchParams;t.append("code",l);for(let n=1;n<arguments.length;n++)t.append("v",arguments[n]);throw Error(`Minified Lexical error #${l}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)});function xC(l){const t=l.transform();return t!==null?new Set([t]):new Set}function SC({initialEditor:l,children:t,initialNodes:n,initialTheme:e,skipCollabChecks:s}){const r=he.useRef(!1),o=he.useContext(Hu);o==null&&MR(9);const[a,{getTheme:c}]=o,i=he.useMemo(()=>{const p=e||c()||void 0,h=Ov(o,p);if(p!==void 0&&(l._config.theme=p),l._parentEditor=a,n)for(let m of n){let g=null,b=null;if(typeof m!="function"){const _=m;m=_.replace,g=_.with,b=_.withKlass||null}const v=l._nodes.get(m.getType());l._nodes.set(m.getType(),{exportDOM:v?v.exportDOM:void 0,klass:m,replace:g,replaceWithKlass:b,transforms:xC(m)})}else{const m=l._nodes=new Map(a._nodes);for(const[g,b]of m)l._nodes.set(g,{exportDOM:b.exportDOM,klass:b.klass,replace:b.replace,replaceWithKlass:b.replaceWithKlass,transforms:xC(b.klass)})}return l._config.namespace=a._config.namespace,l._editable=a._editable,[l,h]},[]),{isCollabActive:u,yjsDocMap:d}=Md(),f=s||r.current||d.has(l.getKey());return he.useEffect(()=>{f&&(r.current=!0)},[f]),he.useEffect(()=>a.registerEditableListener(p=>{l.setEditable(p)}),[l,a]),ae.jsx(Hu.Provider,{value:i,children:!u||f?t:null})}function C0(l,t,n){return Math.min(Math.max(l,t),n)}const Nr={east:1,north:8,south:2,west:4};function RR({onResizeStart:l,onResizeEnd:t,buttonRef:n,imageRef:e,maxWidth:s,editor:r,showCaption:o,setShowCaption:a,enableCaptions:c}){const i=he.useRef(null),u=he.useRef({priority:"",value:"default"}),d=he.useRef({currentHeight:0,currentWidth:0,direction:0,isResizing:!1,ratio:0,startHeight:0,startWidth:0,startX:0,startY:0}),f=r.getRootElement(),p=f!==null?f.getBoundingClientRect().width-20:100,h=f!==null?f.getBoundingClientRect().height-20:100,m=100,g=100,b=w=>{const y=w===Nr.east||w===Nr.west,x=w===Nr.north||w===Nr.south,C=w&Nr.north&&w&Nr.west||w&Nr.south&&w&Nr.east,T=y?"ew":x?"ns":C?"nwse":"nesw";f!==null&&f.style.setProperty("cursor",`${T}-resize`,"important"),document.body!==null&&(document.body.style.setProperty("cursor",`${T}-resize`,"important"),u.current.value=document.body.style.getPropertyValue("-webkit-user-select"),u.current.priority=document.body.style.getPropertyPriority("-webkit-user-select"),document.body.style.setProperty("-webkit-user-select","none","important"))},v=()=>{f!==null&&f.style.setProperty("cursor","text"),document.body!==null&&(document.body.style.setProperty("cursor","default"),document.body.style.setProperty("-webkit-user-select",u.current.value,u.current.priority))},_=(w,y)=>{if(!r.isEditable())return;const x=e.current,C=i.current;if(x!==null&&C!==null){w.preventDefault();const{width:T,height:R}=x.getBoundingClientRect(),F=d.current;F.startWidth=T,F.startHeight=R,F.ratio=T/R,F.currentWidth=T,F.currentHeight=R,F.startX=w.clientX,F.startY=w.clientY,F.isResizing=!0,F.direction=y,b(y),l(),C.classList.add("image-control-wrapper--resizing"),x.style.height=`${R}px`,x.style.width=`${T}px`,document.addEventListener("pointermove",E),document.addEventListener("pointerup",S)}},E=w=>{const y=e.current,x=d.current,C=x.direction&(Nr.east|Nr.west),T=x.direction&(Nr.south|Nr.north);if(y!==null&&x.isResizing){if(C&&T){let R=Math.floor(x.startX-w.clientX);R=x.direction&Nr.east?-R:R;const F=C0(x.startWidth+R,m,p),I=F/x.ratio;y.style.width=`${F}px`,y.style.height=`${I}px`,x.currentHeight=I,x.currentWidth=F}else if(T){let R=Math.floor(x.startY-w.clientY);R=x.direction&Nr.south?-R:R;const F=C0(x.startHeight+R,g,h);y.style.height=`${F}px`,y.style.maxHeight=`${F}px`,x.currentHeight=F}else{let R=Math.floor(x.startX-w.clientX);R=x.direction&Nr.east?-R:R;const F=C0(x.startWidth+R,m,p);y.style.width=`${F}px`,y.style.maxWidth=`${F}px`,x.currentWidth=F}y&&(y.setAttribute("width",`${x.currentWidth}`),y.setAttribute("height",`${x.currentHeight}`))}},S=()=>{const w=e.current,y=d.current,x=i.current;if(w!==null&&x!==null&&y.isResizing){const C=y.currentWidth,T=y.currentHeight;y.startWidth=0,y.startHeight=0,y.ratio=0,y.startX=0,y.startY=0,y.currentWidth=0,y.currentHeight=0,y.isResizing=!1,x.classList.remove("image-control-wrapper--resizing"),v(),t(C,T),document.removeEventListener("pointermove",E),document.removeEventListener("pointerup",S)}};return ae.jsxs("div",{ref:i,children:[ae.jsx("div",{className:"image-resizer image-resizer-n",onPointerDown:w=>{_(w,Nr.north)}}),ae.jsx("div",{className:"image-resizer image-resizer-ne",onPointerDown:w=>{_(w,Nr.north|Nr.east)}}),ae.jsx("div",{className:"image-resizer image-resizer-e",onPointerDown:w=>{_(w,Nr.east)}}),ae.jsx("div",{className:"image-resizer image-resizer-se",onPointerDown:w=>{_(w,Nr.south|Nr.east)}}),ae.jsx("div",{className:"image-resizer image-resizer-s",onPointerDown:w=>{_(w,Nr.south)}}),ae.jsx("div",{className:"image-resizer image-resizer-sw",onPointerDown:w=>{_(w,Nr.south|Nr.west)}}),ae.jsx("div",{className:"image-resizer image-resizer-w",onPointerDown:w=>{_(w,Nr.west)}}),ae.jsx("div",{className:"image-resizer image-resizer-nw",onPointerDown:w=>{_(w,Nr.north|Nr.west)}})]})}const Bh={x:0,y:0,width:0,height:0,unit:"px"},mu=(l,t,n)=>Math.min(Math.max(l,t),n),DR=(...l)=>l.filter(t=>t&&typeof t=="string").join(" "),EC=(l,t)=>l===t||l.width===t.width&&l.height===t.height&&l.x===t.x&&l.y===t.y&&l.unit===t.unit;function yu(l,t,n){return l.unit==="%"?{...Bh,...l,unit:"%"}:{unit:"%",x:l.x?l.x/t*100:0,y:l.y?l.y/n*100:0,width:l.width?l.width/t*100:0,height:l.height?l.height/n*100:0}}function Ya(l,t,n){return l.unit?l.unit==="px"?{...Bh,...l,unit:"px"}:{unit:"px",x:l.x?l.x*t/100:0,y:l.y?l.y*n/100:0,width:l.width?l.width*t/100:0,height:l.height?l.height*n/100:0}:{...Bh,...l,unit:"px"}}function CC(l,t,n,e,s,r=0,o=0,a=e,c=s){const i={...l};let u=Math.min(r,e),d=Math.min(o,s),f=Math.min(a,e),p=Math.min(c,s);t&&(t>1?(u=o?o*t:u,d=u/t,f=a*t):(d=r?r/t:d,u=d*t,p=c/t)),i.y<0&&(i.height=Math.max(i.height+i.y,d),i.y=0),i.x<0&&(i.width=Math.max(i.width+i.x,u),i.x=0);const h=e-(i.x+i.width);h<0&&(i.x=Math.min(i.x,e-u),i.width+=h);const m=s-(i.y+i.height);if(m<0&&(i.y=Math.min(i.y,s-d),i.height+=m),i.width<u&&((n==="sw"||n=="nw")&&(i.x-=u-i.width),i.width=u),i.height<d&&((n==="nw"||n=="ne")&&(i.y-=d-i.height),i.height=d),i.width>f&&((n==="sw"||n=="nw")&&(i.x-=f-i.width),i.width=f),i.height>p&&((n==="nw"||n=="ne")&&(i.y-=p-i.height),i.height=p),t){const g=i.width/i.height;if(g<t){const b=Math.max(i.width/t,d);(n==="nw"||n=="ne")&&(i.y-=b-i.height),i.height=b}else if(g>t){const b=Math.max(i.height*t,u);(n==="sw"||n=="nw")&&(i.x-=b-i.width),i.width=b}}return i}function LR(l,t,n,e){const s={...l};return t==="ArrowLeft"?e==="nw"?(s.x-=n,s.y-=n,s.width+=n,s.height+=n):e==="w"?(s.x-=n,s.width+=n):e==="sw"?(s.x-=n,s.width+=n,s.height+=n):e==="ne"?(s.y+=n,s.width-=n,s.height-=n):e==="e"?s.width-=n:e==="se"&&(s.width-=n,s.height-=n):t==="ArrowRight"&&(e==="nw"?(s.x+=n,s.y+=n,s.width-=n,s.height-=n):e==="w"?(s.x+=n,s.width-=n):e==="sw"?(s.x+=n,s.width-=n,s.height-=n):e==="ne"?(s.y-=n,s.width+=n,s.height+=n):e==="e"?s.width+=n:e==="se"&&(s.width+=n,s.height+=n)),t==="ArrowUp"?e==="nw"?(s.x-=n,s.y-=n,s.width+=n,s.height+=n):e==="n"?(s.y-=n,s.height+=n):e==="ne"?(s.y-=n,s.width+=n,s.height+=n):e==="sw"?(s.x+=n,s.width-=n,s.height-=n):e==="s"?s.height-=n:e==="se"&&(s.width-=n,s.height-=n):t==="ArrowDown"&&(e==="nw"?(s.x+=n,s.y+=n,s.width-=n,s.height-=n):e==="n"?(s.y+=n,s.height-=n):e==="ne"?(s.y+=n,s.width-=n,s.height-=n):e==="sw"?(s.x-=n,s.width+=n,s.height+=n):e==="s"?s.height+=n:e==="se"&&(s.width+=n,s.height+=n)),s}const vu={capture:!0,passive:!1};let FR=0;const Za=class ys extends he.PureComponent{constructor(){super(...arguments),this.docMoveBound=!1,this.mouseDownOnCrop=!1,this.dragStarted=!1,this.evData={startClientX:0,startClientY:0,startCropX:0,startCropY:0,clientX:0,clientY:0,isResize:!0},this.componentRef=he.createRef(),this.mediaRef=he.createRef(),this.initChangeCalled=!1,this.instanceId=`rc-${FR++}`,this.state={cropIsActive:!1,newCropIsBeingDrawn:!1},this.onCropPointerDown=t=>{const{crop:n,disabled:e}=this.props,s=this.getBox();if(!n)return;const r=Ya(n,s.width,s.height);if(e)return;t.cancelable&&t.preventDefault(),this.bindDocMove(),this.componentRef.current.focus({preventScroll:!0});const o=t.target.dataset.ord,a=!!o;let c=t.clientX,i=t.clientY,u=r.x,d=r.y;if(o){const f=t.clientX-s.x,p=t.clientY-s.y;let h=0,m=0;o==="ne"||o=="e"?(h=f-(r.x+r.width),m=p-r.y,u=r.x,d=r.y+r.height):o==="se"||o==="s"?(h=f-(r.x+r.width),m=p-(r.y+r.height),u=r.x,d=r.y):o==="sw"||o=="w"?(h=f-r.x,m=p-(r.y+r.height),u=r.x+r.width,d=r.y):(o==="nw"||o=="n")&&(h=f-r.x,m=p-r.y,u=r.x+r.width,d=r.y+r.height),c=u+s.x+h,i=d+s.y+m}this.evData={startClientX:c,startClientY:i,startCropX:u,startCropY:d,clientX:t.clientX,clientY:t.clientY,isResize:a,ord:o},this.mouseDownOnCrop=!0,this.setState({cropIsActive:!0})},this.onComponentPointerDown=t=>{const{crop:n,disabled:e,locked:s,keepSelection:r,onChange:o}=this.props,a=this.getBox();if(e||s||r&&n)return;t.cancelable&&t.preventDefault(),this.bindDocMove(),this.componentRef.current.focus({preventScroll:!0});const c=t.clientX-a.x,i=t.clientY-a.y,u={unit:"px",x:c,y:i,width:0,height:0};this.evData={startClientX:t.clientX,startClientY:t.clientY,startCropX:c,startCropY:i,clientX:t.clientX,clientY:t.clientY,isResize:!0},this.mouseDownOnCrop=!0,o(Ya(u,a.width,a.height),yu(u,a.width,a.height)),this.setState({cropIsActive:!0,newCropIsBeingDrawn:!0})},this.onDocPointerMove=t=>{const{crop:n,disabled:e,onChange:s,onDragStart:r}=this.props,o=this.getBox();if(e||!n||!this.mouseDownOnCrop)return;t.cancelable&&t.preventDefault(),this.dragStarted||(this.dragStarted=!0,r&&r(t));const{evData:a}=this;a.clientX=t.clientX,a.clientY=t.clientY;let c;a.isResize?c=this.resizeCrop():c=this.dragCrop(),EC(n,c)||s(Ya(c,o.width,o.height),yu(c,o.width,o.height))},this.onComponentKeyDown=t=>{const{crop:n,disabled:e,onChange:s,onComplete:r}=this.props;if(e)return;const o=t.key;let a=!1;if(!n)return;const c=this.getBox(),i=this.makePixelCrop(c),u=(navigator.platform.match("Mac")?t.metaKey:t.ctrlKey)?ys.nudgeStepLarge:t.shiftKey?ys.nudgeStepMedium:ys.nudgeStep;if(o==="ArrowLeft"?(i.x-=u,a=!0):o==="ArrowRight"?(i.x+=u,a=!0):o==="ArrowUp"?(i.y-=u,a=!0):o==="ArrowDown"&&(i.y+=u,a=!0),a){t.cancelable&&t.preventDefault(),i.x=mu(i.x,0,c.width-i.width),i.y=mu(i.y,0,c.height-i.height);const d=Ya(i,c.width,c.height),f=yu(i,c.width,c.height);s(d,f),r&&r(d,f)}},this.onHandlerKeyDown=(t,n)=>{const{aspect:e=0,crop:s,disabled:r,minWidth:o=0,minHeight:a=0,maxWidth:c,maxHeight:i,onChange:u,onComplete:d}=this.props,f=this.getBox();if(r||!s)return;if(t.key==="ArrowUp"||t.key==="ArrowDown"||t.key==="ArrowLeft"||t.key==="ArrowRight")t.stopPropagation(),t.preventDefault();else return;const p=(navigator.platform.match("Mac")?t.metaKey:t.ctrlKey)?ys.nudgeStepLarge:t.shiftKey?ys.nudgeStepMedium:ys.nudgeStep,h=Ya(s,f.width,f.height),m=LR(h,t.key,p,n),g=CC(m,e,n,f.width,f.height,o,a,c,i);if(!EC(s,g)){const b=yu(g,f.width,f.height);u(g,b),d&&d(g,b)}},this.onDocPointerDone=t=>{const{crop:n,disabled:e,onComplete:s,onDragEnd:r}=this.props,o=this.getBox();this.unbindDocMove(),!(e||!n)&&this.mouseDownOnCrop&&(this.mouseDownOnCrop=!1,this.dragStarted=!1,r&&r(t),s&&s(Ya(n,o.width,o.height),yu(n,o.width,o.height)),this.setState({cropIsActive:!1,newCropIsBeingDrawn:!1}))},this.onDragFocus=()=>{var t;(t=this.componentRef.current)==null||t.scrollTo(0,0)}}get document(){return document}getBox(){const t=this.mediaRef.current;if(!t)return{x:0,y:0,width:0,height:0};const{x:n,y:e,width:s,height:r}=t.getBoundingClientRect();return{x:n,y:e,width:s,height:r}}componentDidUpdate(t){const{crop:n,onComplete:e}=this.props;if(e&&!t.crop&&n){const{width:s,height:r}=this.getBox();s&&r&&e(Ya(n,s,r),yu(n,s,r))}}componentWillUnmount(){this.resizeObserver&&this.resizeObserver.disconnect(),this.unbindDocMove()}bindDocMove(){this.docMoveBound||(this.document.addEventListener("pointermove",this.onDocPointerMove,vu),this.document.addEventListener("pointerup",this.onDocPointerDone,vu),this.document.addEventListener("pointercancel",this.onDocPointerDone,vu),this.docMoveBound=!0)}unbindDocMove(){this.docMoveBound&&(this.document.removeEventListener("pointermove",this.onDocPointerMove,vu),this.document.removeEventListener("pointerup",this.onDocPointerDone,vu),this.document.removeEventListener("pointercancel",this.onDocPointerDone,vu),this.docMoveBound=!1)}getCropStyle(){const{crop:t}=this.props;if(t)return{top:`${t.y}${t.unit}`,left:`${t.x}${t.unit}`,width:`${t.width}${t.unit}`,height:`${t.height}${t.unit}`}}dragCrop(){const{evData:t}=this,n=this.getBox(),e=this.makePixelCrop(n),s=t.clientX-t.startClientX,r=t.clientY-t.startClientY;return e.x=mu(t.startCropX+s,0,n.width-e.width),e.y=mu(t.startCropY+r,0,n.height-e.height),e}getPointRegion(t,n,e,s){const{evData:r}=this,o=r.clientX-t.x,a=r.clientY-t.y;let c;s&&n?c=n==="nw"||n==="n"||n==="ne":c=a<r.startCropY;let i;return e&&n?i=n==="nw"||n==="w"||n==="sw":i=o<r.startCropX,i?c?"nw":"sw":c?"ne":"se"}resolveMinDimensions(t,n,e=0,s=0){const r=Math.min(e,t.width),o=Math.min(s,t.height);return!n||!r&&!o?[r,o]:n>1?r?[r,r/n]:[o*n,o]:o?[o*n,o]:[r,r/n]}resizeCrop(){const{evData:t}=this,{aspect:n=0,maxWidth:e,maxHeight:s}=this.props,r=this.getBox(),[o,a]=this.resolveMinDimensions(r,n,this.props.minWidth,this.props.minHeight);let c=this.makePixelCrop(r);const i=this.getPointRegion(r,t.ord,o,a),u=t.ord||i;let d=t.clientX-t.startClientX,f=t.clientY-t.startClientY;(o&&u==="nw"||u==="w"||u==="sw")&&(d=Math.min(d,-o)),(a&&u==="nw"||u==="n"||u==="ne")&&(f=Math.min(f,-a));const p={unit:"px",x:0,y:0,width:0,height:0};i==="ne"?(p.x=t.startCropX,p.width=d,n?(p.height=p.width/n,p.y=t.startCropY-p.height):(p.height=Math.abs(f),p.y=t.startCropY-p.height)):i==="se"?(p.x=t.startCropX,p.y=t.startCropY,p.width=d,n?p.height=p.width/n:p.height=f):i==="sw"?(p.x=t.startCropX+d,p.y=t.startCropY,p.width=Math.abs(d),n?p.height=p.width/n:p.height=f):i==="nw"&&(p.x=t.startCropX+d,p.width=Math.abs(d),n?(p.height=p.width/n,p.y=t.startCropY-p.height):(p.height=Math.abs(f),p.y=t.startCropY+f));const h=CC(p,n,i,r.width,r.height,o,a,e,s);return n||ys.xyOrds.indexOf(u)>-1?c=h:ys.xOrds.indexOf(u)>-1?(c.x=h.x,c.width=h.width):ys.yOrds.indexOf(u)>-1&&(c.y=h.y,c.height=h.height),c.x=mu(c.x,0,r.width-c.width),c.y=mu(c.y,0,r.height-c.height),c}renderCropSelection(){const{ariaLabels:t=ys.defaultProps.ariaLabels,disabled:n,locked:e,renderSelectionAddon:s,ruleOfThirds:r,crop:o}=this.props,a=this.getCropStyle();if(o)return he.createElement("div",{style:a,className:"ReactCrop__crop-selection",onPointerDown:this.onCropPointerDown,"aria-label":t.cropArea,tabIndex:0,onKeyDown:this.onComponentKeyDown,role:"group"},!n&&!e&&he.createElement("div",{className:"ReactCrop__drag-elements",onFocus:this.onDragFocus},he.createElement("div",{className:"ReactCrop__drag-bar ord-n","data-ord":"n"}),he.createElement("div",{className:"ReactCrop__drag-bar ord-e","data-ord":"e"}),he.createElement("div",{className:"ReactCrop__drag-bar ord-s","data-ord":"s"}),he.createElement("div",{className:"ReactCrop__drag-bar ord-w","data-ord":"w"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-nw","data-ord":"nw",tabIndex:0,"aria-label":t.nwDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"nw"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-n","data-ord":"n",tabIndex:0,"aria-label":t.nDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"n"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-ne","data-ord":"ne",tabIndex:0,"aria-label":t.neDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"ne"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-e","data-ord":"e",tabIndex:0,"aria-label":t.eDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"e"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-se","data-ord":"se",tabIndex:0,"aria-label":t.seDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"se"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-s","data-ord":"s",tabIndex:0,"aria-label":t.sDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"s"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-sw","data-ord":"sw",tabIndex:0,"aria-label":t.swDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"sw"),role:"button"}),he.createElement("div",{className:"ReactCrop__drag-handle ord-w","data-ord":"w",tabIndex:0,"aria-label":t.wDragHandle,onKeyDown:c=>this.onHandlerKeyDown(c,"w"),role:"button"})),s&&he.createElement("div",{className:"ReactCrop__selection-addon",onPointerDown:c=>c.stopPropagation()},s(this.state)),r&&he.createElement(he.Fragment,null,he.createElement("div",{className:"ReactCrop__rule-of-thirds-hz"}),he.createElement("div",{className:"ReactCrop__rule-of-thirds-vt"})))}makePixelCrop(t){const n={...Bh,...this.props.crop||{}};return Ya(n,t.width,t.height)}render(){const{aspect:t,children:n,circularCrop:e,className:s,crop:r,disabled:o,locked:a,style:c,ruleOfThirds:i}=this.props,{cropIsActive:u,newCropIsBeingDrawn:d}=this.state,f=r?this.renderCropSelection():null,p=DR("ReactCrop",s,u&&"ReactCrop--active",o&&"ReactCrop--disabled",a&&"ReactCrop--locked",d&&"ReactCrop--new-crop",r&&t&&"ReactCrop--fixed-aspect",r&&e&&"ReactCrop--circular-crop",r&&i&&"ReactCrop--rule-of-thirds",!this.dragStarted&&r&&!r.width&&!r.height&&"ReactCrop--invisible-crop",e&&"ReactCrop--no-animate");return he.createElement("div",{ref:this.componentRef,className:p,style:c},he.createElement("div",{ref:this.mediaRef,className:"ReactCrop__child-wrapper",onPointerDown:this.onComponentPointerDown},n),r?he.createElement("svg",{className:"ReactCrop__crop-mask",width:"100%",height:"100%"},he.createElement("defs",null,he.createElement("mask",{id:`hole-${this.instanceId}`},he.createElement("rect",{width:"100%",height:"100%",fill:"white"}),e?he.createElement("ellipse",{cx:`${r.x+r.width/2}${r.unit}`,cy:`${r.y+r.height/2}${r.unit}`,rx:`${r.width/2}${r.unit}`,ry:`${r.height/2}${r.unit}`,fill:"black"}):he.createElement("rect",{x:`${r.x}${r.unit}`,y:`${r.y}${r.unit}`,width:`${r.width}${r.unit}`,height:`${r.height}${r.unit}`,fill:"black"}))),he.createElement("rect",{fill:"black",fillOpacity:.5,width:"100%",height:"100%",mask:`url(#hole-${this.instanceId})`})):void 0,f)}};Za.xOrds=["e","w"],Za.yOrds=["n","s"],Za.xyOrds=["nw","ne","se","sw"],Za.nudgeStep=1,Za.nudgeStepMedium=10,Za.nudgeStepLarge=100,Za.defaultProps={ariaLabels:{cropArea:"Use the arrow keys to move the crop selection area",nwDragHandle:"Use the arrow keys to move the north west drag handle to change the crop selection area",nDragHandle:"Use the up and down arrow keys to move the north drag handle to change the crop selection area",neDragHandle:"Use the arrow keys to move the north east drag handle to change the crop selection area",eDragHandle:"Use the up and down arrow keys to move the east drag handle to change the crop selection area",seDragHandle:"Use the arrow keys to move the south east drag handle to change the crop selection area",sDragHandle:"Use the up and down arrow keys to move the south drag handle to change the crop selection area",swDragHandle:"Use the arrow keys to move the south west drag handle to change the crop selection area",wDragHandle:"Use the up and down arrow keys to move the west drag handle to change the crop selection area"}};let BR=Za;const ZD="",j0=po();function zR({altText:l,className:t,src:n,width:e,height:s,maxWidth:r,imageRef:o,startCrop:a,setStartCrop:c,isFocused:i,nodeKey:u}){const[d,f]=he.useState(null),[p,h]=he.useState({unit:"px",x:25,y:25,width:50,height:50}),[m]=yn(),g=()=>{if(d){const S=o.current;if(!S||!d)return;const w=S.naturalWidth/S.width,y=S.naturalHeight/S.height,x=new OffscreenCanvas(d.width*w,d.height*y),C=x.getContext("2d");if(!C)throw new Error("No 2D context available");C.drawImage(S,d.x*w,d.y*y,d.width*w,d.height*y,0,0,d.width*w,d.height*y),x.convertToBlob({type:"image/png"}).then(T=>{c(!1);const R=new FileReader;R.onload=()=>{const F=R.result;setTimeout(()=>{m.update(()=>{const I=Dn(u);Vs(I)&&F&&I.setSrc(F)},{tag:"crop"})},100)},R.onerror=()=>{console.error("Error reading the cropped image blob")},R.readAsDataURL(T)})}},b=()=>{a||c(S=>{if(S===!1){const w=o.current;h({unit:"px",x:0,y:0,width:w.width,height:w.height})}return!S})},v=he.useRef(null),_=he.useRef(null);he.useEffect(()=>{d&&(v.current=d)},[d]);const E=S=>{_.current&&!_.current.contains(S.target)&&c(!1)};return he.useEffect(()=>(document.addEventListener("mousedown",E),()=>{document.removeEventListener("mousedown",E)}),[]),ae.jsxs("div",{ref:_,children:[i&&ae.jsx("button",{style:{zIndex:999},className:"image-caption-button",onClick:()=>b(),children:"Crop"}),a&&ae.jsx("button",{style:{zIndex:999},className:"image-caption-button",onClick:()=>g(),children:"Apply Crop"}),a?ae.jsx(BR,{crop:p,onChange:S=>h(S),onComplete:S=>f(S),children:ae.jsx("img",{className:t||void 0,src:n,alt:l,ref:o,width:typeof e=="number"?e:void 0,height:typeof s=="number"?s:void 0,style:{height:s,maxWidth:r,width:e},draggable:"false",crossOrigin:"anonymous"})}):ae.jsx("img",{className:t||void 0,src:n,alt:l,ref:o,width:typeof e=="number"?e:void 0,height:typeof s=="number"?s:void 0,style:{height:s,maxWidth:r,width:e},draggable:"false",crossOrigin:"anonymous"})]})}function UR({src:l,altText:t,nodeKey:n,width:e,height:s,maxWidth:r,resizable:o,showCaption:a,caption:c,enableCaptions:i}){const u=he.useRef(null),d=he.useRef(null),[f,p,h]=Cc(n),[m,g]=he.useState(!1),[b]=yn(),[v,_]=he.useState(null),[E,S]=he.useState(!1),w=he.useRef(null),y=he.useCallback(O=>f?(O.preventDefault(),b.update(()=>{const L=Dn(n);Vs(L)&&L.remove()}),!0):!1,[f,b,n]),x=he.useCallback(O=>{const L=jt(),N=d.current;if(f&&fr(L)&&L.getNodes().length===1){if(a)return jr(null),O.preventDefault(),c.focus(),!0;if(N!==null&&N!==document.activeElement)return O.preventDefault(),N.focus(),!0}return!1},[c,f,a]),C=he.useCallback(O=>w.current===c||d.current===O.target?(jr(null),b.update(()=>{p(!0);const L=b.getRootElement();L!==null&&L.focus()}),!0):!1,[c,b,p]),T=he.useCallback(O=>{const L=O;return m?!0:L.target===u.current?(L.shiftKey?p(!f):(h(),p(!0)),!0):!1},[m,f,p,h]),R=he.useCallback(O=>{b.getEditorState().read(()=>{const L=jt();O.target.tagName==="IMG"&&St(L)&&L.getNodes().length===1&&b.dispatchCommand(j0,O)})},[b]);he.useEffect(()=>{const O=N=>{(N.key==="Delete"||N.key==="Backspace")&&f&&(N.stopPropagation(),N.preventDefault(),b.update(()=>{const U=Dn(n);Vs(U)&&U.remove()}))},L=b.getRootElement();return L==null||L.addEventListener("keydown",O),()=>{L==null||L.removeEventListener("keydown",O)}},[f,b,n]),he.useEffect(()=>{let O=!0;const L=b.getRootElement(),N=wr(b.registerUpdateListener(({editorState:U})=>{O&&_(U.read(()=>jt()))}),b.registerCommand(ai,(U,D)=>(w.current=D,!1),Jn),b.registerCommand(ba,T,Jn),b.registerCommand(j0,T,Jn),b.registerCommand(ac,U=>U.target===u.current?(U.preventDefault(),!0):!1,Jn),b.registerCommand(Qi,y,4),b.registerCommand(Zi,y,4),b.registerCommand(Ls,x,Jn),b.registerCommand(Fs,C,Jn));return L==null||L.addEventListener("contextmenu",R),()=>{O=!1,N(),L==null||L.removeEventListener("contextmenu",R)}},[h,b,m,f,n,x,C,T,R,p]);const F=()=>{b.update(()=>{const O=Dn(n);Vs(O)&&O.setShowCaption(!0)})},I=(O,L)=>{setTimeout(()=>{g(!1)},200),b.update(()=>{const N=Dn(n);Vs(N)&&N.setWidthAndHeight(O,L)})},B=()=>{E||g(!0)},A=f&&fr(v)&&!m,j=f||m;return ae.jsx(he.Suspense,{fallback:null,children:ae.jsxs(ae.Fragment,{children:[ae.jsx("div",{draggable:A,children:ae.jsx(zR,{className:j?`focused ${fr(v)?"draggable":""}`:null,src:l,altText:t,width:e,height:s,maxWidth:r,imageRef:u,startCrop:E,setStartCrop:S,isFocused:j,nodeKey:n})}),a&&ae.jsx("div",{className:"image-caption-container",children:ae.jsx(SC,{initialEditor:c,children:ae.jsx(qp,{contentEditable:ae.jsx(Pd,{className:"ImageNode__contentEditable"}),placeholder:ae.jsx(Id,{className:"ImageNode__placeholder",children:"Enter a caption..."}),ErrorBoundary:Dl})})}),!E&&o&&fr(v)&&j&&ae.jsx(RR,{showCaption:a,setShowCaption:F,editor:b,buttonRef:d,maxWidth:r,onResizeStart:E?()=>{}:B,onResizeEnd:E?()=>{}:I,enableCaptions:i,imageRef:u})]})})}const HR=Object.freeze(Object.defineProperty({__proto__:null,RIGHT_CLICK_IMAGE_COMMAND:j0,default:UR},Symbol.toStringTag,{value:"Module"})),QD="",XD="";function qR(l,t){const n=l.getRangeAt(0);let e;if(l.anchorNode===t){let s=t;for(;s.firstElementChild!=null;)s=s.firstElementChild;e=s.getBoundingClientRect()}else e=n.getBoundingClientRect();return e}const WR=10,JR=5;function VR(l,t,n,e=!1,s=WR,r=JR){const o=n.parentElement;if(l===null||!o){t.style.opacity="0",t.style.transform="translate(-10000px, -10000px)";return}const a=t.getBoundingClientRect(),c=n.getBoundingClientRect(),i=o.getBoundingClientRect();let u=l.top-a.height-s,d=l.left-r;u<i.top&&(u+=a.height+l.height+s*(e?9:2)),d+a.width>i.right&&(d=i.right-a.width-r),u-=c.top,d-=c.left,t.style.opacity="1",t.style.transform=`translate(${d}px, ${u}px)`}function KR({editor:l,anchorElem:t,isLink:n,isBold:e,isItalic:s,isUnderline:r,isCode:o,isStrikethrough:a,isSubscript:c,isSuperscript:i}){const u=he.useRef(null),d=he.useCallback(()=>{n?l.dispatchCommand(Pa,null):l.dispatchCommand(Pa,"https://")},[l,n]),f=()=>{l.dispatchCommand(E0,void 0)};function p(g){if(u!=null&&u.current&&(g.buttons===1||g.buttons===3)&&u.current.style.pointerEvents!=="none"){const b=g.clientX,v=g.clientY,_=document.elementFromPoint(b,v);u.current.contains(_)||(u.current.style.pointerEvents="none")}}function h(g){u!=null&&u.current&&u.current.style.pointerEvents!=="auto"&&(u.current.style.pointerEvents="auto")}he.useEffect(()=>{if(u!=null&&u.current)return document.addEventListener("mousemove",p),document.addEventListener("mouseup",h),()=>{document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",h)}},[u]);const m=he.useCallback(()=>{const g=jt(),b=u.current,v=window.getSelection();if(b===null)return;const _=l.getRootElement();if(g!==null&&v!==null&&!v.isCollapsed&&_!==null&&_.contains(v.anchorNode)){const E=qR(v,_);VR(E,b,t,n)}},[l,t,n]);return he.useEffect(()=>{const g=t.parentElement,b=()=>{l.getEditorState().read(()=>{m()})};return window.addEventListener("resize",b),g&&g.addEventListener("scroll",b),()=>{window.removeEventListener("resize",b),g&&g.removeEventListener("scroll",b)}},[l,m,t]),he.useEffect(()=>(l.getEditorState().read(()=>{m()}),wr(l.registerUpdateListener(({editorState:g})=>{g.read(()=>{m()})}),l.registerCommand(ai,()=>(m(),!1),Jn))),[l,m]),ae.jsxs("div",{ref:u,className:"floating-text-format-popup",children:[l.isEditable()&&ae.jsxs(ae.Fragment,{children:[ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"bold")},className:"popup-item spaced "+(e?"active":""),"aria-label":"Format text as bold",children:ae.jsx("i",{className:"format bold"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"italic")},className:"popup-item spaced "+(s?"active":""),"aria-label":"Format text as italics",children:ae.jsx("i",{className:"format italic"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"underline")},className:"popup-item spaced "+(r?"active":""),"aria-label":"Format text to underlined",children:ae.jsx("i",{className:"format underline"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"strikethrough")},className:"popup-item spaced "+(a?"active":""),"aria-label":"Format text with a strikethrough",children:ae.jsx("i",{className:"format strikethrough"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"subscript")},className:"popup-item spaced "+(c?"active":""),title:"Subscript","aria-label":"Format Subscript",children:ae.jsx("i",{className:"format subscript"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"superscript")},className:"popup-item spaced "+(i?"active":""),title:"Superscript","aria-label":"Format Superscript",children:ae.jsx("i",{className:"format superscript"})}),ae.jsx("button",{type:"button",onClick:()=>{l.dispatchCommand(Yr,"code")},className:"popup-item spaced "+(o?"active":""),"aria-label":"Insert code block",children:ae.jsx("i",{className:"format code"})}),ae.jsx("button",{type:"button",onClick:d,className:"popup-item spaced "+(n?"active":""),"aria-label":"Insert link",children:ae.jsx("i",{className:"format link"})})]}),ae.jsx("button",{type:"button",onClick:f,className:"popup-item spaced insert-comment","aria-label":"Insert comment",children:ae.jsx("i",{className:"format add-comment"})})]})}function GR(l,t){const[n,e]=he.useState(!1),[s,r]=he.useState(!1),[o,a]=he.useState(!1),[c,i]=he.useState(!1),[u,d]=he.useState(!1),[f,p]=he.useState(!1),[h,m]=he.useState(!1),[g,b]=he.useState(!1),[v,_]=he.useState(!1),E=he.useCallback(()=>{l.getEditorState().read(()=>{if(l.isComposing())return;const S=jt(),w=window.getSelection(),y=l.getRootElement();if(w!==null&&(!St(S)||y===null||!y.contains(w.anchorNode))){e(!1);return}if(!St(S))return;const x=Bw(S);a(S.hasFormat("bold")),i(S.hasFormat("italic")),d(S.hasFormat("underline")),p(S.hasFormat("strikethrough")),m(S.hasFormat("subscript")),b(S.hasFormat("superscript")),_(S.hasFormat("code"));const C=x.getParent();ti(C)||ti(x)?r(!0):r(!1),!Rm(S.anchor.getNode())&&S.getTextContent()!==""?e(Jt(x)||_r(x)):e(!1);const T=S.getTextContent().replace(/\n/g,"");if(!S.isCollapsed()&&T===""){e(!1);return}})},[l]);return he.useEffect(()=>(document.addEventListener("selectionchange",E),()=>{document.removeEventListener("selectionchange",E)}),[E]),he.useEffect(()=>wr(l.registerUpdateListener(()=>{E()}),l.registerRootListener(()=>{l.getRootElement()===null&&e(!1)})),[l,E]),n?ao.createPortal(ae.jsx(KR,{editor:l,anchorElem:t,isLink:s,isBold:o,isItalic:c,isStrikethrough:f,isSubscript:h,isSuperscript:g,isUnderline:u,isCode:v}),t):null}function $R({anchorElem:l=document.body}){const[t]=yn();return GR(t,l)}const e4="";function YR({children:l,label:t,className:n,...e}){return ae.jsxs("div",{className:"Input__wrapper",children:[ae.jsx("label",{style:{marginTop:"-1em"},className:"Input__label",children:t}),ae.jsx("select",{...e,className:n||"select",children:l})]})}const jC=new Set;function ZR(l){if(!jC.has(l))throw new Promise(t=>{const n=new Image;n.src=l,n.onload=()=>{jC.add(l),t(null)}})}function QR({altText:l,className:t,imageRef:n,src:e,width:s,height:r,position:o}){return ZR(e),ae.jsx("img",{className:t||void 0,src:e,alt:l,ref:n,"data-position":o,style:{display:"block",height:r,width:s},draggable:"false"})}function kC({activeEditor:l,nodeKey:t,onClose:n}){const s=l.getEditorState().read(()=>Dn(t)),[r,o]=he.useState(s.getAltText()),[a,c]=he.useState(s.getShowCaption()),[i,u]=he.useState(s.getPosition()),d=h=>{c(h.target.checked)},f=h=>{u(h.target.value)},p=()=>{const h={altText:r,position:i,showCaption:a};s&&l.update(()=>{s.update(h)}),n()};return ae.jsxs(ae.Fragment,{children:[ae.jsx("div",{style:{marginBottom:"1em"},children:ae.jsx(Oc,{label:"Alt Text",placeholder:"Descriptive alternative text",onChange:o,value:r,"data-test-id":"image-modal-alt-text-input"})}),ae.jsxs(YR,{style:{marginBottom:"1em",width:"208px"},value:i,label:"Position",name:"position",id:"position-select",onChange:f,children:[ae.jsx("option",{value:"left",children:"Left"}),ae.jsx("option",{value:"right",children:"Right"}),ae.jsx("option",{value:"full",children:"Full Width"})]}),ae.jsxs("div",{className:"Input__wrapper",children:[ae.jsx("input",{id:"caption",type:"checkbox",checked:a,onChange:d}),ae.jsx("label",{htmlFor:"caption",children:"Show Caption"})]}),ae.jsx(Rp,{children:ae.jsx(Fi,{"data-test-id":"image-modal-file-upload-btn",onClick:()=>p(),children:"Confirm"})})]})}function XR({src:l,altText:t,nodeKey:n,width:e,height:s,showCaption:r,caption:o,position:a}){const[c,i]=Da(),u=he.useRef(null),d=he.useRef(null),[f,p,h]=Cc(n),[m]=yn(),[g,b]=he.useState(null),v=he.useRef(null),_=he.useCallback(x=>{if(f&&fr(jt())){x.preventDefault();const T=Dn(n);if(wT(T))return T.remove(),!0}return!1},[f,n]),E=he.useCallback(x=>{const C=jt(),T=d.current;if(f&&fr(C)&&C.getNodes().length===1){if(r)return jr(null),x.preventDefault(),o.focus(),!0;if(T!==null&&T!==document.activeElement)return x.preventDefault(),T.focus(),!0}return!1},[o,f,r]),S=he.useCallback(x=>v.current===o||d.current===x.target?(jr(null),m.update(()=>{p(!0);const C=m.getRootElement();C!==null&&C.focus()}),!0):!1,[o,m,p]);he.useEffect(()=>{let x=!0;const C=wr(m.registerUpdateListener(({editorState:T})=>{x&&b(T.read(()=>jt()))}),m.registerCommand(ai,(T,R)=>(v.current=R,!1),Jn),m.registerCommand(ba,T=>{const R=T;return R.target===u.current?(R.shiftKey?p(!f):(h(),p(!0)),!0):!1},Jn),m.registerCommand(ac,T=>T.target===u.current?(T.preventDefault(),!0):!1,Jn),m.registerCommand(Qi,_,Jn),m.registerCommand(Zi,_,Jn),m.registerCommand(Ls,E,Jn),m.registerCommand(Fs,S,Jn));return()=>{x=!1,C()}},[h,m,f,n,_,E,S,p]);const w=f&&fr(g),y=f;return ae.jsxs(he.Suspense,{fallback:null,children:[ae.jsxs(ae.Fragment,{children:[ae.jsxs("div",{draggable:w,children:[ae.jsx("button",{className:"image-edit-button",ref:d,onClick:()=>{i("Update Inline Image",x=>ae.jsx(kC,{activeEditor:m,nodeKey:n,onClose:x}))},children:"Edit"}),ae.jsx(QR,{className:y?`focused ${fr(g)?"draggable":""}`:null,src:l,altText:t,imageRef:u,width:e,height:s,position:a})]}),r&&ae.jsx("div",{className:"image-caption-container",children:ae.jsxs(SC,{initialEditor:o,children:[ae.jsx(Lp,{}),ae.jsx(gy,{}),ae.jsx($R,{}),ae.jsx(qp,{contentEditable:ae.jsx(Pd,{className:"InlineImageNode__contentEditable"}),placeholder:ae.jsx(Id,{className:"InlineImageNode__placeholder",children:"Enter a caption..."}),ErrorBoundary:Dl})]})})]}),c]})}const eD=Object.freeze(Object.defineProperty({__proto__:null,UpdateInlineImageDialog:kC,default:XR},Symbol.toStringTag,{value:"Module"})),t4="";function tD(l){return l.reduce((t,n)=>t+n.votes.length,0)}function nD({option:l,index:t,options:n,totalVotes:e,withPollNode:s}){const{clientID:r}=Md(),o=he.useRef(null),a=l.votes,i=a.indexOf(r)!==-1,u=a.length,d=l.text;return ae.jsxs("div",{className:"PollNode__optionContainer",children:[ae.jsx("div",{className:iy("PollNode__optionCheckboxWrapper",i&&"PollNode__optionCheckboxChecked"),children:ae.jsx("input",{ref:o,className:"PollNode__optionCheckbox",type:"checkbox",onChange:f=>{s(p=>{p.toggleVote(l,r)})},checked:i})}),ae.jsxs("div",{className:"PollNode__optionInputWrapper",children:[ae.jsx("div",{className:"PollNode__optionInputVotes",style:{width:`${u===0?0:u/e*100}%`}}),ae.jsx("span",{className:"PollNode__optionInputVotesCount",children:u>0&&(u===1?"1 vote":`${u} votes`)}),ae.jsx("input",{className:"PollNode__optionInput",type:"text",value:d,onChange:f=>{const p=f.target,h=p.value,m=p.selectionStart,g=p.selectionEnd;s(b=>{b.setOptionText(l,h)},()=>{p.selectionStart=m,p.selectionEnd=g})},placeholder:`Option ${t+1}`})]}),ae.jsx("button",{disabled:n.length<3,className:iy("PollNode__optionDelete",n.length<3&&"PollNode__optionDeleteDisabled"),"aria-label":"Remove",onClick:()=>{s(f=>{f.deleteOption(l)})}})]})}function rD({question:l,options:t,nodeKey:n}){const[e]=yn(),s=he.useMemo(()=>tD(t),[t]),[r,o,a]=Cc(n),[c,i]=he.useState(null),u=he.useRef(null),d=he.useCallback(m=>{if(r&&fr(jt())){m.preventDefault();const b=Dn(n);if(T1(b))return b.remove(),!0}return!1},[r,n]);he.useEffect(()=>wr(e.registerUpdateListener(({editorState:m})=>{i(m.read(()=>jt()))}),e.registerCommand(ba,m=>{const g=m;return g.target===u.current?(g.shiftKey||a(),o(!r),!0):!1},Jn),e.registerCommand(Qi,d,Jn),e.registerCommand(Zi,d,Jn)),[a,e,r,n,d,o]);const f=(m,g)=>{e.update(()=>{const b=Dn(n);T1(b)&&m(b)},{onUpdate:g})},p=()=>{f(m=>{m.addOption(NT())})},h=fr(c)&&r;return ae.jsx("div",{className:`PollNode__container ${h?"focused":""}`,ref:u,children:ae.jsxs("div",{className:"PollNode__inner",children:[ae.jsx("h2",{className:"PollNode__heading",children:l}),t.map((m,g)=>{const b=m.uid;return ae.jsx(nD,{withPollNode:f,option:m,index:g,options:t,totalVotes:s},b)}),ae.jsx("div",{className:"PollNode__footer",children:ae.jsx(Fi,{onClick:p,small:!0,children:"Add Option"})})]})})}const oD=Object.freeze(Object.defineProperty({__proto__:null,default:rD},Symbol.toStringTag,{value:"Module"})),iD=Object.freeze(Object.defineProperty({__proto__:null,default:[{description:"grinning face",emoji:"😀",category:"Smileys & Emotion",aliases:["grinning"],tags:["smile","happy"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😃",description:"grinning face with big eyes",category:"Smileys & Emotion",aliases:["smiley"],tags:["happy","joy","haha"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😄",description:"grinning face with smiling eyes",category:"Smileys & Emotion",aliases:["smile"],tags:["happy","joy","laugh","pleased"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😁",description:"beaming face with smiling eyes",category:"Smileys & Emotion",aliases:["grin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😆",description:"grinning squinting face",category:"Smileys & Emotion",aliases:["laughing","satisfied"],tags:["happy","haha"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😅",description:"grinning face with sweat",category:"Smileys & Emotion",aliases:["sweat_smile"],tags:["hot"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤣",description:"rolling on the floor laughing",category:"Smileys & Emotion",aliases:["rofl"],tags:["lol","laughing"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"😂",description:"face with tears of joy",category:"Smileys & Emotion",aliases:["joy"],tags:["tears"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙂",description:"slightly smiling face",category:"Smileys & Emotion",aliases:["slightly_smiling_face"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🙃",description:"upside-down face",category:"Smileys & Emotion",aliases:["upside_down_face"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"😉",description:"winking face",category:"Smileys & Emotion",aliases:["wink"],tags:["flirt"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😊",description:"smiling face with smiling eyes",category:"Smileys & Emotion",aliases:["blush"],tags:["proud"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😇",description:"smiling face with halo",category:"Smileys & Emotion",aliases:["innocent"],tags:["angel"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥰",description:"smiling face with hearts",category:"Smileys & Emotion",aliases:["smiling_face_with_three_hearts"],tags:["love"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😍",description:"smiling face with heart-eyes",category:"Smileys & Emotion",aliases:["heart_eyes"],tags:["love","crush"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤩",description:"star-struck",category:"Smileys & Emotion",aliases:["star_struck"],tags:["eyes"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😘",description:"face blowing a kiss",category:"Smileys & Emotion",aliases:["kissing_heart"],tags:["flirt"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😗",description:"kissing face",category:"Smileys & Emotion",aliases:["kissing"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"☺️",description:"smiling face",category:"Smileys & Emotion",aliases:["relaxed"],tags:["blush","pleased"],unicode_version:"",ios_version:"6.0"},{emoji:"😚",description:"kissing face with closed eyes",category:"Smileys & Emotion",aliases:["kissing_closed_eyes"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😙",description:"kissing face with smiling eyes",category:"Smileys & Emotion",aliases:["kissing_smiling_eyes"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"🥲",description:"smiling face with tear",category:"Smileys & Emotion",aliases:["smiling_face_with_tear"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"😋",description:"face savoring food",category:"Smileys & Emotion",aliases:["yum"],tags:["tongue","lick"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😛",description:"face with tongue",category:"Smileys & Emotion",aliases:["stuck_out_tongue"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😜",description:"winking face with tongue",category:"Smileys & Emotion",aliases:["stuck_out_tongue_winking_eye"],tags:["prank","silly"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤪",description:"zany face",category:"Smileys & Emotion",aliases:["zany_face"],tags:["goofy","wacky"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😝",description:"squinting face with tongue",category:"Smileys & Emotion",aliases:["stuck_out_tongue_closed_eyes"],tags:["prank"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤑",description:"money-mouth face",category:"Smileys & Emotion",aliases:["money_mouth_face"],tags:["rich"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤗",description:"hugging face",category:"Smileys & Emotion",aliases:["hugs"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤭",description:"face with hand over mouth",category:"Smileys & Emotion",aliases:["hand_over_mouth"],tags:["quiet","whoops"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤫",description:"shushing face",category:"Smileys & Emotion",aliases:["shushing_face"],tags:["silence","quiet"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤔",description:"thinking face",category:"Smileys & Emotion",aliases:["thinking"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤐",description:"zipper-mouth face",category:"Smileys & Emotion",aliases:["zipper_mouth_face"],tags:["silence","hush"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤨",description:"face with raised eyebrow",category:"Smileys & Emotion",aliases:["raised_eyebrow"],tags:["suspicious"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😐",description:"neutral face",category:"Smileys & Emotion",aliases:["neutral_face"],tags:["meh"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😑",description:"expressionless face",category:"Smileys & Emotion",aliases:["expressionless"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😶",description:"face without mouth",category:"Smileys & Emotion",aliases:["no_mouth"],tags:["mute","silence"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😶‍🌫️",description:"face in clouds",category:"Smileys & Emotion",aliases:["face_in_clouds"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"😏",description:"smirking face",category:"Smileys & Emotion",aliases:["smirk"],tags:["smug"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😒",description:"unamused face",category:"Smileys & Emotion",aliases:["unamused"],tags:["meh"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙄",description:"face with rolling eyes",category:"Smileys & Emotion",aliases:["roll_eyes"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"😬",description:"grimacing face",category:"Smileys & Emotion",aliases:["grimacing"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😮‍💨",description:"face exhaling",category:"Smileys & Emotion",aliases:["face_exhaling"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"🤥",description:"lying face",category:"Smileys & Emotion",aliases:["lying_face"],tags:["liar"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"😌",description:"relieved face",category:"Smileys & Emotion",aliases:["relieved"],tags:["whew"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😔",description:"pensive face",category:"Smileys & Emotion",aliases:["pensive"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😪",description:"sleepy face",category:"Smileys & Emotion",aliases:["sleepy"],tags:["tired"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤤",description:"drooling face",category:"Smileys & Emotion",aliases:["drooling_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"😴",description:"sleeping face",category:"Smileys & Emotion",aliases:["sleeping"],tags:["zzz"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😷",description:"face with medical mask",category:"Smileys & Emotion",aliases:["mask"],tags:["sick","ill"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤒",description:"face with thermometer",category:"Smileys & Emotion",aliases:["face_with_thermometer"],tags:["sick"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤕",description:"face with head-bandage",category:"Smileys & Emotion",aliases:["face_with_head_bandage"],tags:["hurt"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤢",description:"nauseated face",category:"Smileys & Emotion",aliases:["nauseated_face"],tags:["sick","barf","disgusted"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤮",description:"face vomiting",category:"Smileys & Emotion",aliases:["vomiting_face"],tags:["barf","sick"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤧",description:"sneezing face",category:"Smileys & Emotion",aliases:["sneezing_face"],tags:["achoo","sick"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥵",description:"hot face",category:"Smileys & Emotion",aliases:["hot_face"],tags:["heat","sweating"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥶",description:"cold face",category:"Smileys & Emotion",aliases:["cold_face"],tags:["freezing","ice"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥴",description:"woozy face",category:"Smileys & Emotion",aliases:["woozy_face"],tags:["groggy"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😵",description:"knocked-out face",category:"Smileys & Emotion",aliases:["dizzy_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😵‍💫",description:"face with spiral eyes",category:"Smileys & Emotion",aliases:["face_with_spiral_eyes"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"🤯",description:"exploding head",category:"Smileys & Emotion",aliases:["exploding_head"],tags:["mind","blown"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤠",description:"cowboy hat face",category:"Smileys & Emotion",aliases:["cowboy_hat_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥳",description:"partying face",category:"Smileys & Emotion",aliases:["partying_face"],tags:["celebration","birthday"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥸",description:"disguised face",category:"Smileys & Emotion",aliases:["disguised_face"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"😎",description:"smiling face with sunglasses",category:"Smileys & Emotion",aliases:["sunglasses"],tags:["cool"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤓",description:"nerd face",category:"Smileys & Emotion",aliases:["nerd_face"],tags:["geek","glasses"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🧐",description:"face with monocle",category:"Smileys & Emotion",aliases:["monocle_face"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😕",description:"confused face",category:"Smileys & Emotion",aliases:["confused"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😟",description:"worried face",category:"Smileys & Emotion",aliases:["worried"],tags:["nervous"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"🙁",description:"slightly frowning face",category:"Smileys & Emotion",aliases:["slightly_frowning_face"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"☹️",description:"frowning face",category:"Smileys & Emotion",aliases:["frowning_face"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"😮",description:"face with open mouth",category:"Smileys & Emotion",aliases:["open_mouth"],tags:["surprise","impressed","wow"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😯",description:"hushed face",category:"Smileys & Emotion",aliases:["hushed"],tags:["silence","speechless"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😲",description:"astonished face",category:"Smileys & Emotion",aliases:["astonished"],tags:["amazed","gasp"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😳",description:"flushed face",category:"Smileys & Emotion",aliases:["flushed"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥺",description:"pleading face",category:"Smileys & Emotion",aliases:["pleading_face"],tags:["puppy","eyes"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😦",description:"frowning face with open mouth",category:"Smileys & Emotion",aliases:["frowning"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😧",description:"anguished face",category:"Smileys & Emotion",aliases:["anguished"],tags:["stunned"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😨",description:"fearful face",category:"Smileys & Emotion",aliases:["fearful"],tags:["scared","shocked","oops"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😰",description:"anxious face with sweat",category:"Smileys & Emotion",aliases:["cold_sweat"],tags:["nervous"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😥",description:"sad but relieved face",category:"Smileys & Emotion",aliases:["disappointed_relieved"],tags:["phew","sweat","nervous"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😢",description:"crying face",category:"Smileys & Emotion",aliases:["cry"],tags:["sad","tear"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😭",description:"loudly crying face",category:"Smileys & Emotion",aliases:["sob"],tags:["sad","cry","bawling"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😱",description:"face screaming in fear",category:"Smileys & Emotion",aliases:["scream"],tags:["horror","shocked"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😖",description:"confounded face",category:"Smileys & Emotion",aliases:["confounded"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😣",description:"persevering face",category:"Smileys & Emotion",aliases:["persevere"],tags:["struggling"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😞",description:"disappointed face",category:"Smileys & Emotion",aliases:["disappointed"],tags:["sad"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😓",description:"downcast face with sweat",category:"Smileys & Emotion",aliases:["sweat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😩",description:"weary face",category:"Smileys & Emotion",aliases:["weary"],tags:["tired"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😫",description:"tired face",category:"Smileys & Emotion",aliases:["tired_face"],tags:["upset","whine"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥱",description:"yawning face",category:"Smileys & Emotion",aliases:["yawning_face"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"😤",description:"face with steam from nose",category:"Smileys & Emotion",aliases:["triumph"],tags:["smug"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😡",description:"pouting face",category:"Smileys & Emotion",aliases:["rage","pout"],tags:["angry"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😠",description:"angry face",category:"Smileys & Emotion",aliases:["angry"],tags:["mad","annoyed"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤬",description:"face with symbols on mouth",category:"Smileys & Emotion",aliases:["cursing_face"],tags:["foul"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😈",description:"smiling face with horns",category:"Smileys & Emotion",aliases:["smiling_imp"],tags:["devil","evil","horns"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👿",description:"angry face with horns",category:"Smileys & Emotion",aliases:["imp"],tags:["angry","devil","evil","horns"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💀",description:"skull",category:"Smileys & Emotion",aliases:["skull"],tags:["dead","danger","poison"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☠️",description:"skull and crossbones",category:"Smileys & Emotion",aliases:["skull_and_crossbones"],tags:["danger","pirate"],unicode_version:"",ios_version:"9.1"},{emoji:"💩",description:"pile of poo",category:"Smileys & Emotion",aliases:["hankey","poop","shit"],tags:["crap"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤡",description:"clown face",category:"Smileys & Emotion",aliases:["clown_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"👹",description:"ogre",category:"Smileys & Emotion",aliases:["japanese_ogre"],tags:["monster"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👺",description:"goblin",category:"Smileys & Emotion",aliases:["japanese_goblin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👻",description:"ghost",category:"Smileys & Emotion",aliases:["ghost"],tags:["halloween"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👽",description:"alien",category:"Smileys & Emotion",aliases:["alien"],tags:["ufo"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👾",description:"alien monster",category:"Smileys & Emotion",aliases:["space_invader"],tags:["game","retro"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤖",description:"robot",category:"Smileys & Emotion",aliases:["robot"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"😺",description:"grinning cat",category:"Smileys & Emotion",aliases:["smiley_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😸",description:"grinning cat with smiling eyes",category:"Smileys & Emotion",aliases:["smile_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😹",description:"cat with tears of joy",category:"Smileys & Emotion",aliases:["joy_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😻",description:"smiling cat with heart-eyes",category:"Smileys & Emotion",aliases:["heart_eyes_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😼",description:"cat with wry smile",category:"Smileys & Emotion",aliases:["smirk_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😽",description:"kissing cat",category:"Smileys & Emotion",aliases:["kissing_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙀",description:"weary cat",category:"Smileys & Emotion",aliases:["scream_cat"],tags:["horror"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😿",description:"crying cat",category:"Smileys & Emotion",aliases:["crying_cat_face"],tags:["sad","tear"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😾",description:"pouting cat",category:"Smileys & Emotion",aliases:["pouting_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙈",description:"see-no-evil monkey",category:"Smileys & Emotion",aliases:["see_no_evil"],tags:["monkey","blind","ignore"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙉",description:"hear-no-evil monkey",category:"Smileys & Emotion",aliases:["hear_no_evil"],tags:["monkey","deaf"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙊",description:"speak-no-evil monkey",category:"Smileys & Emotion",aliases:["speak_no_evil"],tags:["monkey","mute","hush"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💋",description:"kiss mark",category:"Smileys & Emotion",aliases:["kiss"],tags:["lipstick"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💌",description:"love letter",category:"Smileys & Emotion",aliases:["love_letter"],tags:["email","envelope"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💘",description:"heart with arrow",category:"Smileys & Emotion",aliases:["cupid"],tags:["love","heart"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💝",description:"heart with ribbon",category:"Smileys & Emotion",aliases:["gift_heart"],tags:["chocolates"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💖",description:"sparkling heart",category:"Smileys & Emotion",aliases:["sparkling_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💗",description:"growing heart",category:"Smileys & Emotion",aliases:["heartpulse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💓",description:"beating heart",category:"Smileys & Emotion",aliases:["heartbeat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💞",description:"revolving hearts",category:"Smileys & Emotion",aliases:["revolving_hearts"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💕",description:"two hearts",category:"Smileys & Emotion",aliases:["two_hearts"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💟",description:"heart decoration",category:"Smileys & Emotion",aliases:["heart_decoration"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❣️",description:"heart exclamation",category:"Smileys & Emotion",aliases:["heavy_heart_exclamation"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"💔",description:"broken heart",category:"Smileys & Emotion",aliases:["broken_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❤️‍🔥",description:"heart on fire",category:"Smileys & Emotion",aliases:["heart_on_fire"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"❤️‍🩹",description:"mending heart",category:"Smileys & Emotion",aliases:["mending_heart"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"❤️",description:"red heart",category:"Smileys & Emotion",aliases:["heart"],tags:["love"],unicode_version:"",ios_version:"6.0"},{emoji:"🧡",description:"orange heart",category:"Smileys & Emotion",aliases:["orange_heart"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💛",description:"yellow heart",category:"Smileys & Emotion",aliases:["yellow_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💚",description:"green heart",category:"Smileys & Emotion",aliases:["green_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💙",description:"blue heart",category:"Smileys & Emotion",aliases:["blue_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💜",description:"purple heart",category:"Smileys & Emotion",aliases:["purple_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤎",description:"brown heart",category:"Smileys & Emotion",aliases:["brown_heart"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🖤",description:"black heart",category:"Smileys & Emotion",aliases:["black_heart"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤍",description:"white heart",category:"Smileys & Emotion",aliases:["white_heart"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"💯",description:"hundred points",category:"Smileys & Emotion",aliases:["100"],tags:["score","perfect"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💢",description:"anger symbol",category:"Smileys & Emotion",aliases:["anger"],tags:["angry"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💥",description:"collision",category:"Smileys & Emotion",aliases:["boom","collision"],tags:["explode"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💫",description:"dizzy",category:"Smileys & Emotion",aliases:["dizzy"],tags:["star"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💦",description:"sweat droplets",category:"Smileys & Emotion",aliases:["sweat_drops"],tags:["water","workout"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💨",description:"dashing away",category:"Smileys & Emotion",aliases:["dash"],tags:["wind","blow","fast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕳️",description:"hole",category:"Smileys & Emotion",aliases:["hole"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💣",description:"bomb",category:"Smileys & Emotion",aliases:["bomb"],tags:["boom"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💬",description:"speech balloon",category:"Smileys & Emotion",aliases:["speech_balloon"],tags:["comment"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👁️‍🗨️",description:"eye in speech bubble",category:"Smileys & Emotion",aliases:["eye_speech_bubble"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🗨️",description:"left speech bubble",category:"Smileys & Emotion",aliases:["left_speech_bubble"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🗯️",description:"right anger bubble",category:"Smileys & Emotion",aliases:["right_anger_bubble"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💭",description:"thought balloon",category:"Smileys & Emotion",aliases:["thought_balloon"],tags:["thinking"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💤",description:"zzz",category:"Smileys & Emotion",aliases:["zzz"],tags:["sleeping"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👋",description:"waving hand",category:"People & Body",aliases:["wave"],tags:["goodbye"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤚",description:"raised back of hand",category:"People & Body",aliases:["raised_back_of_hand"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🖐️",description:"hand with fingers splayed",category:"People & Body",aliases:["raised_hand_with_fingers_splayed"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"✋",description:"raised hand",category:"People & Body",aliases:["hand","raised_hand"],tags:["highfive","stop"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🖖",description:"vulcan salute",category:"People & Body",aliases:["vulcan_salute"],tags:["prosper","spock"],unicode_version:"7.0",ios_version:"8.3",skin_tones:!0},{emoji:"👌",description:"OK hand",category:"People & Body",aliases:["ok_hand"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤌",description:"pinched fingers",category:"People & Body",aliases:["pinched_fingers"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🤏",description:"pinching hand",category:"People & Body",aliases:["pinching_hand"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"✌️",description:"victory hand",category:"People & Body",aliases:["v"],tags:["victory","peace"],unicode_version:"",ios_version:"6.0",skin_tones:!0},{emoji:"🤞",description:"crossed fingers",category:"People & Body",aliases:["crossed_fingers"],tags:["luck","hopeful"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤟",description:"love-you gesture",category:"People & Body",aliases:["love_you_gesture"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤘",description:"sign of the horns",category:"People & Body",aliases:["metal"],tags:[],unicode_version:"8.0",ios_version:"9.1",skin_tones:!0},{emoji:"🤙",description:"call me hand",category:"People & Body",aliases:["call_me_hand"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"👈",description:"backhand index pointing left",category:"People & Body",aliases:["point_left"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👉",description:"backhand index pointing right",category:"People & Body",aliases:["point_right"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👆",description:"backhand index pointing up",category:"People & Body",aliases:["point_up_2"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🖕",description:"middle finger",category:"People & Body",aliases:["middle_finger","fu"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"👇",description:"backhand index pointing down",category:"People & Body",aliases:["point_down"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"☝️",description:"index pointing up",category:"People & Body",aliases:["point_up"],tags:[],unicode_version:"",ios_version:"6.0",skin_tones:!0},{emoji:"👍",description:"thumbs up",category:"People & Body",aliases:["+1","thumbsup"],tags:["approve","ok"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👎",description:"thumbs down",category:"People & Body",aliases:["-1","thumbsdown"],tags:["disapprove","bury"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"✊",description:"raised fist",category:"People & Body",aliases:["fist_raised","fist"],tags:["power"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👊",description:"oncoming fist",category:"People & Body",aliases:["fist_oncoming","facepunch","punch"],tags:["attack"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤛",description:"left-facing fist",category:"People & Body",aliases:["fist_left"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤜",description:"right-facing fist",category:"People & Body",aliases:["fist_right"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"👏",description:"clapping hands",category:"People & Body",aliases:["clap"],tags:["praise","applause"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙌",description:"raising hands",category:"People & Body",aliases:["raised_hands"],tags:["hooray"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👐",description:"open hands",category:"People & Body",aliases:["open_hands"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤲",description:"palms up together",category:"People & Body",aliases:["palms_up_together"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤝",description:"handshake",category:"People & Body",aliases:["handshake"],tags:["deal"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🙏",description:"folded hands",category:"People & Body",aliases:["pray"],tags:["please","hope","wish"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"✍️",description:"writing hand",category:"People & Body",aliases:["writing_hand"],tags:[],unicode_version:"",ios_version:"9.1",skin_tones:!0},{emoji:"💅",description:"nail polish",category:"People & Body",aliases:["nail_care"],tags:["beauty","manicure"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤳",description:"selfie",category:"People & Body",aliases:["selfie"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"💪",description:"flexed biceps",category:"People & Body",aliases:["muscle"],tags:["flex","bicep","strong","workout"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🦾",description:"mechanical arm",category:"People & Body",aliases:["mechanical_arm"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦿",description:"mechanical leg",category:"People & Body",aliases:["mechanical_leg"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦵",description:"leg",category:"People & Body",aliases:["leg"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦶",description:"foot",category:"People & Body",aliases:["foot"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👂",description:"ear",category:"People & Body",aliases:["ear"],tags:["hear","sound","listen"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🦻",description:"ear with hearing aid",category:"People & Body",aliases:["ear_with_hearing_aid"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👃",description:"nose",category:"People & Body",aliases:["nose"],tags:["smell"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧠",description:"brain",category:"People & Body",aliases:["brain"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🫀",description:"anatomical heart",category:"People & Body",aliases:["anatomical_heart"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🫁",description:"lungs",category:"People & Body",aliases:["lungs"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦷",description:"tooth",category:"People & Body",aliases:["tooth"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦴",description:"bone",category:"People & Body",aliases:["bone"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👀",description:"eyes",category:"People & Body",aliases:["eyes"],tags:["look","see","watch"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👁️",description:"eye",category:"People & Body",aliases:["eye"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"👅",description:"tongue",category:"People & Body",aliases:["tongue"],tags:["taste"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👄",description:"mouth",category:"People & Body",aliases:["lips"],tags:["kiss"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👶",description:"baby",category:"People & Body",aliases:["baby"],tags:["child","newborn"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧒",description:"child",category:"People & Body",aliases:["child"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👦",description:"boy",category:"People & Body",aliases:["boy"],tags:["child"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👧",description:"girl",category:"People & Body",aliases:["girl"],tags:["child"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧑",description:"person",category:"People & Body",aliases:["adult"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👱",description:"person: blond hair",category:"People & Body",aliases:["blond_haired_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👨",description:"man",category:"People & Body",aliases:["man"],tags:["mustache","father","dad"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧔",description:"person: beard",category:"People & Body",aliases:["bearded_person"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧔‍♂️",description:"man: beard",category:"People & Body",aliases:["man_beard"],tags:[],unicode_version:"13.1",ios_version:"14.0",skin_tones:!0},{emoji:"🧔‍♀️",description:"woman: beard",category:"People & Body",aliases:["woman_beard"],tags:[],unicode_version:"13.1",ios_version:"14.0",skin_tones:!0},{emoji:"👨‍🦰",description:"man: red hair",category:"People & Body",aliases:["red_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨‍🦱",description:"man: curly hair",category:"People & Body",aliases:["curly_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨‍🦳",description:"man: white hair",category:"People & Body",aliases:["white_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨‍🦲",description:"man: bald",category:"People & Body",aliases:["bald_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👩",description:"woman",category:"People & Body",aliases:["woman"],tags:["girls"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👩‍🦰",description:"woman: red hair",category:"People & Body",aliases:["red_haired_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑‍🦰",description:"person: red hair",category:"People & Body",aliases:["person_red_hair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👩‍🦱",description:"woman: curly hair",category:"People & Body",aliases:["curly_haired_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑‍🦱",description:"person: curly hair",category:"People & Body",aliases:["person_curly_hair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👩‍🦳",description:"woman: white hair",category:"People & Body",aliases:["white_haired_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑‍🦳",description:"person: white hair",category:"People & Body",aliases:["person_white_hair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👩‍🦲",description:"woman: bald",category:"People & Body",aliases:["bald_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑‍🦲",description:"person: bald",category:"People & Body",aliases:["person_bald"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👱‍♀️",description:"woman: blond hair",category:"People & Body",aliases:["blond_haired_woman","blonde_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"👱‍♂️",description:"man: blond hair",category:"People & Body",aliases:["blond_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧓",description:"older person",category:"People & Body",aliases:["older_adult"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👴",description:"old man",category:"People & Body",aliases:["older_man"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👵",description:"old woman",category:"People & Body",aliases:["older_woman"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙍",description:"person frowning",category:"People & Body",aliases:["frowning_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙍‍♂️",description:"man frowning",category:"People & Body",aliases:["frowning_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙍‍♀️",description:"woman frowning",category:"People & Body",aliases:["frowning_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙎",description:"person pouting",category:"People & Body",aliases:["pouting_face"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙎‍♂️",description:"man pouting",category:"People & Body",aliases:["pouting_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙎‍♀️",description:"woman pouting",category:"People & Body",aliases:["pouting_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙅",description:"person gesturing NO",category:"People & Body",aliases:["no_good"],tags:["stop","halt","denied"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙅‍♂️",description:"man gesturing NO",category:"People & Body",aliases:["no_good_man","ng_man"],tags:["stop","halt","denied"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙅‍♀️",description:"woman gesturing NO",category:"People & Body",aliases:["no_good_woman","ng_woman"],tags:["stop","halt","denied"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙆",description:"person gesturing OK",category:"People & Body",aliases:["ok_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙆‍♂️",description:"man gesturing OK",category:"People & Body",aliases:["ok_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙆‍♀️",description:"woman gesturing OK",category:"People & Body",aliases:["ok_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"💁",description:"person tipping hand",category:"People & Body",aliases:["tipping_hand_person","information_desk_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💁‍♂️",description:"man tipping hand",category:"People & Body",aliases:["tipping_hand_man","sassy_man"],tags:["information"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💁‍♀️",description:"woman tipping hand",category:"People & Body",aliases:["tipping_hand_woman","sassy_woman"],tags:["information"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙋",description:"person raising hand",category:"People & Body",aliases:["raising_hand"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙋‍♂️",description:"man raising hand",category:"People & Body",aliases:["raising_hand_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙋‍♀️",description:"woman raising hand",category:"People & Body",aliases:["raising_hand_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧏",description:"deaf person",category:"People & Body",aliases:["deaf_person"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧏‍♂️",description:"deaf man",category:"People & Body",aliases:["deaf_man"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧏‍♀️",description:"deaf woman",category:"People & Body",aliases:["deaf_woman"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🙇",description:"person bowing",category:"People & Body",aliases:["bow"],tags:["respect","thanks"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙇‍♂️",description:"man bowing",category:"People & Body",aliases:["bowing_man"],tags:["respect","thanks"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙇‍♀️",description:"woman bowing",category:"People & Body",aliases:["bowing_woman"],tags:["respect","thanks"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🤦",description:"person facepalming",category:"People & Body",aliases:["facepalm"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤦‍♂️",description:"man facepalming",category:"People & Body",aliases:["man_facepalming"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤦‍♀️",description:"woman facepalming",category:"People & Body",aliases:["woman_facepalming"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤷",description:"person shrugging",category:"People & Body",aliases:["shrug"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤷‍♂️",description:"man shrugging",category:"People & Body",aliases:["man_shrugging"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤷‍♀️",description:"woman shrugging",category:"People & Body",aliases:["woman_shrugging"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍⚕️",description:"health worker",category:"People & Body",aliases:["health_worker"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍⚕️",description:"man health worker",category:"People & Body",aliases:["man_health_worker"],tags:["doctor","nurse"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍⚕️",description:"woman health worker",category:"People & Body",aliases:["woman_health_worker"],tags:["doctor","nurse"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🎓",description:"student",category:"People & Body",aliases:["student"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🎓",description:"man student",category:"People & Body",aliases:["man_student"],tags:["graduation"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🎓",description:"woman student",category:"People & Body",aliases:["woman_student"],tags:["graduation"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🏫",description:"teacher",category:"People & Body",aliases:["teacher"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🏫",description:"man teacher",category:"People & Body",aliases:["man_teacher"],tags:["school","professor"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🏫",description:"woman teacher",category:"People & Body",aliases:["woman_teacher"],tags:["school","professor"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍⚖️",description:"judge",category:"People & Body",aliases:["judge"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍⚖️",description:"man judge",category:"People & Body",aliases:["man_judge"],tags:["justice"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍⚖️",description:"woman judge",category:"People & Body",aliases:["woman_judge"],tags:["justice"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🌾",description:"farmer",category:"People & Body",aliases:["farmer"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🌾",description:"man farmer",category:"People & Body",aliases:["man_farmer"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🌾",description:"woman farmer",category:"People & Body",aliases:["woman_farmer"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🍳",description:"cook",category:"People & Body",aliases:["cook"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🍳",description:"man cook",category:"People & Body",aliases:["man_cook"],tags:["chef"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🍳",description:"woman cook",category:"People & Body",aliases:["woman_cook"],tags:["chef"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🔧",description:"mechanic",category:"People & Body",aliases:["mechanic"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🔧",description:"man mechanic",category:"People & Body",aliases:["man_mechanic"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🔧",description:"woman mechanic",category:"People & Body",aliases:["woman_mechanic"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🏭",description:"factory worker",category:"People & Body",aliases:["factory_worker"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🏭",description:"man factory worker",category:"People & Body",aliases:["man_factory_worker"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🏭",description:"woman factory worker",category:"People & Body",aliases:["woman_factory_worker"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍💼",description:"office worker",category:"People & Body",aliases:["office_worker"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍💼",description:"man office worker",category:"People & Body",aliases:["man_office_worker"],tags:["business"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍💼",description:"woman office worker",category:"People & Body",aliases:["woman_office_worker"],tags:["business"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🔬",description:"scientist",category:"People & Body",aliases:["scientist"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🔬",description:"man scientist",category:"People & Body",aliases:["man_scientist"],tags:["research"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🔬",description:"woman scientist",category:"People & Body",aliases:["woman_scientist"],tags:["research"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍💻",description:"technologist",category:"People & Body",aliases:["technologist"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍💻",description:"man technologist",category:"People & Body",aliases:["man_technologist"],tags:["coder"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍💻",description:"woman technologist",category:"People & Body",aliases:["woman_technologist"],tags:["coder"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🎤",description:"singer",category:"People & Body",aliases:["singer"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🎤",description:"man singer",category:"People & Body",aliases:["man_singer"],tags:["rockstar"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🎤",description:"woman singer",category:"People & Body",aliases:["woman_singer"],tags:["rockstar"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🎨",description:"artist",category:"People & Body",aliases:["artist"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🎨",description:"man artist",category:"People & Body",aliases:["man_artist"],tags:["painter"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🎨",description:"woman artist",category:"People & Body",aliases:["woman_artist"],tags:["painter"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍✈️",description:"pilot",category:"People & Body",aliases:["pilot"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍✈️",description:"man pilot",category:"People & Body",aliases:["man_pilot"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍✈️",description:"woman pilot",category:"People & Body",aliases:["woman_pilot"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🚀",description:"astronaut",category:"People & Body",aliases:["astronaut"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🚀",description:"man astronaut",category:"People & Body",aliases:["man_astronaut"],tags:["space"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🚀",description:"woman astronaut",category:"People & Body",aliases:["woman_astronaut"],tags:["space"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🚒",description:"firefighter",category:"People & Body",aliases:["firefighter"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🚒",description:"man firefighter",category:"People & Body",aliases:["man_firefighter"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩‍🚒",description:"woman firefighter",category:"People & Body",aliases:["woman_firefighter"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👮",description:"police officer",category:"People & Body",aliases:["police_officer","cop"],tags:["law"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👮‍♂️",description:"man police officer",category:"People & Body",aliases:["policeman"],tags:["law","cop"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👮‍♀️",description:"woman police officer",category:"People & Body",aliases:["policewoman"],tags:["law","cop"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🕵️",description:"detective",category:"People & Body",aliases:["detective"],tags:["sleuth"],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🕵️‍♂️",description:"man detective",category:"People & Body",aliases:["male_detective"],tags:["sleuth"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🕵️‍♀️",description:"woman detective",category:"People & Body",aliases:["female_detective"],tags:["sleuth"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💂",description:"guard",category:"People & Body",aliases:["guard"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💂‍♂️",description:"man guard",category:"People & Body",aliases:["guardsman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"💂‍♀️",description:"woman guard",category:"People & Body",aliases:["guardswoman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🥷",description:"ninja",category:"People & Body",aliases:["ninja"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👷",description:"construction worker",category:"People & Body",aliases:["construction_worker"],tags:["helmet"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👷‍♂️",description:"man construction worker",category:"People & Body",aliases:["construction_worker_man"],tags:["helmet"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👷‍♀️",description:"woman construction worker",category:"People & Body",aliases:["construction_worker_woman"],tags:["helmet"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🤴",description:"prince",category:"People & Body",aliases:["prince"],tags:["crown","royal"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"👸",description:"princess",category:"People & Body",aliases:["princess"],tags:["crown","royal"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👳",description:"person wearing turban",category:"People & Body",aliases:["person_with_turban"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👳‍♂️",description:"man wearing turban",category:"People & Body",aliases:["man_with_turban"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👳‍♀️",description:"woman wearing turban",category:"People & Body",aliases:["woman_with_turban"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"👲",description:"person with skullcap",category:"People & Body",aliases:["man_with_gua_pi_mao"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧕",description:"woman with headscarf",category:"People & Body",aliases:["woman_with_headscarf"],tags:["hijab"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤵",description:"person in tuxedo",category:"People & Body",aliases:["person_in_tuxedo"],tags:["groom","marriage","wedding"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤵‍♂️",description:"man in tuxedo",category:"People & Body",aliases:["man_in_tuxedo"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🤵‍♀️",description:"woman in tuxedo",category:"People & Body",aliases:["woman_in_tuxedo"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👰",description:"person with veil",category:"People & Body",aliases:["person_with_veil"],tags:["marriage","wedding"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👰‍♂️",description:"man with veil",category:"People & Body",aliases:["man_with_veil"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👰‍♀️",description:"woman with veil",category:"People & Body",aliases:["woman_with_veil","bride_with_veil"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🤰",description:"pregnant woman",category:"People & Body",aliases:["pregnant_woman"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤱",description:"breast-feeding",category:"People & Body",aliases:["breast_feeding"],tags:["nursing"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👩‍🍼",description:"woman feeding baby",category:"People & Body",aliases:["woman_feeding_baby"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👨‍🍼",description:"man feeding baby",category:"People & Body",aliases:["man_feeding_baby"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🧑‍🍼",description:"person feeding baby",category:"People & Body",aliases:["person_feeding_baby"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👼",description:"baby angel",category:"People & Body",aliases:["angel"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🎅",description:"Santa Claus",category:"People & Body",aliases:["santa"],tags:["christmas"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤶",description:"Mrs. Claus",category:"People & Body",aliases:["mrs_claus"],tags:["santa"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🧑‍🎄",description:"mx claus",category:"People & Body",aliases:["mx_claus"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🦸",description:"superhero",category:"People & Body",aliases:["superhero"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦸‍♂️",description:"man superhero",category:"People & Body",aliases:["superhero_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦸‍♀️",description:"woman superhero",category:"People & Body",aliases:["superhero_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦹",description:"supervillain",category:"People & Body",aliases:["supervillain"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦹‍♂️",description:"man supervillain",category:"People & Body",aliases:["supervillain_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦹‍♀️",description:"woman supervillain",category:"People & Body",aliases:["supervillain_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧙",description:"mage",category:"People & Body",aliases:["mage"],tags:["wizard"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧙‍♂️",description:"man mage",category:"People & Body",aliases:["mage_man"],tags:["wizard"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧙‍♀️",description:"woman mage",category:"People & Body",aliases:["mage_woman"],tags:["wizard"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧚",description:"fairy",category:"People & Body",aliases:["fairy"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧚‍♂️",description:"man fairy",category:"People & Body",aliases:["fairy_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧚‍♀️",description:"woman fairy",category:"People & Body",aliases:["fairy_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧛",description:"vampire",category:"People & Body",aliases:["vampire"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧛‍♂️",description:"man vampire",category:"People & Body",aliases:["vampire_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧛‍♀️",description:"woman vampire",category:"People & Body",aliases:["vampire_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧜",description:"merperson",category:"People & Body",aliases:["merperson"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧜‍♂️",description:"merman",category:"People & Body",aliases:["merman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧜‍♀️",description:"mermaid",category:"People & Body",aliases:["mermaid"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧝",description:"elf",category:"People & Body",aliases:["elf"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧝‍♂️",description:"man elf",category:"People & Body",aliases:["elf_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧝‍♀️",description:"woman elf",category:"People & Body",aliases:["elf_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧞",description:"genie",category:"People & Body",aliases:["genie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧞‍♂️",description:"man genie",category:"People & Body",aliases:["genie_man"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧞‍♀️",description:"woman genie",category:"People & Body",aliases:["genie_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧟",description:"zombie",category:"People & Body",aliases:["zombie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧟‍♂️",description:"man zombie",category:"People & Body",aliases:["zombie_man"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧟‍♀️",description:"woman zombie",category:"People & Body",aliases:["zombie_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💆",description:"person getting massage",category:"People & Body",aliases:["massage"],tags:["spa"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💆‍♂️",description:"man getting massage",category:"People & Body",aliases:["massage_man"],tags:["spa"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💆‍♀️",description:"woman getting massage",category:"People & Body",aliases:["massage_woman"],tags:["spa"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"💇",description:"person getting haircut",category:"People & Body",aliases:["haircut"],tags:["beauty"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💇‍♂️",description:"man getting haircut",category:"People & Body",aliases:["haircut_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💇‍♀️",description:"woman getting haircut",category:"People & Body",aliases:["haircut_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚶",description:"person walking",category:"People & Body",aliases:["walking"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚶‍♂️",description:"man walking",category:"People & Body",aliases:["walking_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚶‍♀️",description:"woman walking",category:"People & Body",aliases:["walking_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🧍",description:"person standing",category:"People & Body",aliases:["standing_person"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧍‍♂️",description:"man standing",category:"People & Body",aliases:["standing_man"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧍‍♀️",description:"woman standing",category:"People & Body",aliases:["standing_woman"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧎",description:"person kneeling",category:"People & Body",aliases:["kneeling_person"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧎‍♂️",description:"man kneeling",category:"People & Body",aliases:["kneeling_man"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧎‍♀️",description:"woman kneeling",category:"People & Body",aliases:["kneeling_woman"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧑‍🦯",description:"person with white cane",category:"People & Body",aliases:["person_with_probing_cane"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🦯",description:"man with white cane",category:"People & Body",aliases:["man_with_probing_cane"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👩‍🦯",description:"woman with white cane",category:"People & Body",aliases:["woman_with_probing_cane"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧑‍🦼",description:"person in motorized wheelchair",category:"People & Body",aliases:["person_in_motorized_wheelchair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🦼",description:"man in motorized wheelchair",category:"People & Body",aliases:["man_in_motorized_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👩‍🦼",description:"woman in motorized wheelchair",category:"People & Body",aliases:["woman_in_motorized_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧑‍🦽",description:"person in manual wheelchair",category:"People & Body",aliases:["person_in_manual_wheelchair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨‍🦽",description:"man in manual wheelchair",category:"People & Body",aliases:["man_in_manual_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👩‍🦽",description:"woman in manual wheelchair",category:"People & Body",aliases:["woman_in_manual_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🏃",description:"person running",category:"People & Body",aliases:["runner","running"],tags:["exercise","workout","marathon"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏃‍♂️",description:"man running",category:"People & Body",aliases:["running_man"],tags:["exercise","workout","marathon"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏃‍♀️",description:"woman running",category:"People & Body",aliases:["running_woman"],tags:["exercise","workout","marathon"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💃",description:"woman dancing",category:"People & Body",aliases:["woman_dancing","dancer"],tags:["dress"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🕺",description:"man dancing",category:"People & Body",aliases:["man_dancing"],tags:["dancer"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🕴️",description:"person in suit levitating",category:"People & Body",aliases:["business_suit_levitating"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"👯",description:"people with bunny ears",category:"People & Body",aliases:["dancers"],tags:["bunny"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👯‍♂️",description:"men with bunny ears",category:"People & Body",aliases:["dancing_men"],tags:["bunny"],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👯‍♀️",description:"women with bunny ears",category:"People & Body",aliases:["dancing_women"],tags:["bunny"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧖",description:"person in steamy room",category:"People & Body",aliases:["sauna_person"],tags:["steamy"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧖‍♂️",description:"man in steamy room",category:"People & Body",aliases:["sauna_man"],tags:["steamy"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧖‍♀️",description:"woman in steamy room",category:"People & Body",aliases:["sauna_woman"],tags:["steamy"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧗",description:"person climbing",category:"People & Body",aliases:["climbing"],tags:["bouldering"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧗‍♂️",description:"man climbing",category:"People & Body",aliases:["climbing_man"],tags:["bouldering"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧗‍♀️",description:"woman climbing",category:"People & Body",aliases:["climbing_woman"],tags:["bouldering"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤺",description:"person fencing",category:"People & Body",aliases:["person_fencing"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🏇",description:"horse racing",category:"People & Body",aliases:["horse_racing"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"⛷️",description:"skier",category:"People & Body",aliases:["skier"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🏂",description:"snowboarder",category:"People & Body",aliases:["snowboarder"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏌️",description:"person golfing",category:"People & Body",aliases:["golfing"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🏌️‍♂️",description:"man golfing",category:"People & Body",aliases:["golfing_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏌️‍♀️",description:"woman golfing",category:"People & Body",aliases:["golfing_woman"],tags:[],unicode_version:"",ios_version:"10.0",skin_tones:!0},{emoji:"🏄",description:"person surfing",category:"People & Body",aliases:["surfer"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏄‍♂️",description:"man surfing",category:"People & Body",aliases:["surfing_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏄‍♀️",description:"woman surfing",category:"People & Body",aliases:["surfing_woman"],tags:[],unicode_version:"7.0",ios_version:"10.0",skin_tones:!0},{emoji:"🚣",description:"person rowing boat",category:"People & Body",aliases:["rowboat"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚣‍♂️",description:"man rowing boat",category:"People & Body",aliases:["rowing_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚣‍♀️",description:"woman rowing boat",category:"People & Body",aliases:["rowing_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🏊",description:"person swimming",category:"People & Body",aliases:["swimmer"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏊‍♂️",description:"man swimming",category:"People & Body",aliases:["swimming_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏊‍♀️",description:"woman swimming",category:"People & Body",aliases:["swimming_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"⛹️",description:"person bouncing ball",category:"People & Body",aliases:["bouncing_ball_person"],tags:["basketball"],unicode_version:"5.2",ios_version:"9.1",skin_tones:!0},{emoji:"⛹️‍♂️",description:"man bouncing ball",category:"People & Body",aliases:["bouncing_ball_man","basketball_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"⛹️‍♀️",description:"woman bouncing ball",category:"People & Body",aliases:["bouncing_ball_woman","basketball_woman"],tags:[],unicode_version:"7.0",ios_version:"10.0",skin_tones:!0},{emoji:"🏋️",description:"person lifting weights",category:"People & Body",aliases:["weight_lifting"],tags:["gym","workout"],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🏋️‍♂️",description:"man lifting weights",category:"People & Body",aliases:["weight_lifting_man"],tags:["gym","workout"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏋️‍♀️",description:"woman lifting weights",category:"People & Body",aliases:["weight_lifting_woman"],tags:["gym","workout"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🚴",description:"person biking",category:"People & Body",aliases:["bicyclist"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚴‍♂️",description:"man biking",category:"People & Body",aliases:["biking_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚴‍♀️",description:"woman biking",category:"People & Body",aliases:["biking_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🚵",description:"person mountain biking",category:"People & Body",aliases:["mountain_bicyclist"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚵‍♂️",description:"man mountain biking",category:"People & Body",aliases:["mountain_biking_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚵‍♀️",description:"woman mountain biking",category:"People & Body",aliases:["mountain_biking_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🤸",description:"person cartwheeling",category:"People & Body",aliases:["cartwheeling"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤸‍♂️",description:"man cartwheeling",category:"People & Body",aliases:["man_cartwheeling"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🤸‍♀️",description:"woman cartwheeling",category:"People & Body",aliases:["woman_cartwheeling"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🤼",description:"people wrestling",category:"People & Body",aliases:["wrestling"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤼‍♂️",description:"men wrestling",category:"People & Body",aliases:["men_wrestling"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤼‍♀️",description:"women wrestling",category:"People & Body",aliases:["women_wrestling"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤽",description:"person playing water polo",category:"People & Body",aliases:["water_polo"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤽‍♂️",description:"man playing water polo",category:"People & Body",aliases:["man_playing_water_polo"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤽‍♀️",description:"woman playing water polo",category:"People & Body",aliases:["woman_playing_water_polo"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤾",description:"person playing handball",category:"People & Body",aliases:["handball_person"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤾‍♂️",description:"man playing handball",category:"People & Body",aliases:["man_playing_handball"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤾‍♀️",description:"woman playing handball",category:"People & Body",aliases:["woman_playing_handball"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤹",description:"person juggling",category:"People & Body",aliases:["juggling_person"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤹‍♂️",description:"man juggling",category:"People & Body",aliases:["man_juggling"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤹‍♀️",description:"woman juggling",category:"People & Body",aliases:["woman_juggling"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🧘",description:"person in lotus position",category:"People & Body",aliases:["lotus_position"],tags:["meditation"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧘‍♂️",description:"man in lotus position",category:"People & Body",aliases:["lotus_position_man"],tags:["meditation"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧘‍♀️",description:"woman in lotus position",category:"People & Body",aliases:["lotus_position_woman"],tags:["meditation"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🛀",description:"person taking bath",category:"People & Body",aliases:["bath"],tags:["shower"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🛌",description:"person in bed",category:"People & Body",aliases:["sleeping_bed"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🧑‍🤝‍🧑",description:"people holding hands",category:"People & Body",aliases:["people_holding_hands"],tags:["couple","date"],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👭",description:"women holding hands",category:"People & Body",aliases:["two_women_holding_hands"],tags:["couple","date"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👫",description:"woman and man holding hands",category:"People & Body",aliases:["couple"],tags:["date"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👬",description:"men holding hands",category:"People & Body",aliases:["two_men_holding_hands"],tags:["couple","date"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💏",description:"kiss",category:"People & Body",aliases:["couplekiss"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👩‍❤️‍💋‍👨",description:"kiss: woman, man",category:"People & Body",aliases:["couplekiss_man_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨‍❤️‍💋‍👨",description:"kiss: man, man",category:"People & Body",aliases:["couplekiss_man_man"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"👩‍❤️‍💋‍👩",description:"kiss: woman, woman",category:"People & Body",aliases:["couplekiss_woman_woman"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"💑",description:"couple with heart",category:"People & Body",aliases:["couple_with_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👩‍❤️‍👨",description:"couple with heart: woman, man",category:"People & Body",aliases:["couple_with_heart_woman_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨‍❤️‍👨",description:"couple with heart: man, man",category:"People & Body",aliases:["couple_with_heart_man_man"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"👩‍❤️‍👩",description:"couple with heart: woman, woman",category:"People & Body",aliases:["couple_with_heart_woman_woman"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"👪",description:"family",category:"People & Body",aliases:["family"],tags:["home","parents","child"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👨‍👩‍👦",description:"family: man, woman, boy",category:"People & Body",aliases:["family_man_woman_boy"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👨‍👩‍👧",description:"family: man, woman, girl",category:"People & Body",aliases:["family_man_woman_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👩‍👧‍👦",description:"family: man, woman, girl, boy",category:"People & Body",aliases:["family_man_woman_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👩‍👦‍👦",description:"family: man, woman, boy, boy",category:"People & Body",aliases:["family_man_woman_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👩‍👧‍👧",description:"family: man, woman, girl, girl",category:"People & Body",aliases:["family_man_woman_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👨‍👦",description:"family: man, man, boy",category:"People & Body",aliases:["family_man_man_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👨‍👧",description:"family: man, man, girl",category:"People & Body",aliases:["family_man_man_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👨‍👧‍👦",description:"family: man, man, girl, boy",category:"People & Body",aliases:["family_man_man_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👨‍👦‍👦",description:"family: man, man, boy, boy",category:"People & Body",aliases:["family_man_man_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👨‍👧‍👧",description:"family: man, man, girl, girl",category:"People & Body",aliases:["family_man_man_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩‍👩‍👦",description:"family: woman, woman, boy",category:"People & Body",aliases:["family_woman_woman_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩‍👩‍👧",description:"family: woman, woman, girl",category:"People & Body",aliases:["family_woman_woman_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩‍👩‍👧‍👦",description:"family: woman, woman, girl, boy",category:"People & Body",aliases:["family_woman_woman_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩‍👩‍👦‍👦",description:"family: woman, woman, boy, boy",category:"People & Body",aliases:["family_woman_woman_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩‍👩‍👧‍👧",description:"family: woman, woman, girl, girl",category:"People & Body",aliases:["family_woman_woman_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨‍👦",description:"family: man, boy",category:"People & Body",aliases:["family_man_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨‍👦‍👦",description:"family: man, boy, boy",category:"People & Body",aliases:["family_man_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨‍👧",description:"family: man, girl",category:"People & Body",aliases:["family_man_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨‍👧‍👦",description:"family: man, girl, boy",category:"People & Body",aliases:["family_man_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨‍👧‍👧",description:"family: man, girl, girl",category:"People & Body",aliases:["family_man_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩‍👦",description:"family: woman, boy",category:"People & Body",aliases:["family_woman_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩‍👦‍👦",description:"family: woman, boy, boy",category:"People & Body",aliases:["family_woman_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩‍👧",description:"family: woman, girl",category:"People & Body",aliases:["family_woman_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩‍👧‍👦",description:"family: woman, girl, boy",category:"People & Body",aliases:["family_woman_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩‍👧‍👧",description:"family: woman, girl, girl",category:"People & Body",aliases:["family_woman_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"🗣️",description:"speaking head",category:"People & Body",aliases:["speaking_head"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"👤",description:"bust in silhouette",category:"People & Body",aliases:["bust_in_silhouette"],tags:["user"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👥",description:"busts in silhouette",category:"People & Body",aliases:["busts_in_silhouette"],tags:["users","group","team"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫂",description:"people hugging",category:"People & Body",aliases:["people_hugging"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"👣",description:"footprints",category:"People & Body",aliases:["footprints"],tags:["feet","tracks"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐵",description:"monkey face",category:"Animals & Nature",aliases:["monkey_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐒",description:"monkey",category:"Animals & Nature",aliases:["monkey"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦍",description:"gorilla",category:"Animals & Nature",aliases:["gorilla"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦧",description:"orangutan",category:"Animals & Nature",aliases:["orangutan"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🐶",description:"dog face",category:"Animals & Nature",aliases:["dog"],tags:["pet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐕",description:"dog",category:"Animals & Nature",aliases:["dog2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦮",description:"guide dog",category:"Animals & Nature",aliases:["guide_dog"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🐕‍🦺",description:"service dog",category:"Animals & Nature",aliases:["service_dog"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🐩",description:"poodle",category:"Animals & Nature",aliases:["poodle"],tags:["dog"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐺",description:"wolf",category:"Animals & Nature",aliases:["wolf"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦊",description:"fox",category:"Animals & Nature",aliases:["fox_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦝",description:"raccoon",category:"Animals & Nature",aliases:["raccoon"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐱",description:"cat face",category:"Animals & Nature",aliases:["cat"],tags:["pet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐈",description:"cat",category:"Animals & Nature",aliases:["cat2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐈‍⬛",description:"black cat",category:"Animals & Nature",aliases:["black_cat"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦁",description:"lion",category:"Animals & Nature",aliases:["lion"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🐯",description:"tiger face",category:"Animals & Nature",aliases:["tiger"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐅",description:"tiger",category:"Animals & Nature",aliases:["tiger2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐆",description:"leopard",category:"Animals & Nature",aliases:["leopard"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐴",description:"horse face",category:"Animals & Nature",aliases:["horse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐎",description:"horse",category:"Animals & Nature",aliases:["racehorse"],tags:["speed"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦄",description:"unicorn",category:"Animals & Nature",aliases:["unicorn"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🦓",description:"zebra",category:"Animals & Nature",aliases:["zebra"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦌",description:"deer",category:"Animals & Nature",aliases:["deer"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦬",description:"bison",category:"Animals & Nature",aliases:["bison"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐮",description:"cow face",category:"Animals & Nature",aliases:["cow"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐂",description:"ox",category:"Animals & Nature",aliases:["ox"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐃",description:"water buffalo",category:"Animals & Nature",aliases:["water_buffalo"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐄",description:"cow",category:"Animals & Nature",aliases:["cow2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐷",description:"pig face",category:"Animals & Nature",aliases:["pig"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐖",description:"pig",category:"Animals & Nature",aliases:["pig2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐗",description:"boar",category:"Animals & Nature",aliases:["boar"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐽",description:"pig nose",category:"Animals & Nature",aliases:["pig_nose"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐏",description:"ram",category:"Animals & Nature",aliases:["ram"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐑",description:"ewe",category:"Animals & Nature",aliases:["sheep"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐐",description:"goat",category:"Animals & Nature",aliases:["goat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐪",description:"camel",category:"Animals & Nature",aliases:["dromedary_camel"],tags:["desert"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐫",description:"two-hump camel",category:"Animals & Nature",aliases:["camel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦙",description:"llama",category:"Animals & Nature",aliases:["llama"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦒",description:"giraffe",category:"Animals & Nature",aliases:["giraffe"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐘",description:"elephant",category:"Animals & Nature",aliases:["elephant"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦣",description:"mammoth",category:"Animals & Nature",aliases:["mammoth"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦏",description:"rhinoceros",category:"Animals & Nature",aliases:["rhinoceros"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦛",description:"hippopotamus",category:"Animals & Nature",aliases:["hippopotamus"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐭",description:"mouse face",category:"Animals & Nature",aliases:["mouse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐁",description:"mouse",category:"Animals & Nature",aliases:["mouse2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐀",description:"rat",category:"Animals & Nature",aliases:["rat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐹",description:"hamster",category:"Animals & Nature",aliases:["hamster"],tags:["pet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐰",description:"rabbit face",category:"Animals & Nature",aliases:["rabbit"],tags:["bunny"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐇",description:"rabbit",category:"Animals & Nature",aliases:["rabbit2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐿️",description:"chipmunk",category:"Animals & Nature",aliases:["chipmunk"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🦫",description:"beaver",category:"Animals & Nature",aliases:["beaver"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦔",description:"hedgehog",category:"Animals & Nature",aliases:["hedgehog"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦇",description:"bat",category:"Animals & Nature",aliases:["bat"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐻",description:"bear",category:"Animals & Nature",aliases:["bear"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐻‍❄️",description:"polar bear",category:"Animals & Nature",aliases:["polar_bear"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐨",description:"koala",category:"Animals & Nature",aliases:["koala"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐼",description:"panda",category:"Animals & Nature",aliases:["panda_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦥",description:"sloth",category:"Animals & Nature",aliases:["sloth"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦦",description:"otter",category:"Animals & Nature",aliases:["otter"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦨",description:"skunk",category:"Animals & Nature",aliases:["skunk"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦘",description:"kangaroo",category:"Animals & Nature",aliases:["kangaroo"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦡",description:"badger",category:"Animals & Nature",aliases:["badger"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐾",description:"paw prints",category:"Animals & Nature",aliases:["feet","paw_prints"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦃",description:"turkey",category:"Animals & Nature",aliases:["turkey"],tags:["thanksgiving"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🐔",description:"chicken",category:"Animals & Nature",aliases:["chicken"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐓",description:"rooster",category:"Animals & Nature",aliases:["rooster"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐣",description:"hatching chick",category:"Animals & Nature",aliases:["hatching_chick"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐤",description:"baby chick",category:"Animals & Nature",aliases:["baby_chick"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐥",description:"front-facing baby chick",category:"Animals & Nature",aliases:["hatched_chick"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐦",description:"bird",category:"Animals & Nature",aliases:["bird"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐧",description:"penguin",category:"Animals & Nature",aliases:["penguin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕊️",description:"dove",category:"Animals & Nature",aliases:["dove"],tags:["peace"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🦅",description:"eagle",category:"Animals & Nature",aliases:["eagle"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦆",description:"duck",category:"Animals & Nature",aliases:["duck"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦢",description:"swan",category:"Animals & Nature",aliases:["swan"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦉",description:"owl",category:"Animals & Nature",aliases:["owl"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦤",description:"dodo",category:"Animals & Nature",aliases:["dodo"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪶",description:"feather",category:"Animals & Nature",aliases:["feather"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦩",description:"flamingo",category:"Animals & Nature",aliases:["flamingo"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦚",description:"peacock",category:"Animals & Nature",aliases:["peacock"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦜",description:"parrot",category:"Animals & Nature",aliases:["parrot"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐸",description:"frog",category:"Animals & Nature",aliases:["frog"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐊",description:"crocodile",category:"Animals & Nature",aliases:["crocodile"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐢",description:"turtle",category:"Animals & Nature",aliases:["turtle"],tags:["slow"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦎",description:"lizard",category:"Animals & Nature",aliases:["lizard"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐍",description:"snake",category:"Animals & Nature",aliases:["snake"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐲",description:"dragon face",category:"Animals & Nature",aliases:["dragon_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐉",description:"dragon",category:"Animals & Nature",aliases:["dragon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦕",description:"sauropod",category:"Animals & Nature",aliases:["sauropod"],tags:["dinosaur"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦖",description:"T-Rex",category:"Animals & Nature",aliases:["t-rex"],tags:["dinosaur"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐳",description:"spouting whale",category:"Animals & Nature",aliases:["whale"],tags:["sea"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐋",description:"whale",category:"Animals & Nature",aliases:["whale2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐬",description:"dolphin",category:"Animals & Nature",aliases:["dolphin","flipper"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦭",description:"seal",category:"Animals & Nature",aliases:["seal"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐟",description:"fish",category:"Animals & Nature",aliases:["fish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐠",description:"tropical fish",category:"Animals & Nature",aliases:["tropical_fish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐡",description:"blowfish",category:"Animals & Nature",aliases:["blowfish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦈",description:"shark",category:"Animals & Nature",aliases:["shark"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐙",description:"octopus",category:"Animals & Nature",aliases:["octopus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐚",description:"spiral shell",category:"Animals & Nature",aliases:["shell"],tags:["sea","beach"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐌",description:"snail",category:"Animals & Nature",aliases:["snail"],tags:["slow"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦋",description:"butterfly",category:"Animals & Nature",aliases:["butterfly"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐛",description:"bug",category:"Animals & Nature",aliases:["bug"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐜",description:"ant",category:"Animals & Nature",aliases:["ant"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐝",description:"honeybee",category:"Animals & Nature",aliases:["bee","honeybee"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪲",description:"beetle",category:"Animals & Nature",aliases:["beetle"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐞",description:"lady beetle",category:"Animals & Nature",aliases:["lady_beetle"],tags:["bug"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦗",description:"cricket",category:"Animals & Nature",aliases:["cricket"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪳",description:"cockroach",category:"Animals & Nature",aliases:["cockroach"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🕷️",description:"spider",category:"Animals & Nature",aliases:["spider"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🕸️",description:"spider web",category:"Animals & Nature",aliases:["spider_web"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🦂",description:"scorpion",category:"Animals & Nature",aliases:["scorpion"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🦟",description:"mosquito",category:"Animals & Nature",aliases:["mosquito"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪰",description:"fly",category:"Animals & Nature",aliases:["fly"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪱",description:"worm",category:"Animals & Nature",aliases:["worm"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦠",description:"microbe",category:"Animals & Nature",aliases:["microbe"],tags:["germ"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💐",description:"bouquet",category:"Animals & Nature",aliases:["bouquet"],tags:["flowers"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌸",description:"cherry blossom",category:"Animals & Nature",aliases:["cherry_blossom"],tags:["flower","spring"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💮",description:"white flower",category:"Animals & Nature",aliases:["white_flower"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏵️",description:"rosette",category:"Animals & Nature",aliases:["rosette"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌹",description:"rose",category:"Animals & Nature",aliases:["rose"],tags:["flower"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥀",description:"wilted flower",category:"Animals & Nature",aliases:["wilted_flower"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🌺",description:"hibiscus",category:"Animals & Nature",aliases:["hibiscus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌻",description:"sunflower",category:"Animals & Nature",aliases:["sunflower"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌼",description:"blossom",category:"Animals & Nature",aliases:["blossom"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌷",description:"tulip",category:"Animals & Nature",aliases:["tulip"],tags:["flower"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌱",description:"seedling",category:"Animals & Nature",aliases:["seedling"],tags:["plant"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪴",description:"potted plant",category:"Animals & Nature",aliases:["potted_plant"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🌲",description:"evergreen tree",category:"Animals & Nature",aliases:["evergreen_tree"],tags:["wood"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌳",description:"deciduous tree",category:"Animals & Nature",aliases:["deciduous_tree"],tags:["wood"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌴",description:"palm tree",category:"Animals & Nature",aliases:["palm_tree"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌵",description:"cactus",category:"Animals & Nature",aliases:["cactus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌾",description:"sheaf of rice",category:"Animals & Nature",aliases:["ear_of_rice"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌿",description:"herb",category:"Animals & Nature",aliases:["herb"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☘️",description:"shamrock",category:"Animals & Nature",aliases:["shamrock"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🍀",description:"four leaf clover",category:"Animals & Nature",aliases:["four_leaf_clover"],tags:["luck"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍁",description:"maple leaf",category:"Animals & Nature",aliases:["maple_leaf"],tags:["canada"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍂",description:"fallen leaf",category:"Animals & Nature",aliases:["fallen_leaf"],tags:["autumn"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍃",description:"leaf fluttering in wind",category:"Animals & Nature",aliases:["leaves"],tags:["leaf"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍇",description:"grapes",category:"Food & Drink",aliases:["grapes"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍈",description:"melon",category:"Food & Drink",aliases:["melon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍉",description:"watermelon",category:"Food & Drink",aliases:["watermelon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍊",description:"tangerine",category:"Food & Drink",aliases:["tangerine","orange","mandarin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍋",description:"lemon",category:"Food & Drink",aliases:["lemon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍌",description:"banana",category:"Food & Drink",aliases:["banana"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍍",description:"pineapple",category:"Food & Drink",aliases:["pineapple"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥭",description:"mango",category:"Food & Drink",aliases:["mango"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍎",description:"red apple",category:"Food & Drink",aliases:["apple"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍏",description:"green apple",category:"Food & Drink",aliases:["green_apple"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍐",description:"pear",category:"Food & Drink",aliases:["pear"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍑",description:"peach",category:"Food & Drink",aliases:["peach"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍒",description:"cherries",category:"Food & Drink",aliases:["cherries"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍓",description:"strawberry",category:"Food & Drink",aliases:["strawberry"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫐",description:"blueberries",category:"Food & Drink",aliases:["blueberries"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥝",description:"kiwi fruit",category:"Food & Drink",aliases:["kiwi_fruit"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍅",description:"tomato",category:"Food & Drink",aliases:["tomato"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫒",description:"olive",category:"Food & Drink",aliases:["olive"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥥",description:"coconut",category:"Food & Drink",aliases:["coconut"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥑",description:"avocado",category:"Food & Drink",aliases:["avocado"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍆",description:"eggplant",category:"Food & Drink",aliases:["eggplant"],tags:["aubergine"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥔",description:"potato",category:"Food & Drink",aliases:["potato"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥕",description:"carrot",category:"Food & Drink",aliases:["carrot"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🌽",description:"ear of corn",category:"Food & Drink",aliases:["corn"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌶️",description:"hot pepper",category:"Food & Drink",aliases:["hot_pepper"],tags:["spicy"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🫑",description:"bell pepper",category:"Food & Drink",aliases:["bell_pepper"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥒",description:"cucumber",category:"Food & Drink",aliases:["cucumber"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥬",description:"leafy green",category:"Food & Drink",aliases:["leafy_green"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥦",description:"broccoli",category:"Food & Drink",aliases:["broccoli"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧄",description:"garlic",category:"Food & Drink",aliases:["garlic"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧅",description:"onion",category:"Food & Drink",aliases:["onion"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🍄",description:"mushroom",category:"Food & Drink",aliases:["mushroom"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥜",description:"peanuts",category:"Food & Drink",aliases:["peanuts"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🌰",description:"chestnut",category:"Food & Drink",aliases:["chestnut"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍞",description:"bread",category:"Food & Drink",aliases:["bread"],tags:["toast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥐",description:"croissant",category:"Food & Drink",aliases:["croissant"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥖",description:"baguette bread",category:"Food & Drink",aliases:["baguette_bread"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🫓",description:"flatbread",category:"Food & Drink",aliases:["flatbread"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥨",description:"pretzel",category:"Food & Drink",aliases:["pretzel"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥯",description:"bagel",category:"Food & Drink",aliases:["bagel"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥞",description:"pancakes",category:"Food & Drink",aliases:["pancakes"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🧇",description:"waffle",category:"Food & Drink",aliases:["waffle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧀",description:"cheese wedge",category:"Food & Drink",aliases:["cheese"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🍖",description:"meat on bone",category:"Food & Drink",aliases:["meat_on_bone"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍗",description:"poultry leg",category:"Food & Drink",aliases:["poultry_leg"],tags:["meat","chicken"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥩",description:"cut of meat",category:"Food & Drink",aliases:["cut_of_meat"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥓",description:"bacon",category:"Food & Drink",aliases:["bacon"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍔",description:"hamburger",category:"Food & Drink",aliases:["hamburger"],tags:["burger"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍟",description:"french fries",category:"Food & Drink",aliases:["fries"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍕",description:"pizza",category:"Food & Drink",aliases:["pizza"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌭",description:"hot dog",category:"Food & Drink",aliases:["hotdog"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🥪",description:"sandwich",category:"Food & Drink",aliases:["sandwich"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🌮",description:"taco",category:"Food & Drink",aliases:["taco"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🌯",description:"burrito",category:"Food & Drink",aliases:["burrito"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🫔",description:"tamale",category:"Food & Drink",aliases:["tamale"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥙",description:"stuffed flatbread",category:"Food & Drink",aliases:["stuffed_flatbread"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🧆",description:"falafel",category:"Food & Drink",aliases:["falafel"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🥚",description:"egg",category:"Food & Drink",aliases:["egg"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍳",description:"cooking",category:"Food & Drink",aliases:["fried_egg"],tags:["breakfast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥘",description:"shallow pan of food",category:"Food & Drink",aliases:["shallow_pan_of_food"],tags:["paella","curry"],unicode_version:"",ios_version:"10.2"},{emoji:"🍲",description:"pot of food",category:"Food & Drink",aliases:["stew"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫕",description:"fondue",category:"Food & Drink",aliases:["fondue"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥣",description:"bowl with spoon",category:"Food & Drink",aliases:["bowl_with_spoon"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥗",description:"green salad",category:"Food & Drink",aliases:["green_salad"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍿",description:"popcorn",category:"Food & Drink",aliases:["popcorn"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🧈",description:"butter",category:"Food & Drink",aliases:["butter"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧂",description:"salt",category:"Food & Drink",aliases:["salt"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥫",description:"canned food",category:"Food & Drink",aliases:["canned_food"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍱",description:"bento box",category:"Food & Drink",aliases:["bento"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍘",description:"rice cracker",category:"Food & Drink",aliases:["rice_cracker"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍙",description:"rice ball",category:"Food & Drink",aliases:["rice_ball"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍚",description:"cooked rice",category:"Food & Drink",aliases:["rice"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍛",description:"curry rice",category:"Food & Drink",aliases:["curry"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍜",description:"steaming bowl",category:"Food & Drink",aliases:["ramen"],tags:["noodle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍝",description:"spaghetti",category:"Food & Drink",aliases:["spaghetti"],tags:["pasta"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍠",description:"roasted sweet potato",category:"Food & Drink",aliases:["sweet_potato"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍢",description:"oden",category:"Food & Drink",aliases:["oden"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍣",description:"sushi",category:"Food & Drink",aliases:["sushi"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍤",description:"fried shrimp",category:"Food & Drink",aliases:["fried_shrimp"],tags:["tempura"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍥",description:"fish cake with swirl",category:"Food & Drink",aliases:["fish_cake"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥮",description:"moon cake",category:"Food & Drink",aliases:["moon_cake"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍡",description:"dango",category:"Food & Drink",aliases:["dango"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥟",description:"dumpling",category:"Food & Drink",aliases:["dumpling"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥠",description:"fortune cookie",category:"Food & Drink",aliases:["fortune_cookie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥡",description:"takeout box",category:"Food & Drink",aliases:["takeout_box"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦀",description:"crab",category:"Food & Drink",aliases:["crab"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🦞",description:"lobster",category:"Food & Drink",aliases:["lobster"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦐",description:"shrimp",category:"Food & Drink",aliases:["shrimp"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦑",description:"squid",category:"Food & Drink",aliases:["squid"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦪",description:"oyster",category:"Food & Drink",aliases:["oyster"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🍦",description:"soft ice cream",category:"Food & Drink",aliases:["icecream"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍧",description:"shaved ice",category:"Food & Drink",aliases:["shaved_ice"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍨",description:"ice cream",category:"Food & Drink",aliases:["ice_cream"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍩",description:"doughnut",category:"Food & Drink",aliases:["doughnut"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍪",description:"cookie",category:"Food & Drink",aliases:["cookie"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎂",description:"birthday cake",category:"Food & Drink",aliases:["birthday"],tags:["party"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍰",description:"shortcake",category:"Food & Drink",aliases:["cake"],tags:["dessert"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧁",description:"cupcake",category:"Food & Drink",aliases:["cupcake"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥧",description:"pie",category:"Food & Drink",aliases:["pie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍫",description:"chocolate bar",category:"Food & Drink",aliases:["chocolate_bar"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍬",description:"candy",category:"Food & Drink",aliases:["candy"],tags:["sweet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍭",description:"lollipop",category:"Food & Drink",aliases:["lollipop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍮",description:"custard",category:"Food & Drink",aliases:["custard"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍯",description:"honey pot",category:"Food & Drink",aliases:["honey_pot"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍼",description:"baby bottle",category:"Food & Drink",aliases:["baby_bottle"],tags:["milk"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥛",description:"glass of milk",category:"Food & Drink",aliases:["milk_glass"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"☕",description:"hot beverage",category:"Food & Drink",aliases:["coffee"],tags:["cafe","espresso"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"🫖",description:"teapot",category:"Food & Drink",aliases:["teapot"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🍵",description:"teacup without handle",category:"Food & Drink",aliases:["tea"],tags:["green","breakfast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍶",description:"sake",category:"Food & Drink",aliases:["sake"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍾",description:"bottle with popping cork",category:"Food & Drink",aliases:["champagne"],tags:["bottle","bubbly","celebration"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🍷",description:"wine glass",category:"Food & Drink",aliases:["wine_glass"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍸",description:"cocktail glass",category:"Food & Drink",aliases:["cocktail"],tags:["drink"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍹",description:"tropical drink",category:"Food & Drink",aliases:["tropical_drink"],tags:["summer","vacation"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍺",description:"beer mug",category:"Food & Drink",aliases:["beer"],tags:["drink"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍻",description:"clinking beer mugs",category:"Food & Drink",aliases:["beers"],tags:["drinks"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥂",description:"clinking glasses",category:"Food & Drink",aliases:["clinking_glasses"],tags:["cheers","toast"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥃",description:"tumbler glass",category:"Food & Drink",aliases:["tumbler_glass"],tags:["whisky"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥤",description:"cup with straw",category:"Food & Drink",aliases:["cup_with_straw"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧋",description:"bubble tea",category:"Food & Drink",aliases:["bubble_tea"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧃",description:"beverage box",category:"Food & Drink",aliases:["beverage_box"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧉",description:"mate",category:"Food & Drink",aliases:["mate"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧊",description:"ice",category:"Food & Drink",aliases:["ice_cube"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🥢",description:"chopsticks",category:"Food & Drink",aliases:["chopsticks"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍽️",description:"fork and knife with plate",category:"Food & Drink",aliases:["plate_with_cutlery"],tags:["dining","dinner"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🍴",description:"fork and knife",category:"Food & Drink",aliases:["fork_and_knife"],tags:["cutlery"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥄",description:"spoon",category:"Food & Drink",aliases:["spoon"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🔪",description:"kitchen knife",category:"Food & Drink",aliases:["hocho","knife"],tags:["cut","chop"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏺",description:"amphora",category:"Food & Drink",aliases:["amphora"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🌍",description:"globe showing Europe-Africa",category:"Travel & Places",aliases:["earth_africa"],tags:["globe","world","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌎",description:"globe showing Americas",category:"Travel & Places",aliases:["earth_americas"],tags:["globe","world","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌏",description:"globe showing Asia-Australia",category:"Travel & Places",aliases:["earth_asia"],tags:["globe","world","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌐",description:"globe with meridians",category:"Travel & Places",aliases:["globe_with_meridians"],tags:["world","global","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗺️",description:"world map",category:"Travel & Places",aliases:["world_map"],tags:["travel"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗾",description:"map of Japan",category:"Travel & Places",aliases:["japan"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧭",description:"compass",category:"Travel & Places",aliases:["compass"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏔️",description:"snow-capped mountain",category:"Travel & Places",aliases:["mountain_snow"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⛰️",description:"mountain",category:"Travel & Places",aliases:["mountain"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🌋",description:"volcano",category:"Travel & Places",aliases:["volcano"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗻",description:"mount fuji",category:"Travel & Places",aliases:["mount_fuji"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏕️",description:"camping",category:"Travel & Places",aliases:["camping"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏖️",description:"beach with umbrella",category:"Travel & Places",aliases:["beach_umbrella"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏜️",description:"desert",category:"Travel & Places",aliases:["desert"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏝️",description:"desert island",category:"Travel & Places",aliases:["desert_island"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏞️",description:"national park",category:"Travel & Places",aliases:["national_park"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏟️",description:"stadium",category:"Travel & Places",aliases:["stadium"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏛️",description:"classical building",category:"Travel & Places",aliases:["classical_building"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏗️",description:"building construction",category:"Travel & Places",aliases:["building_construction"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🧱",description:"brick",category:"Travel & Places",aliases:["bricks"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪨",description:"rock",category:"Travel & Places",aliases:["rock"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪵",description:"wood",category:"Travel & Places",aliases:["wood"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🛖",description:"hut",category:"Travel & Places",aliases:["hut"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏘️",description:"houses",category:"Travel & Places",aliases:["houses"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏚️",description:"derelict house",category:"Travel & Places",aliases:["derelict_house"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏠",description:"house",category:"Travel & Places",aliases:["house"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏡",description:"house with garden",category:"Travel & Places",aliases:["house_with_garden"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏢",description:"office building",category:"Travel & Places",aliases:["office"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏣",description:"Japanese post office",category:"Travel & Places",aliases:["post_office"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏤",description:"post office",category:"Travel & Places",aliases:["european_post_office"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏥",description:"hospital",category:"Travel & Places",aliases:["hospital"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏦",description:"bank",category:"Travel & Places",aliases:["bank"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏨",description:"hotel",category:"Travel & Places",aliases:["hotel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏩",description:"love hotel",category:"Travel & Places",aliases:["love_hotel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏪",description:"convenience store",category:"Travel & Places",aliases:["convenience_store"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏫",description:"school",category:"Travel & Places",aliases:["school"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏬",description:"department store",category:"Travel & Places",aliases:["department_store"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏭",description:"factory",category:"Travel & Places",aliases:["factory"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏯",description:"Japanese castle",category:"Travel & Places",aliases:["japanese_castle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏰",description:"castle",category:"Travel & Places",aliases:["european_castle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💒",description:"wedding",category:"Travel & Places",aliases:["wedding"],tags:["marriage"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗼",description:"Tokyo tower",category:"Travel & Places",aliases:["tokyo_tower"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗽",description:"Statue of Liberty",category:"Travel & Places",aliases:["statue_of_liberty"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⛪",description:"church",category:"Travel & Places",aliases:["church"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🕌",description:"mosque",category:"Travel & Places",aliases:["mosque"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🛕",description:"hindu temple",category:"Travel & Places",aliases:["hindu_temple"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🕍",description:"synagogue",category:"Travel & Places",aliases:["synagogue"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"⛩️",description:"shinto shrine",category:"Travel & Places",aliases:["shinto_shrine"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🕋",description:"kaaba",category:"Travel & Places",aliases:["kaaba"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"⛲",description:"fountain",category:"Travel & Places",aliases:["fountain"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⛺",description:"tent",category:"Travel & Places",aliases:["tent"],tags:["camping"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🌁",description:"foggy",category:"Travel & Places",aliases:["foggy"],tags:["karl"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌃",description:"night with stars",category:"Travel & Places",aliases:["night_with_stars"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏙️",description:"cityscape",category:"Travel & Places",aliases:["cityscape"],tags:["skyline"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌄",description:"sunrise over mountains",category:"Travel & Places",aliases:["sunrise_over_mountains"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌅",description:"sunrise",category:"Travel & Places",aliases:["sunrise"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌆",description:"cityscape at dusk",category:"Travel & Places",aliases:["city_sunset"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌇",description:"sunset",category:"Travel & Places",aliases:["city_sunrise"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌉",description:"bridge at night",category:"Travel & Places",aliases:["bridge_at_night"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♨️",description:"hot springs",category:"Travel & Places",aliases:["hotsprings"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🎠",description:"carousel horse",category:"Travel & Places",aliases:["carousel_horse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎡",description:"ferris wheel",category:"Travel & Places",aliases:["ferris_wheel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎢",description:"roller coaster",category:"Travel & Places",aliases:["roller_coaster"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💈",description:"barber pole",category:"Travel & Places",aliases:["barber"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎪",description:"circus tent",category:"Travel & Places",aliases:["circus_tent"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚂",description:"locomotive",category:"Travel & Places",aliases:["steam_locomotive"],tags:["train"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚃",description:"railway car",category:"Travel & Places",aliases:["railway_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚄",description:"high-speed train",category:"Travel & Places",aliases:["bullettrain_side"],tags:["train"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚅",description:"bullet train",category:"Travel & Places",aliases:["bullettrain_front"],tags:["train"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚆",description:"train",category:"Travel & Places",aliases:["train2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚇",description:"metro",category:"Travel & Places",aliases:["metro"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚈",description:"light rail",category:"Travel & Places",aliases:["light_rail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚉",description:"station",category:"Travel & Places",aliases:["station"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚊",description:"tram",category:"Travel & Places",aliases:["tram"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚝",description:"monorail",category:"Travel & Places",aliases:["monorail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚞",description:"mountain railway",category:"Travel & Places",aliases:["mountain_railway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚋",description:"tram car",category:"Travel & Places",aliases:["train"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚌",description:"bus",category:"Travel & Places",aliases:["bus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚍",description:"oncoming bus",category:"Travel & Places",aliases:["oncoming_bus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚎",description:"trolleybus",category:"Travel & Places",aliases:["trolleybus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚐",description:"minibus",category:"Travel & Places",aliases:["minibus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚑",description:"ambulance",category:"Travel & Places",aliases:["ambulance"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚒",description:"fire engine",category:"Travel & Places",aliases:["fire_engine"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚓",description:"police car",category:"Travel & Places",aliases:["police_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚔",description:"oncoming police car",category:"Travel & Places",aliases:["oncoming_police_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚕",description:"taxi",category:"Travel & Places",aliases:["taxi"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚖",description:"oncoming taxi",category:"Travel & Places",aliases:["oncoming_taxi"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚗",description:"automobile",category:"Travel & Places",aliases:["car","red_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚘",description:"oncoming automobile",category:"Travel & Places",aliases:["oncoming_automobile"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚙",description:"sport utility vehicle",category:"Travel & Places",aliases:["blue_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛻",description:"pickup truck",category:"Travel & Places",aliases:["pickup_truck"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🚚",description:"delivery truck",category:"Travel & Places",aliases:["truck"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚛",description:"articulated lorry",category:"Travel & Places",aliases:["articulated_lorry"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚜",description:"tractor",category:"Travel & Places",aliases:["tractor"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏎️",description:"racing car",category:"Travel & Places",aliases:["racing_car"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏍️",description:"motorcycle",category:"Travel & Places",aliases:["motorcycle"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛵",description:"motor scooter",category:"Travel & Places",aliases:["motor_scooter"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦽",description:"manual wheelchair",category:"Travel & Places",aliases:["manual_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦼",description:"motorized wheelchair",category:"Travel & Places",aliases:["motorized_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🛺",description:"auto rickshaw",category:"Travel & Places",aliases:["auto_rickshaw"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🚲",description:"bicycle",category:"Travel & Places",aliases:["bike"],tags:["bicycle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛴",description:"kick scooter",category:"Travel & Places",aliases:["kick_scooter"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🛹",description:"skateboard",category:"Travel & Places",aliases:["skateboard"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🛼",description:"roller skate",category:"Travel & Places",aliases:["roller_skate"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🚏",description:"bus stop",category:"Travel & Places",aliases:["busstop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛣️",description:"motorway",category:"Travel & Places",aliases:["motorway"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛤️",description:"railway track",category:"Travel & Places",aliases:["railway_track"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛢️",description:"oil drum",category:"Travel & Places",aliases:["oil_drum"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⛽",description:"fuel pump",category:"Travel & Places",aliases:["fuelpump"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🚨",description:"police car light",category:"Travel & Places",aliases:["rotating_light"],tags:["911","emergency"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚥",description:"horizontal traffic light",category:"Travel & Places",aliases:["traffic_light"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚦",description:"vertical traffic light",category:"Travel & Places",aliases:["vertical_traffic_light"],tags:["semaphore"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛑",description:"stop sign",category:"Travel & Places",aliases:["stop_sign"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🚧",description:"construction",category:"Travel & Places",aliases:["construction"],tags:["wip"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚓",description:"anchor",category:"Travel & Places",aliases:["anchor"],tags:["ship"],unicode_version:"4.1",ios_version:"6.0"},{emoji:"⛵",description:"sailboat",category:"Travel & Places",aliases:["boat","sailboat"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🛶",description:"canoe",category:"Travel & Places",aliases:["canoe"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🚤",description:"speedboat",category:"Travel & Places",aliases:["speedboat"],tags:["ship"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛳️",description:"passenger ship",category:"Travel & Places",aliases:["passenger_ship"],tags:["cruise"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⛴️",description:"ferry",category:"Travel & Places",aliases:["ferry"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🛥️",description:"motor boat",category:"Travel & Places",aliases:["motor_boat"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🚢",description:"ship",category:"Travel & Places",aliases:["ship"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"✈️",description:"airplane",category:"Travel & Places",aliases:["airplane"],tags:["flight"],unicode_version:"",ios_version:"6.0"},{emoji:"🛩️",description:"small airplane",category:"Travel & Places",aliases:["small_airplane"],tags:["flight"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛫",description:"airplane departure",category:"Travel & Places",aliases:["flight_departure"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛬",description:"airplane arrival",category:"Travel & Places",aliases:["flight_arrival"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🪂",description:"parachute",category:"Travel & Places",aliases:["parachute"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"💺",description:"seat",category:"Travel & Places",aliases:["seat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚁",description:"helicopter",category:"Travel & Places",aliases:["helicopter"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚟",description:"suspension railway",category:"Travel & Places",aliases:["suspension_railway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚠",description:"mountain cableway",category:"Travel & Places",aliases:["mountain_cableway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚡",description:"aerial tramway",category:"Travel & Places",aliases:["aerial_tramway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛰️",description:"satellite",category:"Travel & Places",aliases:["artificial_satellite"],tags:["orbit","space"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🚀",description:"rocket",category:"Travel & Places",aliases:["rocket"],tags:["ship","launch"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛸",description:"flying saucer",category:"Travel & Places",aliases:["flying_saucer"],tags:["ufo"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🛎️",description:"bellhop bell",category:"Travel & Places",aliases:["bellhop_bell"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🧳",description:"luggage",category:"Travel & Places",aliases:["luggage"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"⌛",description:"hourglass done",category:"Travel & Places",aliases:["hourglass"],tags:["time"],unicode_version:"",ios_version:"6.0"},{emoji:"⏳",description:"hourglass not done",category:"Travel & Places",aliases:["hourglass_flowing_sand"],tags:["time"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⌚",description:"watch",category:"Travel & Places",aliases:["watch"],tags:["time"],unicode_version:"",ios_version:"6.0"},{emoji:"⏰",description:"alarm clock",category:"Travel & Places",aliases:["alarm_clock"],tags:["morning"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏱️",description:"stopwatch",category:"Travel & Places",aliases:["stopwatch"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"⏲️",description:"timer clock",category:"Travel & Places",aliases:["timer_clock"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"🕰️",description:"mantelpiece clock",category:"Travel & Places",aliases:["mantelpiece_clock"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🕛",description:"twelve o’clock",category:"Travel & Places",aliases:["clock12"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕧",description:"twelve-thirty",category:"Travel & Places",aliases:["clock1230"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕐",description:"one o’clock",category:"Travel & Places",aliases:["clock1"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕜",description:"one-thirty",category:"Travel & Places",aliases:["clock130"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕑",description:"two o’clock",category:"Travel & Places",aliases:["clock2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕝",description:"two-thirty",category:"Travel & Places",aliases:["clock230"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕒",description:"three o’clock",category:"Travel & Places",aliases:["clock3"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕞",description:"three-thirty",category:"Travel & Places",aliases:["clock330"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕓",description:"four o’clock",category:"Travel & Places",aliases:["clock4"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕟",description:"four-thirty",category:"Travel & Places",aliases:["clock430"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕔",description:"five o’clock",category:"Travel & Places",aliases:["clock5"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕠",description:"five-thirty",category:"Travel & Places",aliases:["clock530"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕕",description:"six o’clock",category:"Travel & Places",aliases:["clock6"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕡",description:"six-thirty",category:"Travel & Places",aliases:["clock630"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕖",description:"seven o’clock",category:"Travel & Places",aliases:["clock7"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕢",description:"seven-thirty",category:"Travel & Places",aliases:["clock730"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕗",description:"eight o’clock",category:"Travel & Places",aliases:["clock8"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕣",description:"eight-thirty",category:"Travel & Places",aliases:["clock830"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕘",description:"nine o’clock",category:"Travel & Places",aliases:["clock9"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕤",description:"nine-thirty",category:"Travel & Places",aliases:["clock930"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕙",description:"ten o’clock",category:"Travel & Places",aliases:["clock10"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕥",description:"ten-thirty",category:"Travel & Places",aliases:["clock1030"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕚",description:"eleven o’clock",category:"Travel & Places",aliases:["clock11"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕦",description:"eleven-thirty",category:"Travel & Places",aliases:["clock1130"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌑",description:"new moon",category:"Travel & Places",aliases:["new_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌒",description:"waxing crescent moon",category:"Travel & Places",aliases:["waxing_crescent_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌓",description:"first quarter moon",category:"Travel & Places",aliases:["first_quarter_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌔",description:"waxing gibbous moon",category:"Travel & Places",aliases:["moon","waxing_gibbous_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌕",description:"full moon",category:"Travel & Places",aliases:["full_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌖",description:"waning gibbous moon",category:"Travel & Places",aliases:["waning_gibbous_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌗",description:"last quarter moon",category:"Travel & Places",aliases:["last_quarter_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌘",description:"waning crescent moon",category:"Travel & Places",aliases:["waning_crescent_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌙",description:"crescent moon",category:"Travel & Places",aliases:["crescent_moon"],tags:["night"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌚",description:"new moon face",category:"Travel & Places",aliases:["new_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌛",description:"first quarter moon face",category:"Travel & Places",aliases:["first_quarter_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌜",description:"last quarter moon face",category:"Travel & Places",aliases:["last_quarter_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌡️",description:"thermometer",category:"Travel & Places",aliases:["thermometer"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"☀️",description:"sun",category:"Travel & Places",aliases:["sunny"],tags:["weather"],unicode_version:"",ios_version:"6.0"},{emoji:"🌝",description:"full moon face",category:"Travel & Places",aliases:["full_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌞",description:"sun with face",category:"Travel & Places",aliases:["sun_with_face"],tags:["summer"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪐",description:"ringed planet",category:"Travel & Places",aliases:["ringed_planet"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⭐",description:"star",category:"Travel & Places",aliases:["star"],tags:[],unicode_version:"5.1",ios_version:"6.0"},{emoji:"🌟",description:"glowing star",category:"Travel & Places",aliases:["star2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌠",description:"shooting star",category:"Travel & Places",aliases:["stars"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌌",description:"milky way",category:"Travel & Places",aliases:["milky_way"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☁️",description:"cloud",category:"Travel & Places",aliases:["cloud"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⛅",description:"sun behind cloud",category:"Travel & Places",aliases:["partly_sunny"],tags:["weather","cloud"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⛈️",description:"cloud with lightning and rain",category:"Travel & Places",aliases:["cloud_with_lightning_and_rain"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🌤️",description:"sun behind small cloud",category:"Travel & Places",aliases:["sun_behind_small_cloud"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌥️",description:"sun behind large cloud",category:"Travel & Places",aliases:["sun_behind_large_cloud"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌦️",description:"sun behind rain cloud",category:"Travel & Places",aliases:["sun_behind_rain_cloud"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌧️",description:"cloud with rain",category:"Travel & Places",aliases:["cloud_with_rain"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌨️",description:"cloud with snow",category:"Travel & Places",aliases:["cloud_with_snow"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌩️",description:"cloud with lightning",category:"Travel & Places",aliases:["cloud_with_lightning"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌪️",description:"tornado",category:"Travel & Places",aliases:["tornado"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌫️",description:"fog",category:"Travel & Places",aliases:["fog"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌬️",description:"wind face",category:"Travel & Places",aliases:["wind_face"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌀",description:"cyclone",category:"Travel & Places",aliases:["cyclone"],tags:["swirl"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌈",description:"rainbow",category:"Travel & Places",aliases:["rainbow"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌂",description:"closed umbrella",category:"Travel & Places",aliases:["closed_umbrella"],tags:["weather","rain"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☂️",description:"umbrella",category:"Travel & Places",aliases:["open_umbrella"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☔",description:"umbrella with rain drops",category:"Travel & Places",aliases:["umbrella"],tags:["rain","weather"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"⛱️",description:"umbrella on ground",category:"Travel & Places",aliases:["parasol_on_ground"],tags:["beach_umbrella"],unicode_version:"5.2",ios_version:"9.1"},{emoji:"⚡",description:"high voltage",category:"Travel & Places",aliases:["zap"],tags:["lightning","thunder"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"❄️",description:"snowflake",category:"Travel & Places",aliases:["snowflake"],tags:["winter","cold","weather"],unicode_version:"",ios_version:"6.0"},{emoji:"☃️",description:"snowman",category:"Travel & Places",aliases:["snowman_with_snow"],tags:["winter","christmas"],unicode_version:"",ios_version:"9.1"},{emoji:"⛄",description:"snowman without snow",category:"Travel & Places",aliases:["snowman"],tags:["winter"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"☄️",description:"comet",category:"Travel & Places",aliases:["comet"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"🔥",description:"fire",category:"Travel & Places",aliases:["fire"],tags:["burn"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💧",description:"droplet",category:"Travel & Places",aliases:["droplet"],tags:["water"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌊",description:"water wave",category:"Travel & Places",aliases:["ocean"],tags:["sea"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎃",description:"jack-o-lantern",category:"Activities",aliases:["jack_o_lantern"],tags:["halloween"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎄",description:"Christmas tree",category:"Activities",aliases:["christmas_tree"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎆",description:"fireworks",category:"Activities",aliases:["fireworks"],tags:["festival","celebration"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎇",description:"sparkler",category:"Activities",aliases:["sparkler"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧨",description:"firecracker",category:"Activities",aliases:["firecracker"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"✨",description:"sparkles",category:"Activities",aliases:["sparkles"],tags:["shiny"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎈",description:"balloon",category:"Activities",aliases:["balloon"],tags:["party","birthday"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎉",description:"party popper",category:"Activities",aliases:["tada"],tags:["hooray","party"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎊",description:"confetti ball",category:"Activities",aliases:["confetti_ball"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎋",description:"tanabata tree",category:"Activities",aliases:["tanabata_tree"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎍",description:"pine decoration",category:"Activities",aliases:["bamboo"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎎",description:"Japanese dolls",category:"Activities",aliases:["dolls"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎏",description:"carp streamer",category:"Activities",aliases:["flags"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎐",description:"wind chime",category:"Activities",aliases:["wind_chime"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎑",description:"moon viewing ceremony",category:"Activities",aliases:["rice_scene"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧧",description:"red envelope",category:"Activities",aliases:["red_envelope"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎀",description:"ribbon",category:"Activities",aliases:["ribbon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎁",description:"wrapped gift",category:"Activities",aliases:["gift"],tags:["present","birthday","christmas"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎗️",description:"reminder ribbon",category:"Activities",aliases:["reminder_ribbon"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎟️",description:"admission tickets",category:"Activities",aliases:["tickets"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎫",description:"ticket",category:"Activities",aliases:["ticket"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎖️",description:"military medal",category:"Activities",aliases:["medal_military"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏆",description:"trophy",category:"Activities",aliases:["trophy"],tags:["award","contest","winner"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏅",description:"sports medal",category:"Activities",aliases:["medal_sports"],tags:["gold","winner"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🥇",description:"1st place medal",category:"Activities",aliases:["1st_place_medal"],tags:["gold"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥈",description:"2nd place medal",category:"Activities",aliases:["2nd_place_medal"],tags:["silver"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥉",description:"3rd place medal",category:"Activities",aliases:["3rd_place_medal"],tags:["bronze"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"⚽",description:"soccer ball",category:"Activities",aliases:["soccer"],tags:["sports"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⚾",description:"baseball",category:"Activities",aliases:["baseball"],tags:["sports"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🥎",description:"softball",category:"Activities",aliases:["softball"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏀",description:"basketball",category:"Activities",aliases:["basketball"],tags:["sports"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏐",description:"volleyball",category:"Activities",aliases:["volleyball"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏈",description:"american football",category:"Activities",aliases:["football"],tags:["sports"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏉",description:"rugby football",category:"Activities",aliases:["rugby_football"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎾",description:"tennis",category:"Activities",aliases:["tennis"],tags:["sports"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥏",description:"flying disc",category:"Activities",aliases:["flying_disc"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎳",description:"bowling",category:"Activities",aliases:["bowling"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏏",description:"cricket game",category:"Activities",aliases:["cricket_game"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏑",description:"field hockey",category:"Activities",aliases:["field_hockey"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏒",description:"ice hockey",category:"Activities",aliases:["ice_hockey"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🥍",description:"lacrosse",category:"Activities",aliases:["lacrosse"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏓",description:"ping pong",category:"Activities",aliases:["ping_pong"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏸",description:"badminton",category:"Activities",aliases:["badminton"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🥊",description:"boxing glove",category:"Activities",aliases:["boxing_glove"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥋",description:"martial arts uniform",category:"Activities",aliases:["martial_arts_uniform"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥅",description:"goal net",category:"Activities",aliases:["goal_net"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"⛳",description:"flag in hole",category:"Activities",aliases:["golf"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⛸️",description:"ice skate",category:"Activities",aliases:["ice_skate"],tags:["skating"],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🎣",description:"fishing pole",category:"Activities",aliases:["fishing_pole_and_fish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤿",description:"diving mask",category:"Activities",aliases:["diving_mask"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🎽",description:"running shirt",category:"Activities",aliases:["running_shirt_with_sash"],tags:["marathon"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎿",description:"skis",category:"Activities",aliases:["ski"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛷",description:"sled",category:"Activities",aliases:["sled"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥌",description:"curling stone",category:"Activities",aliases:["curling_stone"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎯",description:"bullseye",category:"Activities",aliases:["dart"],tags:["target"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪀",description:"yo-yo",category:"Activities",aliases:["yo_yo"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🪁",description:"kite",category:"Activities",aliases:["kite"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🎱",description:"pool 8 ball",category:"Activities",aliases:["8ball"],tags:["pool","billiards"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔮",description:"crystal ball",category:"Activities",aliases:["crystal_ball"],tags:["fortune"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪄",description:"magic wand",category:"Activities",aliases:["magic_wand"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧿",description:"nazar amulet",category:"Activities",aliases:["nazar_amulet"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎮",description:"video game",category:"Activities",aliases:["video_game"],tags:["play","controller","console"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕹️",description:"joystick",category:"Activities",aliases:["joystick"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎰",description:"slot machine",category:"Activities",aliases:["slot_machine"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎲",description:"game die",category:"Activities",aliases:["game_die"],tags:["dice","gambling"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧩",description:"puzzle piece",category:"Activities",aliases:["jigsaw"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧸",description:"teddy bear",category:"Activities",aliases:["teddy_bear"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪅",description:"piñata",category:"Activities",aliases:["pinata"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪆",description:"nesting dolls",category:"Activities",aliases:["nesting_dolls"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"♠️",description:"spade suit",category:"Activities",aliases:["spades"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♥️",description:"heart suit",category:"Activities",aliases:["hearts"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♦️",description:"diamond suit",category:"Activities",aliases:["diamonds"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♣️",description:"club suit",category:"Activities",aliases:["clubs"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♟️",description:"chess pawn",category:"Activities",aliases:["chess_pawn"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🃏",description:"joker",category:"Activities",aliases:["black_joker"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🀄",description:"mahjong red dragon",category:"Activities",aliases:["mahjong"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🎴",description:"flower playing cards",category:"Activities",aliases:["flower_playing_cards"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎭",description:"performing arts",category:"Activities",aliases:["performing_arts"],tags:["theater","drama"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🖼️",description:"framed picture",category:"Activities",aliases:["framed_picture"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎨",description:"artist palette",category:"Activities",aliases:["art"],tags:["design","paint"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧵",description:"thread",category:"Activities",aliases:["thread"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪡",description:"sewing needle",category:"Activities",aliases:["sewing_needle"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧶",description:"yarn",category:"Activities",aliases:["yarn"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪢",description:"knot",category:"Activities",aliases:["knot"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"👓",description:"glasses",category:"Objects",aliases:["eyeglasses"],tags:["glasses"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕶️",description:"sunglasses",category:"Objects",aliases:["dark_sunglasses"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🥽",description:"goggles",category:"Objects",aliases:["goggles"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥼",description:"lab coat",category:"Objects",aliases:["lab_coat"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦺",description:"safety vest",category:"Objects",aliases:["safety_vest"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"👔",description:"necktie",category:"Objects",aliases:["necktie"],tags:["shirt","formal"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👕",description:"t-shirt",category:"Objects",aliases:["shirt","tshirt"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👖",description:"jeans",category:"Objects",aliases:["jeans"],tags:["pants"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧣",description:"scarf",category:"Objects",aliases:["scarf"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧤",description:"gloves",category:"Objects",aliases:["gloves"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧥",description:"coat",category:"Objects",aliases:["coat"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧦",description:"socks",category:"Objects",aliases:["socks"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👗",description:"dress",category:"Objects",aliases:["dress"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👘",description:"kimono",category:"Objects",aliases:["kimono"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥻",description:"sari",category:"Objects",aliases:["sari"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩱",description:"one-piece swimsuit",category:"Objects",aliases:["one_piece_swimsuit"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩲",description:"briefs",category:"Objects",aliases:["swim_brief"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩳",description:"shorts",category:"Objects",aliases:["shorts"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"👙",description:"bikini",category:"Objects",aliases:["bikini"],tags:["beach"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👚",description:"woman’s clothes",category:"Objects",aliases:["womans_clothes"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👛",description:"purse",category:"Objects",aliases:["purse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👜",description:"handbag",category:"Objects",aliases:["handbag"],tags:["bag"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👝",description:"clutch bag",category:"Objects",aliases:["pouch"],tags:["bag"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛍️",description:"shopping bags",category:"Objects",aliases:["shopping"],tags:["bags"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎒",description:"backpack",category:"Objects",aliases:["school_satchel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩴",description:"thong sandal",category:"Objects",aliases:["thong_sandal"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"👞",description:"man’s shoe",category:"Objects",aliases:["mans_shoe","shoe"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👟",description:"running shoe",category:"Objects",aliases:["athletic_shoe"],tags:["sneaker","sport","running"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥾",description:"hiking boot",category:"Objects",aliases:["hiking_boot"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥿",description:"flat shoe",category:"Objects",aliases:["flat_shoe"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👠",description:"high-heeled shoe",category:"Objects",aliases:["high_heel"],tags:["shoe"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👡",description:"woman’s sandal",category:"Objects",aliases:["sandal"],tags:["shoe"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩰",description:"ballet shoes",category:"Objects",aliases:["ballet_shoes"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"👢",description:"woman’s boot",category:"Objects",aliases:["boot"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👑",description:"crown",category:"Objects",aliases:["crown"],tags:["king","queen","royal"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👒",description:"woman’s hat",category:"Objects",aliases:["womans_hat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎩",description:"top hat",category:"Objects",aliases:["tophat"],tags:["hat","classy"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎓",description:"graduation cap",category:"Objects",aliases:["mortar_board"],tags:["education","college","university","graduation"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧢",description:"billed cap",category:"Objects",aliases:["billed_cap"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪖",description:"military helmet",category:"Objects",aliases:["military_helmet"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"⛑️",description:"rescue worker’s helmet",category:"Objects",aliases:["rescue_worker_helmet"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"📿",description:"prayer beads",category:"Objects",aliases:["prayer_beads"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"💄",description:"lipstick",category:"Objects",aliases:["lipstick"],tags:["makeup"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💍",description:"ring",category:"Objects",aliases:["ring"],tags:["wedding","marriage","engaged"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💎",description:"gem stone",category:"Objects",aliases:["gem"],tags:["diamond"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔇",description:"muted speaker",category:"Objects",aliases:["mute"],tags:["sound","volume"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔈",description:"speaker low volume",category:"Objects",aliases:["speaker"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔉",description:"speaker medium volume",category:"Objects",aliases:["sound"],tags:["volume"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔊",description:"speaker high volume",category:"Objects",aliases:["loud_sound"],tags:["volume"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📢",description:"loudspeaker",category:"Objects",aliases:["loudspeaker"],tags:["announcement"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📣",description:"megaphone",category:"Objects",aliases:["mega"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📯",description:"postal horn",category:"Objects",aliases:["postal_horn"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔔",description:"bell",category:"Objects",aliases:["bell"],tags:["sound","notification"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔕",description:"bell with slash",category:"Objects",aliases:["no_bell"],tags:["volume","off"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎼",description:"musical score",category:"Objects",aliases:["musical_score"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎵",description:"musical note",category:"Objects",aliases:["musical_note"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎶",description:"musical notes",category:"Objects",aliases:["notes"],tags:["music"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎙️",description:"studio microphone",category:"Objects",aliases:["studio_microphone"],tags:["podcast"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎚️",description:"level slider",category:"Objects",aliases:["level_slider"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎛️",description:"control knobs",category:"Objects",aliases:["control_knobs"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎤",description:"microphone",category:"Objects",aliases:["microphone"],tags:["sing"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎧",description:"headphone",category:"Objects",aliases:["headphones"],tags:["music","earphones"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📻",description:"radio",category:"Objects",aliases:["radio"],tags:["podcast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎷",description:"saxophone",category:"Objects",aliases:["saxophone"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪗",description:"accordion",category:"Objects",aliases:["accordion"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🎸",description:"guitar",category:"Objects",aliases:["guitar"],tags:["rock"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎹",description:"musical keyboard",category:"Objects",aliases:["musical_keyboard"],tags:["piano"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎺",description:"trumpet",category:"Objects",aliases:["trumpet"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎻",description:"violin",category:"Objects",aliases:["violin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪕",description:"banjo",category:"Objects",aliases:["banjo"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🥁",description:"drum",category:"Objects",aliases:["drum"],tags:[],unicode_version:"",ios_version:"10.2"},{emoji:"🪘",description:"long drum",category:"Objects",aliases:["long_drum"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"📱",description:"mobile phone",category:"Objects",aliases:["iphone"],tags:["smartphone","mobile"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📲",description:"mobile phone with arrow",category:"Objects",aliases:["calling"],tags:["call","incoming"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☎️",description:"telephone",category:"Objects",aliases:["phone","telephone"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"📞",description:"telephone receiver",category:"Objects",aliases:["telephone_receiver"],tags:["phone","call"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📟",description:"pager",category:"Objects",aliases:["pager"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📠",description:"fax machine",category:"Objects",aliases:["fax"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔋",description:"battery",category:"Objects",aliases:["battery"],tags:["power"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔌",description:"electric plug",category:"Objects",aliases:["electric_plug"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💻",description:"laptop",category:"Objects",aliases:["computer"],tags:["desktop","screen"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🖥️",description:"desktop computer",category:"Objects",aliases:["desktop_computer"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖨️",description:"printer",category:"Objects",aliases:["printer"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⌨️",description:"keyboard",category:"Objects",aliases:["keyboard"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"🖱️",description:"computer mouse",category:"Objects",aliases:["computer_mouse"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖲️",description:"trackball",category:"Objects",aliases:["trackball"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💽",description:"computer disk",category:"Objects",aliases:["minidisc"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💾",description:"floppy disk",category:"Objects",aliases:["floppy_disk"],tags:["save"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💿",description:"optical disk",category:"Objects",aliases:["cd"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📀",description:"dvd",category:"Objects",aliases:["dvd"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧮",description:"abacus",category:"Objects",aliases:["abacus"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎥",description:"movie camera",category:"Objects",aliases:["movie_camera"],tags:["film","video"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎞️",description:"film frames",category:"Objects",aliases:["film_strip"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📽️",description:"film projector",category:"Objects",aliases:["film_projector"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎬",description:"clapper board",category:"Objects",aliases:["clapper"],tags:["film"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📺",description:"television",category:"Objects",aliases:["tv"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📷",description:"camera",category:"Objects",aliases:["camera"],tags:["photo"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📸",description:"camera with flash",category:"Objects",aliases:["camera_flash"],tags:["photo"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📹",description:"video camera",category:"Objects",aliases:["video_camera"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📼",description:"videocassette",category:"Objects",aliases:["vhs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔍",description:"magnifying glass tilted left",category:"Objects",aliases:["mag"],tags:["search","zoom"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔎",description:"magnifying glass tilted right",category:"Objects",aliases:["mag_right"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕯️",description:"candle",category:"Objects",aliases:["candle"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💡",description:"light bulb",category:"Objects",aliases:["bulb"],tags:["idea","light"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔦",description:"flashlight",category:"Objects",aliases:["flashlight"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏮",description:"red paper lantern",category:"Objects",aliases:["izakaya_lantern","lantern"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪔",description:"diya lamp",category:"Objects",aliases:["diya_lamp"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"📔",description:"notebook with decorative cover",category:"Objects",aliases:["notebook_with_decorative_cover"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📕",description:"closed book",category:"Objects",aliases:["closed_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📖",description:"open book",category:"Objects",aliases:["book","open_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📗",description:"green book",category:"Objects",aliases:["green_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📘",description:"blue book",category:"Objects",aliases:["blue_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📙",description:"orange book",category:"Objects",aliases:["orange_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📚",description:"books",category:"Objects",aliases:["books"],tags:["library"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📓",description:"notebook",category:"Objects",aliases:["notebook"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📒",description:"ledger",category:"Objects",aliases:["ledger"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📃",description:"page with curl",category:"Objects",aliases:["page_with_curl"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📜",description:"scroll",category:"Objects",aliases:["scroll"],tags:["document"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📄",description:"page facing up",category:"Objects",aliases:["page_facing_up"],tags:["document"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📰",description:"newspaper",category:"Objects",aliases:["newspaper"],tags:["press"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗞️",description:"rolled-up newspaper",category:"Objects",aliases:["newspaper_roll"],tags:["press"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📑",description:"bookmark tabs",category:"Objects",aliases:["bookmark_tabs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔖",description:"bookmark",category:"Objects",aliases:["bookmark"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏷️",description:"label",category:"Objects",aliases:["label"],tags:["tag"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💰",description:"money bag",category:"Objects",aliases:["moneybag"],tags:["dollar","cream"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪙",description:"coin",category:"Objects",aliases:["coin"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"💴",description:"yen banknote",category:"Objects",aliases:["yen"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💵",description:"dollar banknote",category:"Objects",aliases:["dollar"],tags:["money"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💶",description:"euro banknote",category:"Objects",aliases:["euro"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💷",description:"pound banknote",category:"Objects",aliases:["pound"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💸",description:"money with wings",category:"Objects",aliases:["money_with_wings"],tags:["dollar"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💳",description:"credit card",category:"Objects",aliases:["credit_card"],tags:["subscription"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧾",description:"receipt",category:"Objects",aliases:["receipt"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💹",description:"chart increasing with yen",category:"Objects",aliases:["chart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"✉️",description:"envelope",category:"Objects",aliases:["envelope"],tags:["letter","email"],unicode_version:"",ios_version:"6.0"},{emoji:"📧",description:"e-mail",category:"Objects",aliases:["email","e-mail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📨",description:"incoming envelope",category:"Objects",aliases:["incoming_envelope"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📩",description:"envelope with arrow",category:"Objects",aliases:["envelope_with_arrow"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📤",description:"outbox tray",category:"Objects",aliases:["outbox_tray"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📥",description:"inbox tray",category:"Objects",aliases:["inbox_tray"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📦",description:"package",category:"Objects",aliases:["package"],tags:["shipping"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📫",description:"closed mailbox with raised flag",category:"Objects",aliases:["mailbox"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📪",description:"closed mailbox with lowered flag",category:"Objects",aliases:["mailbox_closed"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📬",description:"open mailbox with raised flag",category:"Objects",aliases:["mailbox_with_mail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📭",description:"open mailbox with lowered flag",category:"Objects",aliases:["mailbox_with_no_mail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📮",description:"postbox",category:"Objects",aliases:["postbox"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗳️",description:"ballot box with ballot",category:"Objects",aliases:["ballot_box"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"✏️",description:"pencil",category:"Objects",aliases:["pencil2"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"✒️",description:"black nib",category:"Objects",aliases:["black_nib"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🖋️",description:"fountain pen",category:"Objects",aliases:["fountain_pen"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖊️",description:"pen",category:"Objects",aliases:["pen"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖌️",description:"paintbrush",category:"Objects",aliases:["paintbrush"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖍️",description:"crayon",category:"Objects",aliases:["crayon"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📝",description:"memo",category:"Objects",aliases:["memo","pencil"],tags:["document","note"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💼",description:"briefcase",category:"Objects",aliases:["briefcase"],tags:["business"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📁",description:"file folder",category:"Objects",aliases:["file_folder"],tags:["directory"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📂",description:"open file folder",category:"Objects",aliases:["open_file_folder"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗂️",description:"card index dividers",category:"Objects",aliases:["card_index_dividers"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📅",description:"calendar",category:"Objects",aliases:["date"],tags:["calendar","schedule"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📆",description:"tear-off calendar",category:"Objects",aliases:["calendar"],tags:["schedule"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗒️",description:"spiral notepad",category:"Objects",aliases:["spiral_notepad"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗓️",description:"spiral calendar",category:"Objects",aliases:["spiral_calendar"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📇",description:"card index",category:"Objects",aliases:["card_index"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📈",description:"chart increasing",category:"Objects",aliases:["chart_with_upwards_trend"],tags:["graph","metrics"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📉",description:"chart decreasing",category:"Objects",aliases:["chart_with_downwards_trend"],tags:["graph","metrics"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📊",description:"bar chart",category:"Objects",aliases:["bar_chart"],tags:["stats","metrics"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📋",description:"clipboard",category:"Objects",aliases:["clipboard"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📌",description:"pushpin",category:"Objects",aliases:["pushpin"],tags:["location"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📍",description:"round pushpin",category:"Objects",aliases:["round_pushpin"],tags:["location"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📎",description:"paperclip",category:"Objects",aliases:["paperclip"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🖇️",description:"linked paperclips",category:"Objects",aliases:["paperclips"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📏",description:"straight ruler",category:"Objects",aliases:["straight_ruler"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📐",description:"triangular ruler",category:"Objects",aliases:["triangular_ruler"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"✂️",description:"scissors",category:"Objects",aliases:["scissors"],tags:["cut"],unicode_version:"",ios_version:"6.0"},{emoji:"🗃️",description:"card file box",category:"Objects",aliases:["card_file_box"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗄️",description:"file cabinet",category:"Objects",aliases:["file_cabinet"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗑️",description:"wastebasket",category:"Objects",aliases:["wastebasket"],tags:["trash"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🔒",description:"locked",category:"Objects",aliases:["lock"],tags:["security","private"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔓",description:"unlocked",category:"Objects",aliases:["unlock"],tags:["security"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔏",description:"locked with pen",category:"Objects",aliases:["lock_with_ink_pen"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔐",description:"locked with key",category:"Objects",aliases:["closed_lock_with_key"],tags:["security"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔑",description:"key",category:"Objects",aliases:["key"],tags:["lock","password"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗝️",description:"old key",category:"Objects",aliases:["old_key"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🔨",description:"hammer",category:"Objects",aliases:["hammer"],tags:["tool"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪓",description:"axe",category:"Objects",aliases:["axe"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⛏️",description:"pick",category:"Objects",aliases:["pick"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"⚒️",description:"hammer and pick",category:"Objects",aliases:["hammer_and_pick"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🛠️",description:"hammer and wrench",category:"Objects",aliases:["hammer_and_wrench"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗡️",description:"dagger",category:"Objects",aliases:["dagger"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⚔️",description:"crossed swords",category:"Objects",aliases:["crossed_swords"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🔫",description:"water pistol",category:"Objects",aliases:["gun"],tags:["shoot","weapon"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪃",description:"boomerang",category:"Objects",aliases:["boomerang"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏹",description:"bow and arrow",category:"Objects",aliases:["bow_and_arrow"],tags:["archery"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🛡️",description:"shield",category:"Objects",aliases:["shield"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🪚",description:"carpentry saw",category:"Objects",aliases:["carpentry_saw"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🔧",description:"wrench",category:"Objects",aliases:["wrench"],tags:["tool"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪛",description:"screwdriver",category:"Objects",aliases:["screwdriver"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🔩",description:"nut and bolt",category:"Objects",aliases:["nut_and_bolt"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚙️",description:"gear",category:"Objects",aliases:["gear"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🗜️",description:"clamp",category:"Objects",aliases:["clamp"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⚖️",description:"balance scale",category:"Objects",aliases:["balance_scale"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🦯",description:"white cane",category:"Objects",aliases:["probing_cane"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🔗",description:"link",category:"Objects",aliases:["link"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⛓️",description:"chains",category:"Objects",aliases:["chains"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🪝",description:"hook",category:"Objects",aliases:["hook"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧰",description:"toolbox",category:"Objects",aliases:["toolbox"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧲",description:"magnet",category:"Objects",aliases:["magnet"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪜",description:"ladder",category:"Objects",aliases:["ladder"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"⚗️",description:"alembic",category:"Objects",aliases:["alembic"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🧪",description:"test tube",category:"Objects",aliases:["test_tube"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧫",description:"petri dish",category:"Objects",aliases:["petri_dish"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧬",description:"dna",category:"Objects",aliases:["dna"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🔬",description:"microscope",category:"Objects",aliases:["microscope"],tags:["science","laboratory","investigate"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔭",description:"telescope",category:"Objects",aliases:["telescope"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📡",description:"satellite antenna",category:"Objects",aliases:["satellite"],tags:["signal"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💉",description:"syringe",category:"Objects",aliases:["syringe"],tags:["health","hospital","needle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩸",description:"drop of blood",category:"Objects",aliases:["drop_of_blood"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"💊",description:"pill",category:"Objects",aliases:["pill"],tags:["health","medicine"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩹",description:"adhesive bandage",category:"Objects",aliases:["adhesive_bandage"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩺",description:"stethoscope",category:"Objects",aliases:["stethoscope"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🚪",description:"door",category:"Objects",aliases:["door"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛗",description:"elevator",category:"Objects",aliases:["elevator"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪞",description:"mirror",category:"Objects",aliases:["mirror"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪟",description:"window",category:"Objects",aliases:["window"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🛏️",description:"bed",category:"Objects",aliases:["bed"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛋️",description:"couch and lamp",category:"Objects",aliases:["couch_and_lamp"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🪑",description:"chair",category:"Objects",aliases:["chair"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🚽",description:"toilet",category:"Objects",aliases:["toilet"],tags:["wc"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪠",description:"plunger",category:"Objects",aliases:["plunger"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🚿",description:"shower",category:"Objects",aliases:["shower"],tags:["bath"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛁",description:"bathtub",category:"Objects",aliases:["bathtub"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪤",description:"mouse trap",category:"Objects",aliases:["mouse_trap"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪒",description:"razor",category:"Objects",aliases:["razor"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧴",description:"lotion bottle",category:"Objects",aliases:["lotion_bottle"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧷",description:"safety pin",category:"Objects",aliases:["safety_pin"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧹",description:"broom",category:"Objects",aliases:["broom"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧺",description:"basket",category:"Objects",aliases:["basket"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧻",description:"roll of paper",category:"Objects",aliases:["roll_of_paper"],tags:["toilet"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪣",description:"bucket",category:"Objects",aliases:["bucket"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧼",description:"soap",category:"Objects",aliases:["soap"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪥",description:"toothbrush",category:"Objects",aliases:["toothbrush"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧽",description:"sponge",category:"Objects",aliases:["sponge"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧯",description:"fire extinguisher",category:"Objects",aliases:["fire_extinguisher"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🛒",description:"shopping cart",category:"Objects",aliases:["shopping_cart"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🚬",description:"cigarette",category:"Objects",aliases:["smoking"],tags:["cigarette"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚰️",description:"coffin",category:"Objects",aliases:["coffin"],tags:["funeral"],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🪦",description:"headstone",category:"Objects",aliases:["headstone"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"⚱️",description:"funeral urn",category:"Objects",aliases:["funeral_urn"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🗿",description:"moai",category:"Objects",aliases:["moyai"],tags:["stone"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪧",description:"placard",category:"Objects",aliases:["placard"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏧",description:"ATM sign",category:"Symbols",aliases:["atm"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚮",description:"litter in bin sign",category:"Symbols",aliases:["put_litter_in_its_place"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚰",description:"potable water",category:"Symbols",aliases:["potable_water"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♿",description:"wheelchair symbol",category:"Symbols",aliases:["wheelchair"],tags:["accessibility"],unicode_version:"4.1",ios_version:"6.0"},{emoji:"🚹",description:"men’s room",category:"Symbols",aliases:["mens"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚺",description:"women’s room",category:"Symbols",aliases:["womens"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚻",description:"restroom",category:"Symbols",aliases:["restroom"],tags:["toilet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚼",description:"baby symbol",category:"Symbols",aliases:["baby_symbol"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚾",description:"water closet",category:"Symbols",aliases:["wc"],tags:["toilet","restroom"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛂",description:"passport control",category:"Symbols",aliases:["passport_control"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛃",description:"customs",category:"Symbols",aliases:["customs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛄",description:"baggage claim",category:"Symbols",aliases:["baggage_claim"],tags:["airport"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛅",description:"left luggage",category:"Symbols",aliases:["left_luggage"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚠️",description:"warning",category:"Symbols",aliases:["warning"],tags:["wip"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"🚸",description:"children crossing",category:"Symbols",aliases:["children_crossing"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⛔",description:"no entry",category:"Symbols",aliases:["no_entry"],tags:["limit"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🚫",description:"prohibited",category:"Symbols",aliases:["no_entry_sign"],tags:["block","forbidden"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚳",description:"no bicycles",category:"Symbols",aliases:["no_bicycles"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚭",description:"no smoking",category:"Symbols",aliases:["no_smoking"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚯",description:"no littering",category:"Symbols",aliases:["do_not_litter"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚱",description:"non-potable water",category:"Symbols",aliases:["non-potable_water"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚷",description:"no pedestrians",category:"Symbols",aliases:["no_pedestrians"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📵",description:"no mobile phones",category:"Symbols",aliases:["no_mobile_phones"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔞",description:"no one under eighteen",category:"Symbols",aliases:["underage"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☢️",description:"radioactive",category:"Symbols",aliases:["radioactive"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☣️",description:"biohazard",category:"Symbols",aliases:["biohazard"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"⬆️",description:"up arrow",category:"Symbols",aliases:["arrow_up"],tags:[],unicode_version:"4.0",ios_version:"6.0"},{emoji:"↗️",description:"up-right arrow",category:"Symbols",aliases:["arrow_upper_right"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"➡️",description:"right arrow",category:"Symbols",aliases:["arrow_right"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↘️",description:"down-right arrow",category:"Symbols",aliases:["arrow_lower_right"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⬇️",description:"down arrow",category:"Symbols",aliases:["arrow_down"],tags:[],unicode_version:"4.0",ios_version:"6.0"},{emoji:"↙️",description:"down-left arrow",category:"Symbols",aliases:["arrow_lower_left"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⬅️",description:"left arrow",category:"Symbols",aliases:["arrow_left"],tags:[],unicode_version:"4.0",ios_version:"6.0"},{emoji:"↖️",description:"up-left arrow",category:"Symbols",aliases:["arrow_upper_left"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↕️",description:"up-down arrow",category:"Symbols",aliases:["arrow_up_down"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↔️",description:"left-right arrow",category:"Symbols",aliases:["left_right_arrow"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↩️",description:"right arrow curving left",category:"Symbols",aliases:["leftwards_arrow_with_hook"],tags:["return"],unicode_version:"",ios_version:"6.0"},{emoji:"↪️",description:"left arrow curving right",category:"Symbols",aliases:["arrow_right_hook"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⤴️",description:"right arrow curving up",category:"Symbols",aliases:["arrow_heading_up"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⤵️",description:"right arrow curving down",category:"Symbols",aliases:["arrow_heading_down"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🔃",description:"clockwise vertical arrows",category:"Symbols",aliases:["arrows_clockwise"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔄",description:"counterclockwise arrows button",category:"Symbols",aliases:["arrows_counterclockwise"],tags:["sync"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔙",description:"BACK arrow",category:"Symbols",aliases:["back"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔚",description:"END arrow",category:"Symbols",aliases:["end"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔛",description:"ON! arrow",category:"Symbols",aliases:["on"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔜",description:"SOON arrow",category:"Symbols",aliases:["soon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔝",description:"TOP arrow",category:"Symbols",aliases:["top"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛐",description:"place of worship",category:"Symbols",aliases:["place_of_worship"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"⚛️",description:"atom symbol",category:"Symbols",aliases:["atom_symbol"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🕉️",description:"om",category:"Symbols",aliases:["om"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"✡️",description:"star of David",category:"Symbols",aliases:["star_of_david"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☸️",description:"wheel of dharma",category:"Symbols",aliases:["wheel_of_dharma"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☯️",description:"yin yang",category:"Symbols",aliases:["yin_yang"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"✝️",description:"latin cross",category:"Symbols",aliases:["latin_cross"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☦️",description:"orthodox cross",category:"Symbols",aliases:["orthodox_cross"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☪️",description:"star and crescent",category:"Symbols",aliases:["star_and_crescent"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☮️",description:"peace symbol",category:"Symbols",aliases:["peace_symbol"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"🕎",description:"menorah",category:"Symbols",aliases:["menorah"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🔯",description:"dotted six-pointed star",category:"Symbols",aliases:["six_pointed_star"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♈",description:"Aries",category:"Symbols",aliases:["aries"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♉",description:"Taurus",category:"Symbols",aliases:["taurus"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♊",description:"Gemini",category:"Symbols",aliases:["gemini"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♋",description:"Cancer",category:"Symbols",aliases:["cancer"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♌",description:"Leo",category:"Symbols",aliases:["leo"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♍",description:"Virgo",category:"Symbols",aliases:["virgo"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♎",description:"Libra",category:"Symbols",aliases:["libra"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♏",description:"Scorpio",category:"Symbols",aliases:["scorpius"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♐",description:"Sagittarius",category:"Symbols",aliases:["sagittarius"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♑",description:"Capricorn",category:"Symbols",aliases:["capricorn"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♒",description:"Aquarius",category:"Symbols",aliases:["aquarius"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♓",description:"Pisces",category:"Symbols",aliases:["pisces"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⛎",description:"Ophiuchus",category:"Symbols",aliases:["ophiuchus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔀",description:"shuffle tracks button",category:"Symbols",aliases:["twisted_rightwards_arrows"],tags:["shuffle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔁",description:"repeat button",category:"Symbols",aliases:["repeat"],tags:["loop"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔂",description:"repeat single button",category:"Symbols",aliases:["repeat_one"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"▶️",description:"play button",category:"Symbols",aliases:["arrow_forward"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⏩",description:"fast-forward button",category:"Symbols",aliases:["fast_forward"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏭️",description:"next track button",category:"Symbols",aliases:["next_track_button"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"⏯️",description:"play or pause button",category:"Symbols",aliases:["play_or_pause_button"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"◀️",description:"reverse button",category:"Symbols",aliases:["arrow_backward"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⏪",description:"fast reverse button",category:"Symbols",aliases:["rewind"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏮️",description:"last track button",category:"Symbols",aliases:["previous_track_button"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"🔼",description:"upwards button",category:"Symbols",aliases:["arrow_up_small"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏫",description:"fast up button",category:"Symbols",aliases:["arrow_double_up"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔽",description:"downwards button",category:"Symbols",aliases:["arrow_down_small"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏬",description:"fast down button",category:"Symbols",aliases:["arrow_double_down"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏸️",description:"pause button",category:"Symbols",aliases:["pause_button"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⏹️",description:"stop button",category:"Symbols",aliases:["stop_button"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⏺️",description:"record button",category:"Symbols",aliases:["record_button"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⏏️",description:"eject button",category:"Symbols",aliases:["eject_button"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎦",description:"cinema",category:"Symbols",aliases:["cinema"],tags:["film","movie"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔅",description:"dim button",category:"Symbols",aliases:["low_brightness"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔆",description:"bright button",category:"Symbols",aliases:["high_brightness"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📶",description:"antenna bars",category:"Symbols",aliases:["signal_strength"],tags:["wifi"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📳",description:"vibration mode",category:"Symbols",aliases:["vibration_mode"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📴",description:"mobile phone off",category:"Symbols",aliases:["mobile_phone_off"],tags:["mute","off"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♀️",description:"female sign",category:"Symbols",aliases:["female_sign"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"♂️",description:"male sign",category:"Symbols",aliases:["male_sign"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"⚧️",description:"transgender symbol",category:"Symbols",aliases:["transgender_symbol"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"✖️",description:"multiply",category:"Symbols",aliases:["heavy_multiplication_x"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"➕",description:"plus",category:"Symbols",aliases:["heavy_plus_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➖",description:"minus",category:"Symbols",aliases:["heavy_minus_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➗",description:"divide",category:"Symbols",aliases:["heavy_division_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♾️",description:"infinity",category:"Symbols",aliases:["infinity"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"‼️",description:"double exclamation mark",category:"Symbols",aliases:["bangbang"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⁉️",description:"exclamation question mark",category:"Symbols",aliases:["interrobang"],tags:[],unicode_version:"3.0",ios_version:"6.0"},{emoji:"❓",description:"red question mark",category:"Symbols",aliases:["question"],tags:["confused"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❔",description:"white question mark",category:"Symbols",aliases:["grey_question"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❕",description:"white exclamation mark",category:"Symbols",aliases:["grey_exclamation"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❗",description:"red exclamation mark",category:"Symbols",aliases:["exclamation","heavy_exclamation_mark"],tags:["bang"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"〰️",description:"wavy dash",category:"Symbols",aliases:["wavy_dash"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"💱",description:"currency exchange",category:"Symbols",aliases:["currency_exchange"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💲",description:"heavy dollar sign",category:"Symbols",aliases:["heavy_dollar_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚕️",description:"medical symbol",category:"Symbols",aliases:["medical_symbol"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"♻️",description:"recycling symbol",category:"Symbols",aliases:["recycle"],tags:["environment","green"],unicode_version:"3.2",ios_version:"6.0"},{emoji:"⚜️",description:"fleur-de-lis",category:"Symbols",aliases:["fleur_de_lis"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🔱",description:"trident emblem",category:"Symbols",aliases:["trident"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📛",description:"name badge",category:"Symbols",aliases:["name_badge"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔰",description:"Japanese symbol for beginner",category:"Symbols",aliases:["beginner"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⭕",description:"hollow red circle",category:"Symbols",aliases:["o"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"✅",description:"check mark button",category:"Symbols",aliases:["white_check_mark"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☑️",description:"check box with check",category:"Symbols",aliases:["ballot_box_with_check"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"✔️",description:"check mark",category:"Symbols",aliases:["heavy_check_mark"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"❌",description:"cross mark",category:"Symbols",aliases:["x"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❎",description:"cross mark button",category:"Symbols",aliases:["negative_squared_cross_mark"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➰",description:"curly loop",category:"Symbols",aliases:["curly_loop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➿",description:"double curly loop",category:"Symbols",aliases:["loop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"〽️",description:"part alternation mark",category:"Symbols",aliases:["part_alternation_mark"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"✳️",description:"eight-spoked asterisk",category:"Symbols",aliases:["eight_spoked_asterisk"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"✴️",description:"eight-pointed star",category:"Symbols",aliases:["eight_pointed_black_star"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"❇️",description:"sparkle",category:"Symbols",aliases:["sparkle"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"©️",description:"copyright",category:"Symbols",aliases:["copyright"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"®️",description:"registered",category:"Symbols",aliases:["registered"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"™️",description:"trade mark",category:"Symbols",aliases:["tm"],tags:["trademark"],unicode_version:"",ios_version:"6.0"},{emoji:"#️⃣",description:"keycap: #",category:"Symbols",aliases:["hash"],tags:["number"],unicode_version:"",ios_version:"6.0"},{emoji:"*️⃣",description:"keycap: *",category:"Symbols",aliases:["asterisk"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"0️⃣",description:"keycap: 0",category:"Symbols",aliases:["zero"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"1️⃣",description:"keycap: 1",category:"Symbols",aliases:["one"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"2️⃣",description:"keycap: 2",category:"Symbols",aliases:["two"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"3️⃣",description:"keycap: 3",category:"Symbols",aliases:["three"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"4️⃣",description:"keycap: 4",category:"Symbols",aliases:["four"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"5️⃣",description:"keycap: 5",category:"Symbols",aliases:["five"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"6️⃣",description:"keycap: 6",category:"Symbols",aliases:["six"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"7️⃣",description:"keycap: 7",category:"Symbols",aliases:["seven"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"8️⃣",description:"keycap: 8",category:"Symbols",aliases:["eight"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"9️⃣",description:"keycap: 9",category:"Symbols",aliases:["nine"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🔟",description:"keycap: 10",category:"Symbols",aliases:["keycap_ten"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔠",description:"input latin uppercase",category:"Symbols",aliases:["capital_abcd"],tags:["letters"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔡",description:"input latin lowercase",category:"Symbols",aliases:["abcd"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔢",description:"input numbers",category:"Symbols",aliases:["1234"],tags:["numbers"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔣",description:"input symbols",category:"Symbols",aliases:["symbols"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔤",description:"input latin letters",category:"Symbols",aliases:["abc"],tags:["alphabet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅰️",description:"A button (blood type)",category:"Symbols",aliases:["a"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆎",description:"AB button (blood type)",category:"Symbols",aliases:["ab"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅱️",description:"B button (blood type)",category:"Symbols",aliases:["b"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆑",description:"CL button",category:"Symbols",aliases:["cl"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆒",description:"COOL button",category:"Symbols",aliases:["cool"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆓",description:"FREE button",category:"Symbols",aliases:["free"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"ℹ️",description:"information",category:"Symbols",aliases:["information_source"],tags:[],unicode_version:"3.0",ios_version:"6.0"},{emoji:"🆔",description:"ID button",category:"Symbols",aliases:["id"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"Ⓜ️",description:"circled M",category:"Symbols",aliases:["m"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🆕",description:"NEW button",category:"Symbols",aliases:["new"],tags:["fresh"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆖",description:"NG button",category:"Symbols",aliases:["ng"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅾️",description:"O button (blood type)",category:"Symbols",aliases:["o2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆗",description:"OK button",category:"Symbols",aliases:["ok"],tags:["yes"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅿️",description:"P button",category:"Symbols",aliases:["parking"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🆘",description:"SOS button",category:"Symbols",aliases:["sos"],tags:["help","emergency"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆙",description:"UP! button",category:"Symbols",aliases:["up"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆚",description:"VS button",category:"Symbols",aliases:["vs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈁",description:"Japanese “here” button",category:"Symbols",aliases:["koko"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈂️",description:"Japanese “service charge” button",category:"Symbols",aliases:["sa"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈷️",description:"Japanese “monthly amount” button",category:"Symbols",aliases:["u6708"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈶",description:"Japanese “not free of charge” button",category:"Symbols",aliases:["u6709"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈯",description:"Japanese “reserved” button",category:"Symbols",aliases:["u6307"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🉐",description:"Japanese “bargain” button",category:"Symbols",aliases:["ideograph_advantage"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈹",description:"Japanese “discount” button",category:"Symbols",aliases:["u5272"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈚",description:"Japanese “free of charge” button",category:"Symbols",aliases:["u7121"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🈲",description:"Japanese “prohibited” button",category:"Symbols",aliases:["u7981"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🉑",description:"Japanese “acceptable” button",category:"Symbols",aliases:["accept"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈸",description:"Japanese “application” button",category:"Symbols",aliases:["u7533"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈴",description:"Japanese “passing grade” button",category:"Symbols",aliases:["u5408"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈳",description:"Japanese “vacancy” button",category:"Symbols",aliases:["u7a7a"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"㊗️",description:"Japanese “congratulations” button",category:"Symbols",aliases:["congratulations"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"㊙️",description:"Japanese “secret” button",category:"Symbols",aliases:["secret"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🈺",description:"Japanese “open for business” button",category:"Symbols",aliases:["u55b6"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈵",description:"Japanese “no vacancy” button",category:"Symbols",aliases:["u6e80"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔴",description:"red circle",category:"Symbols",aliases:["red_circle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🟠",description:"orange circle",category:"Symbols",aliases:["orange_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟡",description:"yellow circle",category:"Symbols",aliases:["yellow_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟢",description:"green circle",category:"Symbols",aliases:["green_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🔵",description:"blue circle",category:"Symbols",aliases:["large_blue_circle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🟣",description:"purple circle",category:"Symbols",aliases:["purple_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟤",description:"brown circle",category:"Symbols",aliases:["brown_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⚫",description:"black circle",category:"Symbols",aliases:["black_circle"],tags:[],unicode_version:"4.1",ios_version:"6.0"},{emoji:"⚪",description:"white circle",category:"Symbols",aliases:["white_circle"],tags:[],unicode_version:"4.1",ios_version:"6.0"},{emoji:"🟥",description:"red square",category:"Symbols",aliases:["red_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟧",description:"orange square",category:"Symbols",aliases:["orange_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟨",description:"yellow square",category:"Symbols",aliases:["yellow_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟩",description:"green square",category:"Symbols",aliases:["green_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟦",description:"blue square",category:"Symbols",aliases:["blue_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟪",description:"purple square",category:"Symbols",aliases:["purple_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟫",description:"brown square",category:"Symbols",aliases:["brown_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⬛",description:"black large square",category:"Symbols",aliases:["black_large_square"],tags:[],unicode_version:"5.1",ios_version:"6.0"},{emoji:"⬜",description:"white large square",category:"Symbols",aliases:["white_large_square"],tags:[],unicode_version:"5.1",ios_version:"6.0"},{emoji:"◼️",description:"black medium square",category:"Symbols",aliases:["black_medium_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"◻️",description:"white medium square",category:"Symbols",aliases:["white_medium_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"◾",description:"black medium-small square",category:"Symbols",aliases:["black_medium_small_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"◽",description:"white medium-small square",category:"Symbols",aliases:["white_medium_small_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"▪️",description:"black small square",category:"Symbols",aliases:["black_small_square"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"▫️",description:"white small square",category:"Symbols",aliases:["white_small_square"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🔶",description:"large orange diamond",category:"Symbols",aliases:["large_orange_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔷",description:"large blue diamond",category:"Symbols",aliases:["large_blue_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔸",description:"small orange diamond",category:"Symbols",aliases:["small_orange_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔹",description:"small blue diamond",category:"Symbols",aliases:["small_blue_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔺",description:"red triangle pointed up",category:"Symbols",aliases:["small_red_triangle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔻",description:"red triangle pointed down",category:"Symbols",aliases:["small_red_triangle_down"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💠",description:"diamond with a dot",category:"Symbols",aliases:["diamond_shape_with_a_dot_inside"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔘",description:"radio button",category:"Symbols",aliases:["radio_button"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔳",description:"white square button",category:"Symbols",aliases:["white_square_button"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔲",description:"black square button",category:"Symbols",aliases:["black_square_button"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏁",description:"chequered flag",category:"Flags",aliases:["checkered_flag"],tags:["milestone","finish"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚩",description:"triangular flag",category:"Flags",aliases:["triangular_flag_on_post"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎌",description:"crossed flags",category:"Flags",aliases:["crossed_flags"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏴",description:"black flag",category:"Flags",aliases:["black_flag"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏳️",description:"white flag",category:"Flags",aliases:["white_flag"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏳️‍🌈",description:"rainbow flag",category:"Flags",aliases:["rainbow_flag"],tags:["pride"],unicode_version:"6.0",ios_version:"10.0"},{emoji:"🏳️‍⚧️",description:"transgender flag",category:"Flags",aliases:["transgender_flag"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏴‍☠️",description:"pirate flag",category:"Flags",aliases:["pirate_flag"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇦🇨",description:"flag: Ascension Island",category:"Flags",aliases:["ascension_island"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇦🇩",description:"flag: Andorra",category:"Flags",aliases:["andorra"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇪",description:"flag: United Arab Emirates",category:"Flags",aliases:["united_arab_emirates"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇫",description:"flag: Afghanistan",category:"Flags",aliases:["afghanistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇬",description:"flag: Antigua & Barbuda",category:"Flags",aliases:["antigua_barbuda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇮",description:"flag: Anguilla",category:"Flags",aliases:["anguilla"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇱",description:"flag: Albania",category:"Flags",aliases:["albania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇲",description:"flag: Armenia",category:"Flags",aliases:["armenia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇴",description:"flag: Angola",category:"Flags",aliases:["angola"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇶",description:"flag: Antarctica",category:"Flags",aliases:["antarctica"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇦🇷",description:"flag: Argentina",category:"Flags",aliases:["argentina"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇸",description:"flag: American Samoa",category:"Flags",aliases:["american_samoa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇹",description:"flag: Austria",category:"Flags",aliases:["austria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇺",description:"flag: Australia",category:"Flags",aliases:["australia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇼",description:"flag: Aruba",category:"Flags",aliases:["aruba"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇽",description:"flag: Åland Islands",category:"Flags",aliases:["aland_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇦🇿",description:"flag: Azerbaijan",category:"Flags",aliases:["azerbaijan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇦",description:"flag: Bosnia & Herzegovina",category:"Flags",aliases:["bosnia_herzegovina"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇧",description:"flag: Barbados",category:"Flags",aliases:["barbados"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇩",description:"flag: Bangladesh",category:"Flags",aliases:["bangladesh"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇪",description:"flag: Belgium",category:"Flags",aliases:["belgium"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇫",description:"flag: Burkina Faso",category:"Flags",aliases:["burkina_faso"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇬",description:"flag: Bulgaria",category:"Flags",aliases:["bulgaria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇭",description:"flag: Bahrain",category:"Flags",aliases:["bahrain"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇮",description:"flag: Burundi",category:"Flags",aliases:["burundi"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇯",description:"flag: Benin",category:"Flags",aliases:["benin"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇱",description:"flag: St. Barthélemy",category:"Flags",aliases:["st_barthelemy"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇧🇲",description:"flag: Bermuda",category:"Flags",aliases:["bermuda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇳",description:"flag: Brunei",category:"Flags",aliases:["brunei"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇴",description:"flag: Bolivia",category:"Flags",aliases:["bolivia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇶",description:"flag: Caribbean Netherlands",category:"Flags",aliases:["caribbean_netherlands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇧🇷",description:"flag: Brazil",category:"Flags",aliases:["brazil"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇸",description:"flag: Bahamas",category:"Flags",aliases:["bahamas"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇹",description:"flag: Bhutan",category:"Flags",aliases:["bhutan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇻",description:"flag: Bouvet Island",category:"Flags",aliases:["bouvet_island"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇧🇼",description:"flag: Botswana",category:"Flags",aliases:["botswana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇾",description:"flag: Belarus",category:"Flags",aliases:["belarus"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇿",description:"flag: Belize",category:"Flags",aliases:["belize"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇦",description:"flag: Canada",category:"Flags",aliases:["canada"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇨",description:"flag: Cocos (Keeling) Islands",category:"Flags",aliases:["cocos_islands"],tags:["keeling"],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇨🇩",description:"flag: Congo - Kinshasa",category:"Flags",aliases:["congo_kinshasa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇫",description:"flag: Central African Republic",category:"Flags",aliases:["central_african_republic"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇬",description:"flag: Congo - Brazzaville",category:"Flags",aliases:["congo_brazzaville"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇭",description:"flag: Switzerland",category:"Flags",aliases:["switzerland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇮",description:"flag: Côte d’Ivoire",category:"Flags",aliases:["cote_divoire"],tags:["ivory"],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇰",description:"flag: Cook Islands",category:"Flags",aliases:["cook_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇱",description:"flag: Chile",category:"Flags",aliases:["chile"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇲",description:"flag: Cameroon",category:"Flags",aliases:["cameroon"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇳",description:"flag: China",category:"Flags",aliases:["cn"],tags:["china"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇨🇴",description:"flag: Colombia",category:"Flags",aliases:["colombia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇵",description:"flag: Clipperton Island",category:"Flags",aliases:["clipperton_island"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇨🇷",description:"flag: Costa Rica",category:"Flags",aliases:["costa_rica"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇺",description:"flag: Cuba",category:"Flags",aliases:["cuba"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇻",description:"flag: Cape Verde",category:"Flags",aliases:["cape_verde"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇼",description:"flag: Curaçao",category:"Flags",aliases:["curacao"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇽",description:"flag: Christmas Island",category:"Flags",aliases:["christmas_island"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇨🇾",description:"flag: Cyprus",category:"Flags",aliases:["cyprus"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇿",description:"flag: Czechia",category:"Flags",aliases:["czech_republic"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇪",description:"flag: Germany",category:"Flags",aliases:["de"],tags:["flag","germany"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇩🇬",description:"flag: Diego Garcia",category:"Flags",aliases:["diego_garcia"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇩🇯",description:"flag: Djibouti",category:"Flags",aliases:["djibouti"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇰",description:"flag: Denmark",category:"Flags",aliases:["denmark"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇲",description:"flag: Dominica",category:"Flags",aliases:["dominica"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇴",description:"flag: Dominican Republic",category:"Flags",aliases:["dominican_republic"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇿",description:"flag: Algeria",category:"Flags",aliases:["algeria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇦",description:"flag: Ceuta & Melilla",category:"Flags",aliases:["ceuta_melilla"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇪🇨",description:"flag: Ecuador",category:"Flags",aliases:["ecuador"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇪",description:"flag: Estonia",category:"Flags",aliases:["estonia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇬",description:"flag: Egypt",category:"Flags",aliases:["egypt"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇭",description:"flag: Western Sahara",category:"Flags",aliases:["western_sahara"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇪🇷",description:"flag: Eritrea",category:"Flags",aliases:["eritrea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇸",description:"flag: Spain",category:"Flags",aliases:["es"],tags:["spain"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇪🇹",description:"flag: Ethiopia",category:"Flags",aliases:["ethiopia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇺",description:"flag: European Union",category:"Flags",aliases:["eu","european_union"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇫🇮",description:"flag: Finland",category:"Flags",aliases:["finland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇫🇯",description:"flag: Fiji",category:"Flags",aliases:["fiji"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇫🇰",description:"flag: Falkland Islands",category:"Flags",aliases:["falkland_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇫🇲",description:"flag: Micronesia",category:"Flags",aliases:["micronesia"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇫🇴",description:"flag: Faroe Islands",category:"Flags",aliases:["faroe_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇫🇷",description:"flag: France",category:"Flags",aliases:["fr"],tags:["france","french"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇬🇦",description:"flag: Gabon",category:"Flags",aliases:["gabon"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇧",description:"flag: United Kingdom",category:"Flags",aliases:["gb","uk"],tags:["flag","british"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇬🇩",description:"flag: Grenada",category:"Flags",aliases:["grenada"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇪",description:"flag: Georgia",category:"Flags",aliases:["georgia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇫",description:"flag: French Guiana",category:"Flags",aliases:["french_guiana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇬",description:"flag: Guernsey",category:"Flags",aliases:["guernsey"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇭",description:"flag: Ghana",category:"Flags",aliases:["ghana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇮",description:"flag: Gibraltar",category:"Flags",aliases:["gibraltar"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇱",description:"flag: Greenland",category:"Flags",aliases:["greenland"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇲",description:"flag: Gambia",category:"Flags",aliases:["gambia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇳",description:"flag: Guinea",category:"Flags",aliases:["guinea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇵",description:"flag: Guadeloupe",category:"Flags",aliases:["guadeloupe"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇶",description:"flag: Equatorial Guinea",category:"Flags",aliases:["equatorial_guinea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇷",description:"flag: Greece",category:"Flags",aliases:["greece"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇸",description:"flag: South Georgia & South Sandwich Islands",category:"Flags",aliases:["south_georgia_south_sandwich_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇹",description:"flag: Guatemala",category:"Flags",aliases:["guatemala"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇺",description:"flag: Guam",category:"Flags",aliases:["guam"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇼",description:"flag: Guinea-Bissau",category:"Flags",aliases:["guinea_bissau"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇾",description:"flag: Guyana",category:"Flags",aliases:["guyana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇰",description:"flag: Hong Kong SAR China",category:"Flags",aliases:["hong_kong"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇲",description:"flag: Heard & McDonald Islands",category:"Flags",aliases:["heard_mcdonald_islands"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇭🇳",description:"flag: Honduras",category:"Flags",aliases:["honduras"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇷",description:"flag: Croatia",category:"Flags",aliases:["croatia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇹",description:"flag: Haiti",category:"Flags",aliases:["haiti"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇺",description:"flag: Hungary",category:"Flags",aliases:["hungary"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇨",description:"flag: Canary Islands",category:"Flags",aliases:["canary_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇮🇩",description:"flag: Indonesia",category:"Flags",aliases:["indonesia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇪",description:"flag: Ireland",category:"Flags",aliases:["ireland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇱",description:"flag: Israel",category:"Flags",aliases:["israel"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇲",description:"flag: Isle of Man",category:"Flags",aliases:["isle_of_man"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇮🇳",description:"flag: India",category:"Flags",aliases:["india"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇴",description:"flag: British Indian Ocean Territory",category:"Flags",aliases:["british_indian_ocean_territory"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇮🇶",description:"flag: Iraq",category:"Flags",aliases:["iraq"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇷",description:"flag: Iran",category:"Flags",aliases:["iran"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇸",description:"flag: Iceland",category:"Flags",aliases:["iceland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇹",description:"flag: Italy",category:"Flags",aliases:["it"],tags:["italy"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇯🇪",description:"flag: Jersey",category:"Flags",aliases:["jersey"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇯🇲",description:"flag: Jamaica",category:"Flags",aliases:["jamaica"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇯🇴",description:"flag: Jordan",category:"Flags",aliases:["jordan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇯🇵",description:"flag: Japan",category:"Flags",aliases:["jp"],tags:["japan"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇰🇪",description:"flag: Kenya",category:"Flags",aliases:["kenya"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇬",description:"flag: Kyrgyzstan",category:"Flags",aliases:["kyrgyzstan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇭",description:"flag: Cambodia",category:"Flags",aliases:["cambodia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇮",description:"flag: Kiribati",category:"Flags",aliases:["kiribati"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇲",description:"flag: Comoros",category:"Flags",aliases:["comoros"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇳",description:"flag: St. Kitts & Nevis",category:"Flags",aliases:["st_kitts_nevis"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇵",description:"flag: North Korea",category:"Flags",aliases:["north_korea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇷",description:"flag: South Korea",category:"Flags",aliases:["kr"],tags:["korea"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇰🇼",description:"flag: Kuwait",category:"Flags",aliases:["kuwait"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇾",description:"flag: Cayman Islands",category:"Flags",aliases:["cayman_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇿",description:"flag: Kazakhstan",category:"Flags",aliases:["kazakhstan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇦",description:"flag: Laos",category:"Flags",aliases:["laos"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇧",description:"flag: Lebanon",category:"Flags",aliases:["lebanon"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇨",description:"flag: St. Lucia",category:"Flags",aliases:["st_lucia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇮",description:"flag: Liechtenstein",category:"Flags",aliases:["liechtenstein"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇰",description:"flag: Sri Lanka",category:"Flags",aliases:["sri_lanka"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇷",description:"flag: Liberia",category:"Flags",aliases:["liberia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇸",description:"flag: Lesotho",category:"Flags",aliases:["lesotho"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇹",description:"flag: Lithuania",category:"Flags",aliases:["lithuania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇺",description:"flag: Luxembourg",category:"Flags",aliases:["luxembourg"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇻",description:"flag: Latvia",category:"Flags",aliases:["latvia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇾",description:"flag: Libya",category:"Flags",aliases:["libya"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇦",description:"flag: Morocco",category:"Flags",aliases:["morocco"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇨",description:"flag: Monaco",category:"Flags",aliases:["monaco"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇩",description:"flag: Moldova",category:"Flags",aliases:["moldova"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇪",description:"flag: Montenegro",category:"Flags",aliases:["montenegro"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇫",description:"flag: St. Martin",category:"Flags",aliases:["st_martin"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇲🇬",description:"flag: Madagascar",category:"Flags",aliases:["madagascar"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇭",description:"flag: Marshall Islands",category:"Flags",aliases:["marshall_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇰",description:"flag: North Macedonia",category:"Flags",aliases:["macedonia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇱",description:"flag: Mali",category:"Flags",aliases:["mali"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇲",description:"flag: Myanmar (Burma)",category:"Flags",aliases:["myanmar"],tags:["burma"],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇳",description:"flag: Mongolia",category:"Flags",aliases:["mongolia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇴",description:"flag: Macao SAR China",category:"Flags",aliases:["macau"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇵",description:"flag: Northern Mariana Islands",category:"Flags",aliases:["northern_mariana_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇶",description:"flag: Martinique",category:"Flags",aliases:["martinique"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇷",description:"flag: Mauritania",category:"Flags",aliases:["mauritania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇸",description:"flag: Montserrat",category:"Flags",aliases:["montserrat"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇹",description:"flag: Malta",category:"Flags",aliases:["malta"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇺",description:"flag: Mauritius",category:"Flags",aliases:["mauritius"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇻",description:"flag: Maldives",category:"Flags",aliases:["maldives"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇼",description:"flag: Malawi",category:"Flags",aliases:["malawi"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇽",description:"flag: Mexico",category:"Flags",aliases:["mexico"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇾",description:"flag: Malaysia",category:"Flags",aliases:["malaysia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇿",description:"flag: Mozambique",category:"Flags",aliases:["mozambique"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇦",description:"flag: Namibia",category:"Flags",aliases:["namibia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇨",description:"flag: New Caledonia",category:"Flags",aliases:["new_caledonia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇪",description:"flag: Niger",category:"Flags",aliases:["niger"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇫",description:"flag: Norfolk Island",category:"Flags",aliases:["norfolk_island"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇳🇬",description:"flag: Nigeria",category:"Flags",aliases:["nigeria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇮",description:"flag: Nicaragua",category:"Flags",aliases:["nicaragua"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇱",description:"flag: Netherlands",category:"Flags",aliases:["netherlands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇴",description:"flag: Norway",category:"Flags",aliases:["norway"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇵",description:"flag: Nepal",category:"Flags",aliases:["nepal"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇷",description:"flag: Nauru",category:"Flags",aliases:["nauru"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇳🇺",description:"flag: Niue",category:"Flags",aliases:["niue"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇿",description:"flag: New Zealand",category:"Flags",aliases:["new_zealand"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇴🇲",description:"flag: Oman",category:"Flags",aliases:["oman"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇦",description:"flag: Panama",category:"Flags",aliases:["panama"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇪",description:"flag: Peru",category:"Flags",aliases:["peru"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇫",description:"flag: French Polynesia",category:"Flags",aliases:["french_polynesia"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇵🇬",description:"flag: Papua New Guinea",category:"Flags",aliases:["papua_new_guinea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇭",description:"flag: Philippines",category:"Flags",aliases:["philippines"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇰",description:"flag: Pakistan",category:"Flags",aliases:["pakistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇱",description:"flag: Poland",category:"Flags",aliases:["poland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇲",description:"flag: St. Pierre & Miquelon",category:"Flags",aliases:["st_pierre_miquelon"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇵🇳",description:"flag: Pitcairn Islands",category:"Flags",aliases:["pitcairn_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇵🇷",description:"flag: Puerto Rico",category:"Flags",aliases:["puerto_rico"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇸",description:"flag: Palestinian Territories",category:"Flags",aliases:["palestinian_territories"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇹",description:"flag: Portugal",category:"Flags",aliases:["portugal"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇼",description:"flag: Palau",category:"Flags",aliases:["palau"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇾",description:"flag: Paraguay",category:"Flags",aliases:["paraguay"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇶🇦",description:"flag: Qatar",category:"Flags",aliases:["qatar"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇷🇪",description:"flag: Réunion",category:"Flags",aliases:["reunion"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇷🇴",description:"flag: Romania",category:"Flags",aliases:["romania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇷🇸",description:"flag: Serbia",category:"Flags",aliases:["serbia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇷🇺",description:"flag: Russia",category:"Flags",aliases:["ru"],tags:["russia"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇷🇼",description:"flag: Rwanda",category:"Flags",aliases:["rwanda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇦",description:"flag: Saudi Arabia",category:"Flags",aliases:["saudi_arabia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇧",description:"flag: Solomon Islands",category:"Flags",aliases:["solomon_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇨",description:"flag: Seychelles",category:"Flags",aliases:["seychelles"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇩",description:"flag: Sudan",category:"Flags",aliases:["sudan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇪",description:"flag: Sweden",category:"Flags",aliases:["sweden"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇬",description:"flag: Singapore",category:"Flags",aliases:["singapore"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇭",description:"flag: St. Helena",category:"Flags",aliases:["st_helena"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇸🇮",description:"flag: Slovenia",category:"Flags",aliases:["slovenia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇯",description:"flag: Svalbard & Jan Mayen",category:"Flags",aliases:["svalbard_jan_mayen"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇸🇰",description:"flag: Slovakia",category:"Flags",aliases:["slovakia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇱",description:"flag: Sierra Leone",category:"Flags",aliases:["sierra_leone"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇲",description:"flag: San Marino",category:"Flags",aliases:["san_marino"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇳",description:"flag: Senegal",category:"Flags",aliases:["senegal"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇴",description:"flag: Somalia",category:"Flags",aliases:["somalia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇷",description:"flag: Suriname",category:"Flags",aliases:["suriname"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇸",description:"flag: South Sudan",category:"Flags",aliases:["south_sudan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇹",description:"flag: São Tomé & Príncipe",category:"Flags",aliases:["sao_tome_principe"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇻",description:"flag: El Salvador",category:"Flags",aliases:["el_salvador"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇽",description:"flag: Sint Maarten",category:"Flags",aliases:["sint_maarten"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇾",description:"flag: Syria",category:"Flags",aliases:["syria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇿",description:"flag: Eswatini",category:"Flags",aliases:["swaziland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇦",description:"flag: Tristan da Cunha",category:"Flags",aliases:["tristan_da_cunha"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇹🇨",description:"flag: Turks & Caicos Islands",category:"Flags",aliases:["turks_caicos_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇩",description:"flag: Chad",category:"Flags",aliases:["chad"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇹🇫",description:"flag: French Southern Territories",category:"Flags",aliases:["french_southern_territories"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇬",description:"flag: Togo",category:"Flags",aliases:["togo"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇭",description:"flag: Thailand",category:"Flags",aliases:["thailand"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇯",description:"flag: Tajikistan",category:"Flags",aliases:["tajikistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇰",description:"flag: Tokelau",category:"Flags",aliases:["tokelau"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇹🇱",description:"flag: Timor-Leste",category:"Flags",aliases:["timor_leste"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇲",description:"flag: Turkmenistan",category:"Flags",aliases:["turkmenistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇳",description:"flag: Tunisia",category:"Flags",aliases:["tunisia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇴",description:"flag: Tonga",category:"Flags",aliases:["tonga"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇷",description:"flag: Turkey",category:"Flags",aliases:["tr"],tags:["turkey"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🇹🇹",description:"flag: Trinidad & Tobago",category:"Flags",aliases:["trinidad_tobago"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇻",description:"flag: Tuvalu",category:"Flags",aliases:["tuvalu"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇼",description:"flag: Taiwan",category:"Flags",aliases:["taiwan"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇹🇿",description:"flag: Tanzania",category:"Flags",aliases:["tanzania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇦",description:"flag: Ukraine",category:"Flags",aliases:["ukraine"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇬",description:"flag: Uganda",category:"Flags",aliases:["uganda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇲",description:"flag: U.S. Outlying Islands",category:"Flags",aliases:["us_outlying_islands"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇺🇳",description:"flag: United Nations",category:"Flags",aliases:["united_nations"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇺🇸",description:"flag: United States",category:"Flags",aliases:["us"],tags:["flag","united","america"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇺🇾",description:"flag: Uruguay",category:"Flags",aliases:["uruguay"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇿",description:"flag: Uzbekistan",category:"Flags",aliases:["uzbekistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇦",description:"flag: Vatican City",category:"Flags",aliases:["vatican_city"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇻🇨",description:"flag: St. Vincent & Grenadines",category:"Flags",aliases:["st_vincent_grenadines"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇪",description:"flag: Venezuela",category:"Flags",aliases:["venezuela"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇬",description:"flag: British Virgin Islands",category:"Flags",aliases:["british_virgin_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇮",description:"flag: U.S. Virgin Islands",category:"Flags",aliases:["us_virgin_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇳",description:"flag: Vietnam",category:"Flags",aliases:["vietnam"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇺",description:"flag: Vanuatu",category:"Flags",aliases:["vanuatu"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇼🇫",description:"flag: Wallis & Futuna",category:"Flags",aliases:["wallis_futuna"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇼🇸",description:"flag: Samoa",category:"Flags",aliases:["samoa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇽🇰",description:"flag: Kosovo",category:"Flags",aliases:["kosovo"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇾🇪",description:"flag: Yemen",category:"Flags",aliases:["yemen"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇾🇹",description:"flag: Mayotte",category:"Flags",aliases:["mayotte"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇿🇦",description:"flag: South Africa",category:"Flags",aliases:["south_africa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇿🇲",description:"flag: Zambia",category:"Flags",aliases:["zambia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇿🇼",description:"flag: Zimbabwe",category:"Flags",aliases:["zimbabwe"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🏴󠁧󠁢󠁥󠁮󠁧󠁿",description:"flag: England",category:"Flags",aliases:["england"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏴󠁧󠁢󠁳󠁣󠁴󠁿",description:"flag: Scotland",category:"Flags",aliases:["scotland"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏴󠁧󠁢󠁷󠁬󠁳󠁿",description:"flag: Wales",category:"Flags",aliases:["wales"],tags:[],unicode_version:"11.0",ios_version:"12.1"}]},Symbol.toStringTag,{value:"Module"}));Yo.Editor=nR,Yo.EditorTask=PR,Object.defineProperty(Yo,Symbol.toStringTag,{value:"Module"})});
1564
1546
  //# sourceMappingURL=index.umd.js.map