lexgui 0.5.6 → 0.5.7
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/build/lexgui.css +12 -1
- package/build/lexgui.js +69 -28
- package/build/lexgui.min.css +1 -1
- package/build/lexgui.min.js +1 -1
- package/build/lexgui.module.js +69 -28
- package/build/lexgui.module.min.js +1 -1
- package/build/utilities.css +51 -8
- package/changelog.md +9 -1
- package/demo.js +16 -9
- package/package.json +1 -1
package/build/lexgui.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";console.warn("Script _build/lexgui.js_ is depracated and will be removed soon. Please use ES Modules or alternatives: https://jxarco.github.io/lexgui.js/docs/"),function(){var T={version:"0.5.6",ready:!1,components:[],signals:{},extraCommandbarEntries:[],activeDraggable:null};function g(e,t,s){return Math.min(Math.max(e,t),s)}function f(e,t){return 0==t?Math.floor(e):+e.toFixed(t??2).replace(/([0-9]+(\.[0-9]+[1-9])?)(\.?0+$)/,"$1")}function u(e,t,s,l,a){return(e-t)*(a-l)/(s-t)+l}T.MOUSE_LEFT_CLICK=0,T.MOUSE_MIDDLE_CLICK=1,T.MOUSE_RIGHT_CLICK=2,T.MOUSE_DOUBLE_CLICK=2,T.MOUSE_TRIPLE_CLICK=3,T.CURVE_MOVEOUT_CLAMP=0,T.CURVE_MOVEOUT_DELETE=1,T.DRAGGABLE_Z_INDEX=101,T.clamp=g,T.round=f,T.remapRange=u,"undefined"!=typeof performance?T.getTime=performance.now.bind(performance):"undefined"!=typeof Date&&Date.now?T.getTime=Date.now.bind(Date):"undefined"!=typeof process?T.getTime=function(){var e=process.hrtime();return.001*e[0]+1e-6*e[1]}:T.getTime=function(){return(new Date).getTime()};function N(e,t){setTimeout(e,t??0)}function d(e){return e.replace(/\s/g,"").replaceAll("@","_").replaceAll("+","_plus_").replaceAll(".","")}function o(e){return e.includes(".")?e.split(".").pop():null}function H(e){var t=document.createElement("div");return t.innerHTML=e,t.textContent||t.innerText||""}function L(e){return JSON.parse(JSON.stringify(e))}function t(e){if(!/^#(?:[A-Fa-f0-9]{3,4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/.test(e))throw"Invalid Hex Color: "+e;3!==(e=e.replace(/^#/,"")).length&&4!==e.length||(e=e.split("").map(e=>e+e).join(""));var t=parseInt(e,16);return{r:(t>>(8===e.length?24:16)&255)/255,g:(t>>(8===e.length?16:8)&255)/255,b:(t>>(8===e.length?8:0)&255)/255,a:(8===e.length?255&t:4===e.length?parseInt(e.slice(-2),16):255)/255}}function s(e,t=255){var s=[e.r,e.g,e.b];return null!=e.a&&s.push(e.a),"#"+s.map(e=>{e=(e=Math.floor(e*t)).toString(16);return 1===e.length?"0"+e:e}).join("")}function l(e){return{r:Math.floor(255*e.r),g:Math.floor(255*e.g),b:Math.floor(255*e.b),a:e.a}}function a(e){var{r:e,g:t,b:s,a:l}=e,l=l??1,a=Math.max(e,t,s),i=a-Math.min(e,t,s);let n=0;return 0!=i&&(n=a===e?(t-s)/i%6:a===t?(s-e)/i+2:(e-t)/i+4,(n*=60)<0)&&(n+=360),{h:n,s:0===a?0:i/a,v:a,a:l}}function B(e){var{h:e,s:t,v:s,a:l}=e,t=s*t,a=t*(1-Math.abs(e/60%2-1)),s=s-t;let i=0,n=0,c=0;return c=e<60?(i=t,n=a,0):e<120?(i=a,n=t,0):e<180?(i=0,n=t,a):e<240?(i=0,n=a,t):e<300?(i=a,n=0,t):(i=t,n=0,a),{r:i+s,g:n+s,b:c+s,a:l}}function m(e,t=8){var s=document.createElement("span"),e=(s.className="lexinputmeasure",s.innerHTML=e,document.body.appendChild(s),s.getBoundingClientRect());return T.UTILS.deleteElement(s),e.width+t}function b(){function e(){return(65536*(1+Math.random())|0).toString(16).substring(1)}return e()+"-"+e()+"-"+e()}function h(i,t={}){let n=0,c=0,l=null,s=t.targetClass,r=t.dragMargin??3,a=(e,t,s)=>{var l=i.parentElement?i.parentElement.getBoundingClientRect():{x:0,y:0,width:0,height:0},a="fixed"==i.style.position?new T.vec2(l.x,l.y):new T.vec2;s=s??e.clientX-n-l.x,t=t??e.clientY-c-l.y,i.style.left=g(s,r+a.x,a.x+l.width-i.offsetWidth-r)+"px",i.style.top=g(t,r+a.y,a.y+l.height-i.offsetHeight-r)+"px",i.style.translate="none"};t.autoAdjust&&a(null,parseInt(i.style.left),parseInt(i.style.top));var e=T.UTILS.uidGenerator();i["draggable-id"]=e;let o=t.onMove?e=>{l&&t.onMove&&t.onMove(l)}:e=>{l&&a(e)},d=t.onDragStart;i.setAttribute("draggable",!0),i.addEventListener("mousedown",function(e){l=e.target.classList.contains(s)||!s?e.target:null}),i.addEventListener("dragstart",function(e){var t,s;e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),l&&((t=new Image).src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=",e.dataTransfer.setDragImage(t,0,0),e.dataTransfer.effectAllowed="move",t=e.target.getBoundingClientRect(),s=l.parentElement.getBoundingClientRect(),s="fixed"==l.style.position?new T.vec2(s.x,s.y):new T.vec2,n=e.clientX-t.x-s.x,c=e.clientY-t.y-s.y,document.addEventListener("mousemove",o),l.eventCatched=!0,T.activeDraggable&&(T.activeDraggable.style.zIndex=T.DRAGGABLE_Z_INDEX),T.activeDraggable=i,T.activeDraggable.style.zIndex=T.DRAGGABLE_Z_INDEX+1,d)&&d(l,e)},!1),document.addEventListener("mouseup",e=>{l&&(l=null,document.removeEventListener("mousemove",o))})}T.doAsync=N,T.getSupportedDOMName=d,T.has=function(e){return-1<T.components.indexOf(e)},T.getExtension=o,T.stripHTML=H,T.deepCopy=L,T.setTheme=function(e){e="light"==e?"light":"dark",document.documentElement.setAttribute("data-theme",e),T.emit("@on_new_color_scheme",e)},T.setThemeColor=function(e,t){document.querySelector(":root").style.setProperty("--"+e,t)},T.getThemeColor=function(e){var t=getComputedStyle(document.querySelector(":root"));return(e=t.getPropertyValue("--"+e)).includes("light-dark")?("light"==t.getPropertyValue("color-scheme")?e.substring(e.indexOf("(")+1,e.indexOf(",")):e.substring(e.indexOf(",")+1,e.indexOf(")"))).replace(/\s/g,""):e},T.getBase64Image=function(e){var t=document.createElement("canvas");return t.width=e.width,t.height=e.height,t.getContext("2d").drawImage(e,0,0),t.toDataURL("image/png")},T.hexToRgb=t,T.hexToHsv=function(e){return a(t(e))},T.rgbToHex=s,T.rgbToCss=l,T.rgbToHsv=a,T.hsvToRgb=B,T.measureRealWidth=m,T.guidGenerator=b,T.buildTextPattern=function(e={}){var t=[],s=(e.lowercase&&t.push("(?=.*[a-z])"),e.uppercase&&t.push("(?=.*[A-Z])"),e.digit&&t.push("(?=.*\\d)"),e.specialChar&&t.push("(?=.*[@#$%^&+=!])"),e.noSpaces&&t.push("(?!.*\\s)"),e.minLength||0),l=e.maxLength||"",t=`^${t.join("")}.{${s},${l}}$`;return e.asRegExp?new RegExp(t):t},T.makeDraggable=h,T.makeCollapsible=function(e,t,s,l={}){e.classList.add("collapsible");var l=l.collapsed??!0,a=T.makeIcon("right");a.classList.add("collapser"),a.dataset.collapsed=l,a.style.marginLeft="auto",a.style.marginRight="0.2rem",a.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),this.dataset.collapsed?(delete this.dataset.collapsed,t.style.display="block"):(this.dataset.collapsed=!0,t.style.display="none")}),e.appendChild(a),(s=s??e.parentElement).appendChild(t)},T.makeCodeSnippet=function(t,e,s={}){if(T.has("CodeEditor")){var l,a,i,n=document.createElement("div"),e=(n.className="lexcodesnippet "+(s.className??""),n.style.width=e?e[0]:"auto",n.style.height=e?e[1]:"auto",new x({noAppend:!0})),c=new T.CodeEditor(e,{skipInfo:!0,disableEdition:!0,allowAddScripts:!1,name:s.tabName});if(c.setText(t,s.language??"Plain Text"),s.linesAdded){const t=c.root.querySelector(".code");for(var r of s.linesAdded)if(r.constructor==Number)t.childNodes[r-1].classList.add("added");else if(r.constructor==Array)for(let e=r[0]-1;e<=r[1]-1;e++)t.childNodes[e].classList.add("added")}if(s.linesRemoved){const t=c.root.querySelector(".code");for(var o of s.linesRemoved)if(o.constructor==Number)t.childNodes[o-1].classList.add("removed");else if(o.constructor==Array)for(let e=o[0]-1;e<=o[1]-1;e++)t.childNodes[e].classList.add("removed")}return s.windowMode&&((t=document.createElement("div")).className="lexwindowbuttons",(l=document.createElement("span")).style.background="#ee4f50",(a=document.createElement("span")).style.background="#f5b720",(i=document.createElement("span")).style.background="#53ca29",t.appendChild(l),t.appendChild(a),t.appendChild(i),c.root.querySelector(".lexareatabs").prepend(t)),(s.lineNumbers??!0)||c.root.classList.add("no-gutter"),n.appendChild(e.root),n}console.error("Import the CodeEditor component to create snippets!")},T.makeKbd=function(e,t=0){var s={Ctrl:"⌃",Enter:"↩",Shift:"⇧",CapsLock:"⇪",Meta:"⌘",Option:"⌥",Alt:"⌥",Tab:"⇥",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Space:"␣"},l=T.makeContainer(["auto","auto"],"flex flex-row ml-auto");for(const a of e)T.makeContainer(["auto","auto"],"self-center text-xs fg-secondary select-none",s[a]??a,l);return l},T.makeIcon=function(e,t,s=""){let l=T.ICONS[e];console.assert(l,`No icon named _${e}_`),l.constructor==String&&(l=T.ICONS[l]),(e=document.createElementNS("http://www.w3.org/2000/svg","svg")).setAttribute("viewBox",`0 0 ${l[0]} `+l[1]),s&&e.classList.add(s),l[5]&&(i=l[5].split("="),e.setAttribute(i[0],i[1]));const a=document.createElement("path");a.setAttribute("fill","var(--color)"),a.setAttribute("d",l[4]),e.appendChild(a),l[6]&&l[6].split(" ").forEach(e=>{e=e.split("=");a.setAttribute(e[0],e[1])}),e.innerHTML+="\x3c!-- This icon might belong to a collection from Iconify - https://iconify.design/ - or !Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --\x3e";var i=document.createElement("a");return i.title=t??"",i.className="lexicon "+s,i.appendChild(e),i},T.registerIcon=function(e,t,s="none",l=[]){var a=(t=(new DOMParser).parseFromString(t,"image/svg+xml").documentElement).querySelector("path"),i=t.getAttribute("viewBox").split(" "),n=a.getAttribute("d"),c=[],r=[];for(const o of t.attributes)switch(o.name){case"transform":case"fill":case"stroke-width":case"stroke-linecap":case"stroke-linejoin":c.push(o.name+"="+o.value)}for(const d of a.attributes)switch(d.name){case"transform":case"fill":case"stroke-width":case"stroke-linecap":case"stroke-linejoin":r.push(d.name+"="+d.value)}t=[parseInt(i[2]),parseInt(i[3]),l,s,n,c.length?c.join(" "):null,r.length?r.join(" "):null],T.ICONS[e]&&console.warn(e+" will be replaced in LX.ICONS"),T.ICONS[e]=t},T.registerCommandbarEntry=function(e,t){T.extraCommandbarEntries.push({name:e,callback:t})};T.vec2=class O{constructor(e,t){this.x=e??0,this.y=t??e??0}get xy(){return[this.x,this.y]}get yx(){return[this.y,this.x]}set(e,t){this.x=e,this.y=t}add(e,t=new O){return t.set(this.x+e.x,this.y+e.y),t}sub(e,t=new O){return t.set(this.x-e.x,this.y-e.y),t}mul(e,t=new O){return e.constructor==Number&&(e=new O(e)),t.set(this.x*e.x,this.y*e.y),t}div(e,t=new O){return e.constructor==Number&&(e=new O(e)),t.set(this.x/e.x,this.y/e.y),t}abs(e=new O){return e.set(Math.abs(this.x),Math.abs(this.y)),e}dot(e){return this.x*e.x+this.y*e.y}len2(){return this.dot(this)}len(){return Math.sqrt(this.len2())}nrm(e=new O){return e.set(this.x,this.y),e.mul(1/this.len(),e)}dst(e){return e.sub(this).len()}clp(e,t,s=new O){return s.set(g(this.x,e,t),g(this.y,e,t)),s}};class p{constructor(e){Object.defineProperty(p.prototype,"rgb",{get:function(){return this._rgb},set:function(e){this._fromRGB(e)},enumerable:!0,configurable:!0}),Object.defineProperty(p.prototype,"hex",{get:function(){return this._hex},set:function(e){this._fromHex(e)},enumerable:!0,configurable:!0}),Object.defineProperty(p.prototype,"hsv",{get:function(){return this._hsv},set:function(e){this._fromHSV(e)},enumerable:!0,configurable:!0}),this.set(e)}set(e){if("string"==typeof e&&e.startsWith("#"))this._fromHex(e);else if("r"in e&&"g"in e&&"b"in e)e.a=e.a??1,this._fromRGB(e);else{if(!("h"in e&&"s"in e&&"v"in e))throw e;e.a=e.a??1,this._fromHSV(e)}}setHSV(e){this._fromHSV(e)}setRGB(e){this._fromRGB(e)}setHex(e){this._fromHex(e)}_fromHex(e){this._fromRGB(t(e))}_fromRGB(e){this._rgb=e,this._hsv=a(e),this._hex=s(e),this.css=l(this._rgb)}_fromHSV(e){this._hsv=e,this._rgb=B(e),this._hex=s(this._rgb),this.css=l(this._rgb)}}T.Color=p,T.init=function(e={}){var t,s;return this.ready||((s=document.createElement("div")).id="lexroot",s.className="lexcontainer",s.tabIndex=-1,e.rootClass&&(s.className+=" "+e.rootClass),(t=document.createElement("div")).id="modal",this.modal=t,this.root=s,this.container=document.body,this.modal.classList.add("hidden-opacity"),this.modal.toggle=function(e){this.classList.toggle("hidden-opacity",e)},e.container&&(this.container=e.container.constructor===String?document.getElementById(e.container):e.container),this.usingStrictViewport=e.strictViewport??!0,document.documentElement.setAttribute("data-strictVP",this.usingStrictViewport?"true":"false"),this.usingStrictViewport||document.addEventListener("scroll",e=>{document.body.querySelectorAll(".lexmenubox").forEach(e=>{e._updatePosition()})}),this.commandbar=function(e){let n=document.createElement("dialog"),c=(n.className="commandbar",n.tabIndex=-1,e.appendChild(n),[]),r=null;n.addEventListener("keydown",function(e){var t,s;e.stopPropagation(),e.stopImmediatePropagation(),r=r??-1,"Escape"==e.key?(this.close(),h(!0)):"Enter"==e.key?(t=c[r])&&(s=t.item.type&&"checkbox"===t.item.type,this.close(),s?(t.item.checked=!t.item.checked,t.callback.call(window,t.item.checked,t.entry_name)):t.callback.call(window,t.entry_name)):"ArrowDown"==e.key&&r<c.length-1?(r++,n.querySelectorAll(".hovered").forEach(e=>e.classList.remove("hovered")),c[r].classList.add("hovered"),0<(s=c[r].offsetHeight*(r+1)-o.offsetHeight)&&o.scrollTo({top:s,behavior:"smooth"})):"ArrowUp"==e.key&&0<r&&(r--,n.querySelectorAll(".hovered").forEach(e=>e.classList.remove("hovered")),c[r].classList.add("hovered"))}),n.addEventListener("focusout",function(e){e.relatedTarget!=e.currentTarget&&(e.stopPropagation(),e.stopImmediatePropagation(),this.close(),h(!0))}),e.addEventListener("keydown",e=>{if(" "==e.key&&e.ctrlKey)e.stopImmediatePropagation(),e.stopPropagation(),T.setCommandbarState(!0);else for(var t of T.components){var s;if(T[t]&&T[t].prototype.onKeyPressed)for(s of T.CodeEditor.getInstances())s.onKeyPressed(e)}});(e=document.createElement("div")).className="gs-header";var t=document.createElement("a");t.className="fa-solid fa-magnifying-glass",e.appendChild(t);const s=document.createElement("input");s.placeholder="Search...",s.value="",e.appendChild(s);var l=(t=new x({width:"100%",skipAppend:!0,className:"gs-tabs"})).addTabs({parentClass:"p-2"});let a;l.add("All",document.createElement("div"),{selected:!0,onSelect:(e,t)=>{a=t}});const o=document.createElement("div");o.className="searchitembox";let d=null;const h=e=>{o.innerHTML="",c.length=0,r=null,e&&(s.value="")},u=(e,t,s,l)=>{var a,i;e.length&&(d&&d.classList.remove("last"),(a=document.createElement("div")).className="searchitem last",i=l&&l.type&&"checkbox"===l.type,a.innerHTML=i?"<a class='fa fa-check'></a><span>"+(s+e)+"</span>":s+e,a.entry_name=e,a.callback=t,a.item=l,a.addEventListener("click",function(e){this.callback.call(window,this.entry_name),T.setCommandbarState(!1),h(!0)}),a.addEventListener("mouseenter",function(e){n.querySelectorAll(".hovered").forEach(e=>e.classList.remove("hovered")),this.classList.add("hovered"),r=c.indexOf(this)}),a.addEventListener("mouseleave",function(e){this.classList.remove("hovered")}),c.push(a),o.appendChild(a),d=a)},m=(e,t,s)=>{var l=Object.keys(e)[0],a=e.name??s+l;if(a.toLowerCase().includes(t)&&e.callback&&u(e.name??l,e.callback,s,e),!e.name){s+=l+" > ";for(var i of e[l])m(i,t,s)}};return n._addElements=e=>{h();for(var t of T.menubars)for(var s of t.items)m(s,e,"");for(var l of T.extraCommandbarEntries){var a=l.name;a.toLowerCase().includes(e)&&u(a,l.callback,"",{})}if(T.has("CodeEditor")){const r=T.CodeEditor.getInstances();if(r.length){var i=r[0].languages;for(let t of Object.keys(i)){var n="Language: "+t,c=r[0]._getFileIcon(null,i[t].ext),c=c.includes("fa-")?"<i class='"+c+"'></i>":"<img src='https://raw.githubusercontent.com/jxarco/lexgui.js/master/"+c+"'>";c+=n+" <span class='lang-ext'>("+i[t].ext+")</span>",n.toLowerCase().includes(e)&&u(c,()=>{for(var e of r)e._changeLanguage(t)},"",{})}}}},s.addEventListener("input",function(e){n._addElements(this.value.toLowerCase())}),n.appendChild(e),n.appendChild(t.root),n.appendChild(o),n}(this.container),this.container.appendChild(t),e.skipRoot?this.root=document.body:this.container.appendChild(s),(t=document.createElement("section")).className="notifications",this.notifications=document.createElement("ol"),this.notifications.className="",this.notifications.iWidth=0,t.appendChild(this.notifications),document.body.appendChild(t),this.notifications.addEventListener("mouseenter",()=>{this.notifications.classList.add("list")}),this.notifications.addEventListener("mouseleave",()=>{this.notifications.classList.remove("list")}),s.addEventListener("dragover",function(e){e.preventDefault()},!1),document.addEventListener("contextmenu",function(e){e.preventDefault()},!1),t=document.getElementsByTagName("HEAD")[0],(s=document.createElement("link")).rel="stylesheet",s.type="text/css",s.crossOrigin="anonymous",s.href="https://use.fontawesome.com/releases/v6.7.2/css/all.css",t.appendChild(s),this.DEFAULT_NAME_WIDTH="30%",this.DEFAULT_SPLITBAR_SIZE=4,this.OPEN_CONTEXTMENU_ENTRY="click",this.widgetResizeObserver=new ResizeObserver(e=>{for(const s of e){var t=s.target?.jsInstance;t&&t.onResize&&t.onResize(s.contentRect)}}),this.ready=!0,this.menubars=[],e.skipRoot||e.skipDefaultArea||(this.main_area=new x({id:e.id??"mainarea"})),(e.autoTheme??!0)&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches&&(T.setTheme("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{T.setTheme(e.matches?"dark":"light")}))),this.main_area},T.setCommandbarState=function(e,t=!0){var s=this.commandbar;e?(s.show(),s.querySelector("input").focus(),t&&s._addElements(void 0)):s.close()},T.message=function(t,e,s={}){if(t)return s.modal=!0,new _(e,e=>{e.addTextArea(null,t,null,{disabled:!0,fitHeight:!0})},s);throw"No message to show"},T.popup=function(t,e,s={}){if(!t)throw"No message to show";s.size=s.size??["max-content","auto"],s.class="lexpopup";var l=s.timeout||3e3;const a=new _(e,e=>{e.addTextArea(null,t,null,{disabled:!0,fitHeight:!0})},s);return setTimeout(()=>{a.close()},Math.max(l,150)),a},T.prompt=function t(s,l,a,i={}){i.modal=!0,i.className="prompt";let n="";const c=new _(l,e=>{e.addTextArea(null,s,null,{disabled:!0,fitHeight:!0}),(i.input??!0)&&e.addText(null,i.input||n,e=>n=e,{placeholder:"..."}),e.sameLine(2),e.addButton(null,"Cancel",()=>{i.on_cancel&&i.on_cancel(),c.close()}),e.addButton(null,i.accept||"Continue",()=>{i.required&&""===n?(s+=s.includes("You must fill the input text.")?"":"\nYou must fill the input text.",c.close(),t(s,l,a,i)):(a&&a.call(this,n),c.close())},{buttonClass:"primary"})},i);return(i.input??!0)&&c.root.querySelector("input").focus(),c},T.toast=function(e,t,s={}){if(!e)throw"The toast needs at least a title!";console.assert(this.notifications);const l=document.createElement("li");l.className="lextoast",l.style.translate="0 calc(100% + 30px)",this.notifications.prepend(l),N(()=>{this.notifications.offsetWidth>this.notifications.iWidth&&(this.notifications.iWidth=Math.min(this.notifications.offsetWidth,480),this.notifications.style.width=this.notifications.iWidth+"px"),l.dataset.open=!0},10);var a=document.createElement("div"),i=(a.className="lextoastcontent",l.appendChild(a),document.createElement("div"));i.className="title",i.innerHTML=e,a.appendChild(i),t&&((e=document.createElement("div")).className="desc",e.innerHTML=t,a.appendChild(e)),s.action&&((i=new k).addButton(null,s.action.name??"Accept",s.action.callback.bind(this,l),{width:"auto",maxWidth:"150px",className:"right",buttonClass:"outline"}),l.appendChild(i.root.childNodes[0]));const n=this;l.close=function(){this.dataset.closed=!0,N(()=>{this.remove(),n.notifications.childElementCount||(n.notifications.style.width="unset",n.notifications.iWidth=0)},500)},(s.closable??!0)&&((t=document.createElement("a")).className="fa fa-xmark lexicon closer",t.addEventListener("click",()=>{l.close()}),l.appendChild(t)),-1!=(a=s.timeout??3e3)&&N(()=>{l.close()},a)},T.badge=function(e,t,s={}){var l=document.createElement("div");return l.innerHTML=e,l.className="lexbadge "+(t??""),Object.assign(l.style,s.style??{}),s.asElement?l:l.outerHTML},T.makeContainer=function(e,t,s,l,a={}){var i=document.createElement("div");return i.className="lexcontainer "+(t??""),i.innerHTML=s??"",i.style.width=e&&e[0]?e[0]:"100%",i.style.height=e&&e[1]?e[1]:"100%",Object.assign(i.style,a),l&&(l.attach?l.attach(i):l.appendChild(i)),i},T.asTooltip=function(t,s,a={}){console.assert(t,"You need a trigger to generate a tooltip!"),t.dataset.disableTooltip=!(a.active??!0);let i=null;t.addEventListener("mouseenter",function(e){"true"!=t.dataset.disableTooltip&&(T.root.querySelectorAll(".lextooltip").forEach(e=>e.remove()),(i=document.createElement("div")).className="lextooltip",i.innerHTML=s,N(()=>{var e=[0,0],t=this.getBoundingClientRect(),s=a.offset??6;let l=!0;switch(a.side??"top"){case"left":e[0]+=t.x-i.offsetWidth-s,l=!1;break;case"right":e[0]+=t.x+t.width+s,l=!1;break;case"top":e[1]+=t.y-i.offsetHeight-s,l=!0;break;case"bottom":e[1]+=t.y+t.height+s,l=!0}l?e[0]+=t.x+.5*t.width-.5*i.offsetWidth:e[1]+=t.y+.5*t.height-.5*i.offsetHeight,e[0]=T.clamp(e[0],0,window.innerWidth-i.offsetWidth-4),e[1]=T.clamp(e[1],0,window.innerHeight-i.offsetHeight-4),i.style.left=e[0]+"px",i.style.top=e[1]+"px"}),T.root.appendChild(i))}),t.addEventListener("mouseleave",function(e){i&&(i.dataset.closed=!0,N(()=>{i.remove()},300))})};class C{constructor(e,t,s){this.name=e,this.value=t,this.domEvent=s}}T.IEvent=C;class y{static NONE=0;static NODE_SELECTED=1;static NODE_DELETED=2;static NODE_DBLCLICKED=3;static NODE_CONTEXTMENU=4;static NODE_DRAGGED=5;static NODE_RENAMED=6;static NODE_VISIBILITY=7;static NODE_CARETCHANGED=8;constructor(e,t,s){this.type=e||y.NONE,this.node=t,this.value=s,this.multiple=!1,this.panel=null}string(){switch(this.type){case y.NONE:return"tree_event_none";case y.NODE_SELECTED:return"tree_event_selected";case y.NODE_DELETED:return"tree_event_deleted";case y.NODE_DBLCLICKED:return"tree_event_dblclick";case y.NODE_CONTEXTMENU:return"tree_event_contextmenu";case y.NODE_DRAGGED:return"tree_event_dragged";case y.NODE_RENAMED:return"tree_event_renamed";case y.NODE_VISIBILITY:return"tree_event_visibility";case y.NODE_CARETCHANGED:return"tree_event_caretchanged"}}}T.TreeEvent=y,T.emit=function(e,t,s={}){var l=T.signals[e];if(l){var a,i=s.target;if(i)i[e]&&i[e].call(i,t);else for(var n of l)n instanceof w?n.set(t,s.skipCallback??!0):n.constructor===Function?n(null,t):(a=n[e],console.assert(a,`No callback registered with _${e}_ signal`),a.bind(n)(t))}},T.addSignal=function(e,t,s){t[e]=s,T.signals[e]||(T.signals[e]=[]),-1<T.signals[e].indexOf(t)||T.signals[e].push(t)};class A{static currentMenu=!1;constructor(e,t,s={}){console.assert(e,"DropdownMenu needs a DOM element as trigger!"),A.currentMenu?A.currentMenu.destroy():((this._trigger=e).classList.add("triggered"),(e.ddm=this)._items=t,this._windowPadding=4,this.side=s.side??"bottom",this.align=s.align??"center",this.avoidCollisions=s.avoidCollisions??!0,this.root=document.createElement("div"),this.root.id="root",this.root.dataset.side=this.side,this.root.tabIndex="1",this.root.className="lexdropdownmenu",T.root.appendChild(this.root),this._create(this._items),A.currentMenu=this,N(()=>{this._adjustPosition(),this.root.focus(),this._onClick=e=>{e.target&&(this.root.contains(e.target)||e.target==this._trigger)||this.destroy()},document.body.addEventListener("click",this._onClick)},10))}destroy(){this._trigger.classList.remove("triggered"),delete this._trigger.ddm,document.body.removeEventListener("click",this._onClick),T.root.querySelectorAll(".lexdropdownmenu").forEach(e=>{e.remove()}),A.currentMenu=null}_create(e,a){if(a){const l=a.getBoundingClientRect();let t=document.createElement("div");t.tabIndex="1",t.className="lexdropdownmenu",t.id=a.id,t.dataset.side="right",T.root.appendChild(t),t.currentParent=a,a=t,N(()=>{var e=[l.x+l.width,l.y];this.avoidCollisions&&(e[0]=T.clamp(e[0],0,window.innerWidth-t.offsetWidth-this._windowPadding),e[1]=T.clamp(e[1],0,window.innerHeight-t.offsetHeight-this._windowPadding)),t.style.left=e[0]+"px",t.style.top=e[1]+"px"},10)}else a=this.root;for(let l of e)if(l){const n=l.name??l;var t,s,i=n.replace(/\s/g,"").replaceAll(".","");if(!a.querySelector("#"+i)){const c=document.createElement("div");if(c.className="lexdropdownmenuitem"+(l.name?"":" label")+(l.disabled?" disabled":"")+" "+(l.className??""),c.id=i,c.innerHTML=`<span>${n}</span>`,c.tabIndex="1",a.appendChild(c),l.constructor!==String&&!l.disabled){if(l.submenu?((t=document.createElement("a")).className="fa-solid fa-angle-right fa-xs",c.appendChild(t)):l.kbd&&(l.kbd=[].concat(l.kbd),t=T.makeKbd(l.kbd),c.appendChild(t)),l.icon&&(s=T.makeIcon(l.icon),c.prepend(s)),null!=l.checked){const r=new Q(i+"_entryChecked",l.checked,e=>{var t=l.callback;t&&t.call(this,n,c,e)},{className:"accent"}),o=r.root.querySelector("input");c.prepend(o),c.addEventListener("click",e=>{"checkbox"!=e.target.type&&(o.checked=!o.checked,r.set(o.checked))})}else c.addEventListener("click",()=>{var e=l.callback;e&&e.call(this,n,c),this.destroy()});c.addEventListener("mouseover",e=>{let t=c.id,s=a;for(;s;)t+="/"+s.id,s=s.currentParent?.parentElement;if(T.root.querySelectorAll(".lexdropdownmenu").forEach(e=>{t.includes(e.id)||(e.currentParent.built=!1,e.remove())}),l.submenu){if(c.built)return;c.built=!0,this._create(l.submenu,c)}e.stopPropagation()})}}}else this._addSeparator(a)}_adjustPosition(){var t=[0,0];{var s=this._trigger.getBoundingClientRect();let e=!0;switch(this.side){case"left":t[0]+=s.x-this.root.offsetWidth,e=!1;break;case"right":t[0]+=s.x+s.width,e=!1;break;case"top":t[1]+=s.y-this.root.offsetHeight,e=!0;break;case"bottom":t[1]+=s.y+s.height,e=!0}switch(this.align){case"start":e?t[0]+=s.x:t[1]+=s.y;break;case"center":e?t[0]+=s.x+.5*s.width-.5*this.root.offsetWidth:t[1]+=s.y+.5*s.height-.5*this.root.offsetHeight;break;case"end":e?t[0]+=s.x-this.root.offsetWidth+s.width:t[1]+=s.y-this.root.offsetHeight+s.height}}this.avoidCollisions&&(t[0]=T.clamp(t[0],0,window.innerWidth-this.root.offsetWidth-this._windowPadding),t[1]=T.clamp(t[1],0,window.innerHeight-this.root.offsetHeight-this._windowPadding)),this.root.style.left=t[0]+"px",this.root.style.top=t[1]+"px"}_addSeparator(e){var t=document.createElement("div");t.className="separator",(e=e??this.root).appendChild(t)}}T.DropdownMenu=A;class E{static currentPicker=!1;constructor(e,t,s={}){if(console.assert(t,"ColorPicker needs a DOM element as trigger!"),this._windowPadding=4,this.side=s.side??"bottom",this.align=s.align??"center",this.avoidCollisions=s.avoidCollisions??!0,this.colorModel=s.colorModel??"Hex",this.useAlpha=s.useAlpha??!1,this.callback=s.onChange,this.callback||console.warn("Define a callback in _options.onChange_ to allow getting new Color values!"),E.currentPicker)return void E.currentPicker.destroy();(this._trigger=t).classList.add("triggered"),(t.picker=this).root=document.createElement("div"),this.root.tabIndex="1",this.root.className="lexcolorpicker",this.root.dataset.side=this.side,T.root.appendChild(this.root),this.root.addEventListener("keydown",e=>{"Escape"==e.key&&(e.preventDefault(),e.stopPropagation(),this.destroy())}),(E.currentPicker=this).markerHalfSize=8,this.markerSize=2*this.markerHalfSize,this.currentColor=new p(e);s=new p({h:this.currentColor.hsv.h,s:1,v:1});this.colorPickerBackground=document.createElement("div"),this.colorPickerBackground.className="lexcolorpickerbg",this.colorPickerBackground.style.backgroundColor=`rgb(${s.css.r}, ${s.css.g}, ${s.css.b})`,this.root.appendChild(this.colorPickerBackground),this.intSatMarker=document.createElement("div"),this.intSatMarker.className="lexcolormarker",this.intSatMarker.style.backgroundColor=this.currentColor.hex,this.colorPickerBackground.appendChild(this.intSatMarker),N(this._svToPosition.bind(this,this.currentColor.hsv.s,this.currentColor.hsv.v));let l=e=>{var t=e.movementX,s=e.movementY,l=this.colorPickerBackground.getBoundingClientRect(),a=e.offsetX-l.x,l=e.offsetY-l.y;0!=t&&(0<=a||t<0)&&(a<this.colorPickerBackground.offsetWidth||0<t)&&(this.intSatMarker.style.left=T.clamp(parseInt(this.intSatMarker.style.left)+t,-this.markerHalfSize,this.colorPickerBackground.offsetWidth-this.markerHalfSize)+"px"),0!=s&&(0<=l||s<0)&&(l<this.colorPickerBackground.offsetHeight||0<s)&&(this.intSatMarker.style.top=T.clamp(parseInt(this.intSatMarker.style.top)+s,-this.markerHalfSize,this.colorPickerBackground.offsetHeight-this.markerHalfSize)+"px"),this._positionToSv(parseInt(this.intSatMarker.style.left),parseInt(this.intSatMarker.style.top)),this._updateColorValue(),e.stopPropagation(),e.preventDefault()},a=e=>{var t=this.root.ownerDocument;t.removeEventListener("mousemove",l),t.removeEventListener("mouseup",a),document.body.classList.remove("noevents")};this.colorPickerBackground.addEventListener("mousedown",e=>{var t=this.root.ownerDocument,t=(t.addEventListener("mousemove",l),t.addEventListener("mouseup",a),document.body.classList.add("noevents"),e.stopImmediatePropagation(),e.stopPropagation(),e.offsetX-this.markerHalfSize),e=(this.intSatMarker.style.left=t+"px",e.offsetY-this.markerHalfSize);this.intSatMarker.style.top=e+"px",this._positionToSv(t,e),this._updateColorValue()});t=T.makeContainer(["100%","auto"],"flex flex-row gap-1 items-center","",this.root),window.EyeDropper&&t.appendChild(new P(null,"eyedrop",async()=>{var e=new EyeDropper;try{var t=await e.open();this.fromHexColor(t.sRGBHex)}catch(e){}},{icon:"eye-dropper",buttonClass:"bg-none",title:"Sample Color"}).root),t=T.makeContainer(["100%","100%"],"flex flex-col gap-2","",t);this.colorPickerTracker=document.createElement("div"),this.colorPickerTracker.className="lexhuetracker",t.appendChild(this.colorPickerTracker),this.hueMarker=document.createElement("div"),this.hueMarker.className="lexcolormarker",this.hueMarker.style.backgroundColor=`rgb(${s.css.r}, ${s.css.g}, ${s.css.b})`,this.colorPickerTracker.appendChild(this.hueMarker),N(()=>{var e=T.remapRange(this.currentColor.hsv.h,0,360,0,this.colorPickerTracker.offsetWidth-this.markerSize);this.hueMarker.style.left=e+"px"});const i=e=>{this.hueMarker.style.left=e+"px",this.currentColor.hsv.h=T.remapRange(e,0,this.colorPickerTracker.offsetWidth-this.markerSize,0,360);e=new p({h:this.currentColor.hsv.h,s:1,v:1});this.hueMarker.style.backgroundColor=`rgb(${e.css.r}, ${e.css.g}, ${e.css.b})`,this.colorPickerBackground.style.backgroundColor=`rgb(${e.css.r}, ${e.css.g}, ${e.css.b})`,this._updateColorValue()};let n=e=>{var t=e.movementX,s=this.colorPickerTracker.getBoundingClientRect(),s=e.offsetX-s.x;0!=t&&(0<=s||t<0)&&(s<this.colorPickerTracker.offsetWidth||0<t)&&(s=T.clamp(parseInt(this.hueMarker.style.left)+t,0,this.colorPickerTracker.offsetWidth-this.markerSize),i(s)),e.stopPropagation(),e.preventDefault()},c=e=>{var t=this.root.ownerDocument;t.removeEventListener("mousemove",n),t.removeEventListener("mouseup",c),document.body.classList.remove("noevents")};if(this.colorPickerTracker.addEventListener("mousedown",e=>{var t=this.root.ownerDocument,t=(t.addEventListener("mousemove",n),t.addEventListener("mouseup",c),document.body.classList.add("noevents"),e.stopImmediatePropagation(),e.stopPropagation(),g(e.offsetX-this.markerHalfSize,0,this.colorPickerTracker.offsetWidth-this.markerSize));i(t)}),this.useAlpha){this.alphaTracker=document.createElement("div"),this.alphaTracker.className="lexalphatracker",this.alphaTracker.style.color=`rgb(${this.currentColor.css.r}, ${this.currentColor.css.g}, ${this.currentColor.css.b})`,t.appendChild(this.alphaTracker),this.alphaMarker=document.createElement("div"),this.alphaMarker.className="lexcolormarker",this.alphaMarker.style.backgroundColor=`rgb(${this.currentColor.css.r}, ${this.currentColor.css.g}, ${this.currentColor.css.b},${this.currentColor.css.a})`,this.alphaTracker.appendChild(this.alphaMarker),N(()=>{var e=T.remapRange(this.currentColor.hsv.a,0,1,0,this.alphaTracker.offsetWidth-this.markerSize);this.alphaMarker.style.left=e+"px"});const r=e=>{this.alphaMarker.style.left=e+"px",this.currentColor.hsv.a=T.remapRange(e,0,this.alphaTracker.offsetWidth-this.markerSize,0,1),this._updateColorValue(),this.alphaMarker.style.backgroundColor=`rgb(${this.currentColor.css.r}, ${this.currentColor.css.g}, ${this.currentColor.css.b},${this.currentColor.css.a})`};let s=e=>{var t=e.movementX,s=this.alphaTracker.getBoundingClientRect(),s=e.offsetX-s.x;0!=t&&(0<=s||t<0)&&(s<this.alphaTracker.offsetWidth||0<t)&&(s=T.clamp(parseInt(this.alphaMarker.style.left)+t,0,this.alphaTracker.offsetWidth-this.markerSize),r(s)),e.stopPropagation(),e.preventDefault()},l=e=>{var t=this.root.ownerDocument;t.removeEventListener("mousemove",s),t.removeEventListener("mouseup",l),document.body.classList.remove("noevents")};this.alphaTracker.addEventListener("mousedown",e=>{var t=this.root.ownerDocument,t=(t.addEventListener("mousemove",s),t.addEventListener("mouseup",l),document.body.classList.add("noevents"),e.stopImmediatePropagation(),e.stopPropagation(),g(e.offsetX-this.markerHalfSize,0,this.alphaTracker.offsetWidth-this.markerSize));r(t)})}s=T.makeContainer(["100%","auto"],"flex flex-row gap-1","",this.root);s.appendChild(new M(null,["CSS","Hex","HSV","RGB"],this.colorModel,e=>{this.colorModel=e,this._updateColorValue(null,!0)}).root),this.labelWidget=new z(null,"",null,{inputClass:"bg-none",fit:!0,disabled:!0}),s.appendChild(this.labelWidget.root),s.appendChild(new P(null,"eyedrop",async()=>{navigator.clipboard.writeText(this.labelWidget.value())},{icon:"copy",buttonClass:"bg-none",className:"ml-auto",title:"Copy"}).root),this._updateColorValue(e,!0),N(()=>{this._adjustPosition(),this.root.focus(),this._onClick=e=>{e.target&&(this.root.contains(e.target)||e.target==this._trigger)||this.destroy()},document.body.addEventListener("mousedown",this._onClick,!0),document.body.addEventListener("focusin",this._onClick,!0)},10)}fromHexColor(e){this.currentColor.setHex(e);var{h:t,s,v:l}=this.currentColor.hsv,s=(this._svToPosition(s,l),new p({h:t,s:1,v:1}));this.hueMarker.style.backgroundColor=this.colorPickerBackground.style.backgroundColor=`rgb(${s.css.r}, ${s.css.g}, ${s.css.b})`,this.hueMarker.style.left=T.remapRange(t,0,360,-this.markerHalfSize,this.colorPickerTracker.offsetWidth-this.markerHalfSize)+"px",this._updateColorValue(e)}destroy(){this._trigger.classList.remove("triggered"),delete this._trigger.picker,document.body.removeEventListener("mousedown",this._onClick,!0),document.body.removeEventListener("focusin",this._onClick,!0),T.root.querySelectorAll(".lexcolorpicker").forEach(e=>{e.remove()}),E.currentPicker=null}_svToPosition(e,t){this.intSatMarker.style.left=T.remapRange(e,0,1,-this.markerHalfSize,this.colorPickerBackground.offsetWidth-this.markerHalfSize)+"px",this.intSatMarker.style.top=T.remapRange(1-t,0,1,-this.markerHalfSize,this.colorPickerBackground.offsetHeight-this.markerHalfSize)+"px"}_positionToSv(e,t){this.currentColor.hsv.s=T.remapRange(e,-this.markerHalfSize,this.colorPickerBackground.offsetWidth-this.markerHalfSize,0,1),this.currentColor.hsv.v=1-T.remapRange(t,-this.markerHalfSize,this.colorPickerBackground.offsetHeight-this.markerHalfSize,0,1)}_updateColorValue(e,t=!1){this.currentColor.set(e??this.currentColor.hsv),this.callback&&!t&&this.callback(this.currentColor),this.intSatMarker.style.backgroundColor=this.currentColor.hex,this.useAlpha&&(this.alphaTracker.style.color=`rgb(${this.currentColor.css.r}, ${this.currentColor.css.g}, ${this.currentColor.css.b},${this.currentColor.css.a})`);var s,l,a,e=(e,t=2)=>e.toFixed(t).replace(/([0-9]+(\.[0-9]+[1-9])?)(\.?0+$)/,"$1");"CSS"==this.colorModel?({r:t,g:a,b:s,a:l}=this.currentColor.css,this.labelWidget.set(`rgba(${t},${a},${s}${this.useAlpha?","+e(l):""})`)):"Hex"==this.colorModel?this.labelWidget.set((this.useAlpha?this.currentColor.hex:this.currentColor.hex.substr(0,7)).toUpperCase()):"HSV"==this.colorModel?({h:t,s:a,v:s,a:l}=this.currentColor.hsv,t=[Math.floor(t)+"º",Math.floor(100*a)+"%",Math.floor(100*s)+"%"],this.useAlpha&&t.push(e(l)),this.labelWidget.set(t.join(" "))):({r:a,g:s,b:l,a:t}=this.currentColor.rgb,a=[e(a),e(s),e(l)],this.useAlpha&&a.push(e(t)),this.labelWidget.set(a.join(" ")))}_adjustPosition(){var t=[0,0];{var s=this._trigger.getBoundingClientRect();let e=!0;switch(this.side){case"left":t[0]+=s.x-this.root.offsetWidth,e=!1;break;case"right":t[0]+=s.x+s.width,e=!1;break;case"top":t[1]+=s.y-this.root.offsetHeight,e=!0;break;case"bottom":t[1]+=s.y+s.height,e=!0}switch(this.align){case"start":e?t[0]+=s.x:t[1]+=s.y;break;case"center":e?t[0]+=s.x+.5*s.width-.5*this.root.offsetWidth:t[1]+=s.y+.5*s.height-.5*this.root.offsetHeight;break;case"end":e?t[0]+=s.x-this.root.offsetWidth+s.width:t[1]+=s.y-this.root.offsetHeight+s.height}}this.avoidCollisions&&(t[0]=T.clamp(t[0],0,window.innerWidth-this.root.offsetWidth-this._windowPadding),t[1]=T.clamp(t[1],0,window.innerHeight-this.root.offsetHeight-this._windowPadding)),this.root.style.left=t[0]+"px",this.root.style.top=t[1]+"px"}}T.ColorPicker=E;class x{constructor(e={}){var t=document.createElement("div"),s=(t.className="lexarea",e.id&&(t.id=e.id),e.className&&(t.className+=" "+e.className),e.width||"100%"),a=e.height||"100%",s=(this.setLimitBox(e.minWidth,e.minHeight,e.maxWidth,e.maxHeight),s.constructor==Number&&(s+="px"),a.constructor==Number&&(a+="px"),t.style.width=s,t.style.height=a,this.offset=0,this.root=t,this.size=[this.root.offsetWidth,this.root.offsetHeight],this.sections=[],this.panels=[],document.getElementById("lexroot")),a=(s&&!e.skipAppend&&s.appendChild(this.root),e.overlay);if(a&&(this.root.classList.add("overlay-"+a),e.left?this.root.style.left=e.left:e.right?this.root.style.right=e.right:e.top?this.root.style.top=e.top:e.bottom&&(this.root.style.bottom=e.bottom),(e.draggable??!0)&&h(t,e),e.resizeable&&t.classList.add("resizeable"),e.resize)){this.splitBar=document.createElement("div");s="left"==a||"right"==a?"horizontal":"vertical";this.type=a,this.splitBar.className="lexsplitbar "+s,"right"==a?(this.splitBar.style.width=T.DEFAULT_SPLITBAR_SIZE+"px",this.splitBar.style.left=-T.DEFAULT_SPLITBAR_SIZE/2+"px"):"left"==a?(t=Math.min(document.body.clientWidth-T.DEFAULT_SPLITBAR_SIZE,this.root.clientWidth),this.splitBar.style.width=T.DEFAULT_SPLITBAR_SIZE+"px",this.splitBar.style.left=t+T.DEFAULT_SPLITBAR_SIZE/2+"px"):"top"==a?(e=Math.min(document.body.clientHeight-T.DEFAULT_SPLITBAR_SIZE,this.root.clientHeight),this.splitBar.style.height=T.DEFAULT_SPLITBAR_SIZE+"px",this.splitBar.style.top=e+T.DEFAULT_SPLITBAR_SIZE/2+"px"):"bottom"==a&&(this.splitBar.style.height=T.DEFAULT_SPLITBAR_SIZE+"px",this.splitBar.style.top=-T.DEFAULT_SPLITBAR_SIZE/2+"px"),this.splitBar.addEventListener("mousedown",function(e){var t=c.root.ownerDocument;t.addEventListener("mousemove",i),t.addEventListener("mouseup",n),l[0]=e.x,l[1]=e.y,e.stopPropagation(),e.preventDefault(),document.body.classList.add("nocursor"),c.splitBar.classList.add("nocursor")}),this.root.appendChild(this.splitBar);const c=this;let l=[0,0];function i(e){switch(c.type){case"right":var t=l[0]-e.x,s=c.root.offsetWidth+t;c.root.style.width=s+"px";break;case"left":t=l[0]-e.x,s=Math.min(document.body.clientWidth-T.DEFAULT_SPLITBAR_SIZE,c.root.offsetWidth-t);c.root.style.width=s+"px",c.splitBar.style.left=s+T.DEFAULT_SPLITBAR_SIZE/2+"px";break;case"top":t=l[1]-e.y,s=Math.min(document.body.clientHeight-T.DEFAULT_SPLITBAR_SIZE,c.root.offsetHeight-t);c.root.style.height=s+"px",c.splitBar.style.top=s+T.DEFAULT_SPLITBAR_SIZE/2+"px";break;case"bottom":t=l[1]-e.y,s=c.root.offsetHeight+t;c.root.style.height=s+"px"}l[0]=e.x,l[1]=e.y,e.stopPropagation(),e.preventDefault(),c.onresize&&c.onresize(c.root.getBoundingClientRect())}function n(e){var t=c.root.ownerDocument;t.removeEventListener("mousemove",i),t.removeEventListener("mouseup",n),document.body.classList.remove("nocursor"),c.splitBar.classList.remove("nocursor")}}}attach(e){if(this.sections.length)this.sections[1].attach(e);else{if(!e)throw"no content to attach";(e.parent=this).root.appendChild(e.root||e)}}split(t={}){this.sections.length&&(this.offset=this.root.childNodes[0].offsetHeight,this._root=this.sections[0].root,this.root=this.sections[1].root);const s=t.type||"horizontal";var l=t.sizes||["50%","50%"],e="auto"===t.sizes||t.sizes&&"auto"==t.sizes[0]&&"auto"==t.sizes[1];if(!l[1]){let e=l[0];var a=t.top||0;e.constructor==Number&&(e=e+a+"px"),l[1]="calc( 100% - "+e+" )"}a=new x({skipAppend:!0,className:"split"+(t.menubar||t.sidebar?"":" origin")});let i=new x({skipAppend:!0,className:"split"});a.parentArea=this,i.parentArea=this;var n=t.minimizable??!1,t=(t.resize??!0)||n;let c="0px";if(this.offset=0,t&&(this.resize=t,this.splitBar=document.createElement("div"),this.splitBar.className="lexsplitbar "+s,"horizontal"==s?this.splitBar.style.width=T.DEFAULT_SPLITBAR_SIZE+"px":this.splitBar.style.height=T.DEFAULT_SPLITBAR_SIZE+"px",this.splitBar.addEventListener("mousedown",function(e){var t=cf.root.ownerDocument;t.addEventListener("mousemove",r),t.addEventListener("mouseup",o),e.stopPropagation(),e.preventDefault(),document.body.classList.add("nocursor"),cf.splitBar.classList.add("nocursor")}),c=T.DEFAULT_SPLITBAR_SIZE/2+"px",n)&&(this.splitExtended=!1,i.root.addEventListener("animationend",e=>{var t=getComputedStyle(i.root).opacity;i.root.classList.remove(e.animationName+"-"+s),i.root.style.opacity=t,D(i.root)}),this.splitBar.addEventListener("contextmenu",e=>{e.preventDefault(),S(null,e,e=>{e.add("Extend",{disabled:this.splitExtended,callback:()=>{this.extend()}}),e.add("Reduce",{disabled:!this.splitExtended,callback:()=>{this.reduce()}})})})),"horizontal"==s){let e=l[0],t=l[1];e.constructor==Number&&(e+="px"),t.constructor==Number&&(t+="px"),a.root.style.width="calc( "+e+" - "+c+" )",a.root.style.height="calc(100% - 0px)",i.root.style.width="calc( "+t+" - "+c+" )",i.root.style.height="calc(100% - 0px)",this.root.style.display="flex"}else if(a.root.style.width="100%",i.root.style.width="100%",e)a.root.style.height="auto",new ResizeObserver(e=>{for(const s of e){var t=s.target.getComputedSize();i.root.style.height="calc(100% - "+t.height+"px )"}}).observe(a.root);else{let e=l[0],t=l[1];e.constructor==Number&&(e+="px"),t.constructor==Number&&(t+="px"),a.root.style.width="100%",a.root.style.height="auto"==e?e:"calc( "+e+" - "+c+" )",i.root.style.height="auto"==t?t:"calc( "+t+" - "+c+" )"}if(this.root.appendChild(a.root),t&&this.root.appendChild(this.splitBar),this.root.appendChild(i.root),this.sections=[a,i],this.type=s,this._update(),t){const cf=this;function r(e){"horizontal"==cf.type?cf._moveSplit(-e.movementX):cf._moveSplit(-e.movementY),e.stopPropagation(),e.preventDefault()}function o(e){var t=cf.root.ownerDocument;t.removeEventListener("mousemove",r),t.removeEventListener("mouseup",o),document.body.classList.remove("nocursor"),cf.splitBar.classList.remove("nocursor")}}return this.sections}setLimitBox(e=0,t=0,s=1/0,l=1/0){this.minWidth=e,this.minHeight=t,this.maxWidth=s,this.maxHeight=l}setSize(e){let[t,s]=e;null!=t&&t.constructor==Number&&(t+="px"),null!=s&&s.constructor==Number&&(s+="px"),t&&(this.root.style.width=t),s&&(this.root.style.height=s),this.onresize&&this.onresize(this.root.getBoundingClientRect()),N(()=>{this.size=[this.root.clientWidth,this.root.clientHeight],this.propagateEvent("onresize")},150)}extend(){var e,t;this.splitExtended||([e,t]=this.sections,this.splitExtended=!0,"vertical"==this.type?(this.offset=t.root.offsetHeight,t.root.classList.add("fadeout-vertical"),this._moveSplit(-1/0,!0)):(this.offset=t.root.offsetWidth-8,t.root.classList.add("fadeout-horizontal"),this._moveSplit(-1/0,!0,8)),N(()=>this.propagateEvent("onresize"),150))}reduce(){var e,t;this.splitExtended&&(this.splitExtended=!1,[e,t]=this.sections,"vertical"==this.type?t.root.classList.add("fadein-vertical"):t.root.classList.add("fadein-horizontal"),this._moveSplit(this.offset),N(()=>this.propagateEvent("onresize"),150))}hide(){this.root.classList.add("hidden")}show(){this.root.classList.remove("hidden")}toggle(e){this.root.classList.toggle("hidden",e)}propagateEvent(t){for(let e=0;e<this.sections.length;e++){var s=this.sections[e];s[t]&&s[t].call(this,s.root.getBoundingClientRect()),s.propagateEvent(t)}}addPanel(e){e=new k(e);return this.attach(e),this.panels.push(e),e}addMenubar(e,t={}){var s=new W(t),[e,l]=(e&&e(s),T.menubars.push(s),this.split({type:"vertical",sizes:[48,null],resize:!1,menubar:!0}));return s.siblingArea=l,e.attach(s),e.isMenubar=!0,(t.sticky??!0)&&(e.root.className+=" sticky top-0"),t.parentClass&&(e.root.className+=" "+t.parentClass),s}addSidebar(e,t={}){var s=new i(t),e=(e&&e(s),s.update(),T.menubars.push(s),t.width??"16rem"),[e,l]=this.split({type:"horizontal",sizes:[e,null],resize:!1,sidebar:!0});return s.siblingArea=l,e.attach(s),e.isSidebar=!0,t.parentClass&&(e.root.className+=" "+t.parentClass),s}addOverlayButtons(e,t={}){if(this.sections.length)this.sections[1].addOverlayButtons(e,t);else{console.assert(e.constructor==Array&&e.length),this.root.style.position="relative",t.className="lexoverlaybuttons";let n=this.addPanel(t),c=null;const a=document.createElement("div"),i=(a.className="lexoverlaybuttonscontainer",a.appendChild(n.root),this.attach(a),t.float);if(i)for(let e=0;e<i.length;e++)switch(i[e]){case"h":break;case"v":a.className+=" vertical";break;case"t":break;case"m":a.className+=" middle";break;case"b":a.className+=" bottom";break;case"l":break;case"c":a.className+=" center";break;case"r":a.className+=" right"}const r=function(l,e,t){var s={width:"auto",selectable:l.selectable,selected:l.selected,icon:l.icon,img:l.img,className:l.class??"",title:l.name,overflowContainerX:n.root};e&&(c||((c=document.createElement("div")).className="lexoverlaygroup",n.queuedContainer=c),s.parent=c);let a=l.callback;if(l.options)n.addSelect(null,l.options,l.name,a,s);else{const i=n.addButton(null,l.name,function(e,t){var s;l.selectable&&(l.group?(s=l.selected,l.group.forEach(e=>e.selected=!1),l.selected=!s):l.selected=!l.selected),a&&a(e,t,i.root)},s)}c&&t&&(n.root.appendChild(c),c=null,n.clearQueue())};!function(){n.clear();for(var t of e)if(t.constructor===Array)for(let e=0;e<t.length;++e){var s=t[e];s.group=t,r(s,!0,e==t.length-1)}else r(t);var l;i&&(l=0,n.root.childNodes.forEach(e=>{l+=e.offsetHeight}),a.className.includes("middle"))&&(a.style.top="-moz-calc( 50% - "+.5*l+"px )",a.style.top="-webkit-calc( 50% - "+.5*l+"px )",a.style.top="calc( 50% - "+.5*l+"px )")}()}}addTabs(e={}){var t=new n(this,e);return e.folding&&(this.parentArea._disableSplitResize(),this.root.style.paddingTop="4px"),t}_moveSplit(t,s=!1,l=0){if(!this.type)throw"No split area";if(void 0!==t){var a,i=this.sections[0],n=i.root,c=(n.classList.contains("origin")||(n=n.parentElement),this.sections[1]),r=c.root,o=" - "+T.DEFAULT_SPLITBAR_SIZE+"px";let e=null;s||(e=n.style.transition,n.style.transition=r.style.transition="none",D(n),D(r)),"horizontal"==this.type?(a=Math.max(r.offsetWidth+t,parseInt(c.minWidth)),n.style.width="-moz-calc( 100% - "+(a=l?l:a)+"px "+o+" )",n.style.width="-webkit-calc( 100% - "+a+"px "+o+" )",n.style.width="calc( 100% - "+a+"px "+o+" )",n.style.minWidth=parseInt(i.minWidth)+"px",r.style.width=a+"px",i.maxWidth!=1/0&&(r.style.minWidth="calc( 100% - "+parseInt(i.maxWidth)+"px )")):(a=Math.max(r.offsetHeight+t+c.offset,parseInt(c.minHeight)),n.style.height="-moz-calc( 100% - "+(a=l?l:a)+"px "+o+" )",n.style.height="-webkit-calc( 100% - "+a+"px "+o+" )",n.style.height="calc( 100% - "+a+"px "+o+" )",n.style.minHeight=i.minHeight+"px",r.style.height=a-c.offset+"px"),s||(n.style.transition=r.style.transition=e),this._update(),this.propagateEvent("onresize")}}_disableSplitResize(){this.resize=!1,this.splitBar.remove(),delete this.splitBar}_update(){var e=this.root.getBoundingClientRect();this.size=[e.width,e.height];for(var t=0;t<this.sections.length;t++)this.sections[t]._update()}}function D(e){e.offsetHeight}T.Area=x;class n{static TAB_ID=0;constructor(l,e={}){this.onclose=e.onclose;var t=document.createElement("div"),s=(t.className="lexareatabs "+(e.fit?"fit":"row"),e.folding??!1);s&&t.classList.add("folding");let n=this;t.addEventListener("dragenter",function(e){e.preventDefault(),this.classList.add("dockingtab")}),t.addEventListener("dragleave",function(e){e.preventDefault(),this.contains(e.relatedTarget)||this.classList.remove("dockingtab")}),t.addEventListener("drop",function(e){e.preventDefault();var t,s,l,a=e.dataTransfer.getData("source"),i=document.getElementById(a);i&&(t=i.parentElement,s=(l=e.target).getBoundingClientRect(),e.offsetX<.5*s.width?this.insertBefore(i,l):l.nextElementSibling?this.insertBefore(i,l.nextElementSibling):this.appendChild(i),t.childNodes.forEach((e,t)=>e.childIndex=t-1),s=/true/.test(e.dataTransfer.getData("fit")),(t.childElementCount==(s?2:1)?t.lastChild:t.querySelector(".selected")??t.childNodes[s?1:0]).click(),this.childNodes.forEach((e,t)=>e.childIndex=t-1),l=document.getElementById(a+"_content"),n.area.attach(l),this.classList.remove("dockingtab"),i.instance=n,i.click(),n.tabs[i.dataset.name]=l)}),l.root.classList.add("lexareatabscontainer");var[a,i]=l.split({type:"vertical",sizes:e.sizes??"auto",resize:!1,top:2});a.attach(t),e.parentClass&&(t.parentElement.className+=" "+e.parentClass),this.area=i,this.area.root.className+=" lexareatabscontent",e.contentClass&&(this.area.root.className+=" "+e.contentClass),this.selected=null,this.root=t,this.tabs={},this.tabDOMs={},e.fit&&((a=document.createElement("span")).className="lexareatab thumb",this.thumb=a,this.root.appendChild(a),new ResizeObserver(e=>{var t,s=this.thumb.item;s&&(t=this.thumb.style.transition,this.thumb.style.transition="none",this.thumb.style.transform="translate( "+s.childIndex*s.offsetWidth+"px )",this.thumb.style.width=s.offsetWidth+"px",D(this.thumb),this.thumb.style.transition=t)}).observe(this.area.root)),s&&(this.folded=!0,"up"==(this.folding=s)&&l.root.insertChildAtIndex(l.sections[1].root,0),new ResizeObserver(e=>{for(const s of e){var t=s.contentRect;l.parentArea.sections[0].root.style.height="calc(100% - "+(42+t.height)+"px )"}}).observe(this.area.root),this.area.root.classList.add("folded"))}add(e,t,l={}){let s=l.selected??!1;s&&(this.root.querySelectorAll("span").forEach(e=>e.classList.remove("selected")),(this.area.root.querySelector(":scope > .pseudoparent-tabs")??this.area.root).querySelectorAll(":scope > .lextabcontent").forEach(e=>e.style.display="none")),s=!Object.keys(this.tabs).length&&!this.folding||s;let a=t.root||t,i=(a.originalDisplay=a.style.display,a.style.display=s?a.originalDisplay:"none",a.classList.add("lextabcontent"),l.icon&&(l.icon.includes("fa-")?l.icon="<i class='"+l.icon+"'></i>":l.icon="<img src='https://raw.githubusercontent.com/jxarco/lexgui.js/master/"+l.icon+"'>"),document.createElement("span"));i.dataset.name=e,i.className="lexareatab"+(s?" selected":""),i.innerHTML=(l.icon??"")+e,i.id=e.replace(/\s/g,"")+n.TAB_ID++,i.title=l.title??"",i.selected=s??!1,i.fixed=l.fixed,i.instance=this,a.id=i.id+"_content",i.selected&&(this.selected=e),i.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();var t,s=i.instance;i.fixed||(t=i.selected,i.parentElement.querySelectorAll("span").forEach(e=>e.selected=!1),i.selected=!t,i.parentElement.querySelectorAll("span").forEach(e=>e.classList.remove("selected")),i.classList.toggle("selected",s.folding&&i.selected),(s.area.root.querySelector(":scope > .pseudoparent-tabs")??s.area.root).querySelectorAll(":scope > .lextabcontent").forEach(e=>e.style.display="none"),a.style.display=a.originalDisplay,s.selected=i.dataset.name),s.folding&&(s.folded=i.selected,s.area.root.classList.toggle("folded",!s.folded)),l.onSelect&&l.onSelect(e,i.dataset.name),s.thumb&&(s.thumb.style.transform="translate( "+i.childIndex*i.offsetWidth+"px )",s.thumb.style.width=i.offsetWidth+"px",s.thumb.item=i)}),i.addEventListener("contextmenu",e=>{e.preventDefault(),e.stopPropagation(),l.onContextMenu&&l.onContextMenu(e,i.dataset.name)}),l.allowDelete&&(i.addEventListener("mousedown",e=>{e.button==T.MOUSE_MIDDLE_CLICK&&e.preventDefault()}),i.addEventListener("mouseup",e=>{e.preventDefault(),e.stopPropagation(),e.button==T.MOUSE_MIDDLE_CLICK&&this.delete(i.dataset.name)})),i.setAttribute("draggable",!0),i.addEventListener("dragstart",e=>{var t=!!this.thumb;i.parentElement.childNodes.length==(t?2:1)?e.preventDefault():(e.dataTransfer.setData("source",e.target.id),e.dataTransfer.setData("fit",t))}),i.childIndex=this.root.childElementCount-1,this.root.appendChild(i),this.area.attach(a),this.tabDOMs[e]=i,this.tabs[e]=t,setTimeout(()=>{l.onCreate&&l.onCreate.call(this,this.area.root.getBoundingClientRect()),s&&this.thumb&&(this.thumb.style.transform="translate( "+i.childIndex*i.offsetWidth+"px )",this.thumb.style.width=i.offsetWidth+"px",this.thumb.item=i)},10)}select(e){this.tabDOMs[e]&&this.tabDOMs[e].click()}delete(e){var t=this.tabDOMs[e];t&&!t.fixed&&(this.onclose&&this.onclose(e),this.tabDOMs[e].remove(),delete this.tabDOMs[e],this.tabs[e].remove(),delete this.tabs[e],t=this.root.lastChild)&&!t.fixed&&this.root.lastChild.click()}}T.Tabs=n;class W{constructor(e={}){this.root=document.createElement("div"),this.root.className="lexmenubar",e.float&&(this.root.style.justifyContent=e.float),this.items=[],this.buttons=[],this.icons={},this.shorts={}}_resetMenubar(e){this.root.querySelectorAll(".lexmenuentry").forEach(e=>{e.classList.remove("selected"),e.built=!1}),T.root.querySelectorAll(".lexmenubox").forEach(e=>e.remove()),this.focused=e??!1}_createSubmenu(e,t,s,a){let i=document.createElement("div");i.className="lexmenubox",i.tabIndex="0";const l=((s.currentMenu=i).parentEntry=s).classList.contains("lexmenuboxentry");l&&(i.dataset.submenu=!0),i._updatePosition=()=>{const t=i.style.transition;i.style.transition="none",D(i),N(()=>{var e=s.getBoundingClientRect();i.style.left=(l?e.x+e.width:e.x)+"px",i.style.top=(l?e.y:e.y+e.height-4)+"px",i.style.transition=t})},i._updatePosition(),N(()=>{i.dataset.open=!0},10),T.root.appendChild(i);for(var n=0;n<e[t].length;++n){const h=e[t][n],u=Object.keys(h)[0];var c,r,o=h[u].length,d="checkbox"==h.type;let s=document.createElement("div"),l=(s.tabIndex="-1",s.className="lexmenuboxentry",s.className+=(n==e[t].length-1?" last":"")+(h.disabled?" disabled":""),""==u?s.className=" lexseparator":(s.id=u,(c=document.createElement("div")).innerHTML="",c.classList="lexmenuboxentrycontainer",s.appendChild(c),r=this.icons[u],d?c.innerHTML+="<input type='checkbox' >":r?c.innerHTML+="<a class='"+r+" fa-sm'></a>":(c.innerHTML+="<a class='fa-solid fa-sm noicon'></a>",c.classList.add("noicon")),c.innerHTML+="<div class='lexentryname'>"+u+"</div>"),s.querySelector("input"));l&&(l.checked=h.checked??!1,l.addEventListener("change",e=>{h.checked=l.checked;var t=h.callback;t&&(t.call(this,h.checked,u,s),this._resetMenubar()),e.stopPropagation(),e.stopImmediatePropagation()})),i.appendChild(s),""!=u&&(i.addEventListener("keydown",e=>{e.preventDefault();let t=this.shorts[u];t&&(t=1==t.length?t.toLowerCase():t)==e.key&&s.click()}),s.addEventListener("click",e=>{l&&(h.checked=!h.checked);var t=h.callback;t&&(t.call(this,l?h.checked:u,l?u:s),this._resetMenubar()),e.stopPropagation(),e.stopImmediatePropagation()}),s.addEventListener("blur",e=>{e.relatedTarget&&!e.relatedTarget.className.includes("lexmenu")&&this._resetMenubar()}),o?((d=document.createElement("a")).className="fa-solid fa-angle-right fa-xs",s.appendChild(d),s.addEventListener("mouseover",e=>{s.built||(s.built=!0,this._createSubmenu(h,u,s,++a),e.stopPropagation())}),s.addEventListener("mouseleave",e=>{s.currentMenu&&s.currentMenu!=e.toElement&&!s.currentMenu.contains(e.toElement)&&(a=-1,delete s.built,s.currentMenu.remove(),delete s.currentMenu)})):this.shorts[u]&&((r=document.createElement("div")).className="lexentryshort",r.innerText=this.shorts[u],s.appendChild(r)))}i.style.width=i.offsetWidth+"px"}add(e,i={}){i.constructor==Function&&(i={callback:i});const n=e.split("/");e=n[n.length-1];this.icons[e]=i.icon,this.shorts[e]=i.short;let c=0;const r=(l,e)=>{if(null!=l){let s=null;var t,a;e.forEach(e=>{var t=Object.keys(e).find(e=>e==l);t&&(s=e[t])}),s?r(n[c++],s):((t={})[l]=[],(a=n[c++])||(t.callback=i.callback,t.disabled=i.disabled,t.type=i.type,t.checked=i.checked),e.push(t),r(a,t[l]))}};r(n[c++],this.items);for(let l of this.items){let s=Object.keys(l)[0];var a=s.replace(/\s/g,"").replaceAll(".","");if(!this.root.querySelector("#"+a)){let t=document.createElement("div");t.className="lexmenuentry",t.id=a,t.innerHTML="<span>"+s+"</span>",t.tabIndex="1","left"==i.position?this.root.prepend(t):("right"==i.position&&(t.right=!0),this.root.lastChild&&this.root.lastChild.right?this.root.lastChild.before(t):this.root.appendChild(t));const o=()=>{this._resetMenubar(!0),t.classList.add("selected"),t.built=!0,this._createSubmenu(l,s,t,-1)};t.addEventListener("click",()=>{var e=l.callback;e?e.call(this,s,t):(o(),this.focused=!0)}),t.addEventListener("mouseover",e=>{this.focused&&!t.built&&o()}),t.addEventListener("blur",e=>{e.relatedTarget&&e.relatedTarget.className.includes("lexmenubox")||this._resetMenubar()})}}}getButton(e){return this.buttons[e]}getSubitem(t,s){var l=s[0];for(let e=0;e<t.length;e++)if(t[e][l])return 1==s.length?t[e]:(s.splice(0,1),this.getSubitem(t[e][l],s))}getItem(e){e=e.split("/");return this.getSubitem(this.items,e)}setButtonIcon(e,t,s,l={}){if(!e)throw"Set Button Name!";let a=this.buttons[e];if(a)a.querySelector("a").className="fa-solid "+t+" lexicon";else{a=document.createElement("div");const i=l.disabled??!1,n=(a.className="lexmenubutton main"+(i?" disabled":""),a.title=e,a.innerHTML="<a class='"+t+" lexicon'></a>","right"==l.float&&(a.right=!0),this.root.lastChild&&this.root.lastChild.right?this.root.lastChild.before(a):"left"==l.float?this.root.prepend(a):this.root.appendChild(a),a.querySelector("a"));n.addEventListener("click",e=>{s&&!i&&s.call(this,n,e)}),this.buttons[e]=a}}setButtonImage(e,t,s,l={}){if(!e)throw"Set Button Name!";let a=this.buttons[e];if(a)a.querySelector("img").src=t;else{a=document.createElement("div");const i=l.disabled??!1,n=(a.className="lexmenubutton"+(i?" disabled":""),a.title=e,a.innerHTML="<a><image src='"+t+"' class='lexicon' style='height:32px;'></a>","right"==l.float&&(a.right=!0),this.root.lastChild&&this.root.lastChild.right?this.root.lastChild.before(a):"left"==l.float?this.root.prepend(a):this.root.appendChild(a),a.querySelector("a"));n.addEventListener("click",e=>{s&&!i&&s.call(this,n,e)}),this.buttons[e]=a}}addButtons(t,e={}){if(!t)throw"No buttons to add!";this.buttonContainer||(this.buttonContainer=document.createElement("div"),this.buttonContainer.className="lexmenubuttons",this.buttonContainer.classList.add(e.float??"center"),"right"==e.position&&(this.buttonContainer.right=!0),this.root.lastChild&&this.root.lastChild.right?this.root.lastChild.before(this.buttonContainer):this.root.appendChild(this.buttonContainer));for(let e=0;e<t.length;++e){var s=t[e],l=s.title,s=new P(l,"",s.callback,{title:l,buttonClass:"bg-none",disabled:s.disabled,icon:s.icon,hideName:!0,swap:s.swap});this.buttonContainer.appendChild(s.root),l&&(this.buttons[l]=s.root)}}}T.Menubar=W;class i{constructor(e={}){var t;this.root=document.createElement("div"),this.root.className="lexsidebar "+(e.className??""),this._displaySelected=e.displaySelected??!1,Object.defineProperty(i.prototype,"displaySelected",{get:function(){return this._displaySelected},set:function(e){this._displaySelected=e,this._displaySelected||this.root.querySelectorAll(".lexsidebarentry").forEach(e=>e.classList.remove("selected"))},enumerable:!0,configurable:!0}),this.collapsable=e.collapsable??!0,this._collapseWidth=e.collapseToIcons??!0?"58px":"0px",this.collapsed=!1,this.filterString="",N(()=>{this.root.parentElement.ogWidth=this.root.parentElement.style.width,this.root.parentElement.style.transition="width 0.25s ease-out",this.resizeObserver=new ResizeObserver(e=>{for(const t of e)this.siblingArea.setSize(["calc(100% - "+t.contentRect.width+"px )",null])})},10),e.skipHeader||(this.header=e.header??this._generateDefaultHeader(e),console.assert(this.header.constructor===HTMLDivElement,"Use an HTMLDivElement to build your custom header"),this.header.className="lexsidebarheader",this.root.appendChild(this.header),this.collapsable&&(t=T.makeIcon("sidebar","Toggle Sidebar","toggler"),this.header.appendChild(t),t.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),this.toggleCollapsed()}))),e.filter&&(t=new z(null,"",(e,t)=>{this.filterString=e,this.update()},{inputClass:"outline",placeholder:"Search...",icon:"fa-solid fa-magnifying-glass",className:"lexsidebarfilter"}),this.filter=t.root,this.root.appendChild(this.filter)),this.content=document.createElement("div"),this.content.className="lexsidebarcontent",this.root.appendChild(this.content),e.skipFooter||(this.footer=e.footer??this._generateDefaultFooter(e),console.assert(this.footer.constructor===HTMLDivElement,"Use an HTMLDivElement to build your custom footer"),this.footer.className="lexsidebarfooter",this.root.appendChild(this.footer)),N(()=>{var e=(parseInt(this.header?.getComputedSize().height)??0)+(parseInt(this.filter?.getComputedSize().height)??0)+(parseInt(this.footer?.getComputedSize().height)??0);this.content.style.height=`calc(100% - ${e}px)`},10),this.items=[],this.icons={},this.groups={}}_generateDefaultHeader(t){var e=document.createElement("div"),s=(e.addEventListener("click",e=>{this.collapsed?(e.preventDefault(),e.stopPropagation(),this.toggleCollapsed()):t.onHeaderPressed&&t.onHeaderPressed(e)}),document.createElement("span")),s=(s.className="lexavatar",e.appendChild(s),t.headerImage?((l=document.createElement("img")).src=t.headerImage,s.appendChild(l)):t.headerIcon&&(l=T.makeIcon(t.headerIcon),s.appendChild(l)),document.createElement("div")),l=(s.className="infodefault",e.appendChild(s),document.createElement("span")),l=(l.innerHTML=t.headerTitle??"",s.appendChild(l),document.createElement("span"));return l.innerHTML=t.headerSubtitle??"",s.appendChild(l),e}_generateDefaultFooter(t){const s=document.createElement("div");s.addEventListener("click",e=>{t.onFooterPressed&&t.onFooterPressed(e,s)});var e=document.createElement("span"),e=(e.className="lexavatar",s.appendChild(e),t.footerImage?((l=document.createElement("img")).src=t.footerImage,e.appendChild(l)):t.footerIcon&&(l=T.makeIcon(t.footerIcon),e.appendChild(l)),document.createElement("div")),l=(e.className="infodefault",s.appendChild(e),document.createElement("span")),l=(l.innerHTML=t.footerTitle??"",e.appendChild(l),document.createElement("span")),e=(l.innerHTML=t.footerSubtitle??"",e.appendChild(l),T.makeIcon("menu-arrows"));return s.appendChild(e),s}toggleCollapsed(e){if(this.collapsable){if(this.collapsed=e??!this.collapsed,this.collapsed?(this.root.classList.add("collapsing"),this.root.parentElement.style.width=this._collapseWidth):(this.root.classList.remove("collapsing"),this.root.classList.remove("collapsed"),this.root.parentElement.style.width=this.root.parentElement.ogWidth),!this.resizeObserver)throw"Wait until ResizeObserver has been created!";this.resizeObserver.observe(this.root.parentElement),N(()=>{this.root.classList.toggle("collapsed",this.collapsed),this.resizeObserver.unobserve(this.root.parentElement),this.root.querySelectorAll(".lexsidebarentrycontent").forEach(e=>e.dataset.disableTooltip=!this.collapsed)},250)}}separator(){this.currentGroup=null,this.add("")}group(e,t){this.currentGroup=e,this.groups[e]=t}add(e,i={}){i.constructor==Function&&(i={callback:i});const n=e.split("/");e=n[n.length-1];this.icons[e]=i.icon;let c=0;const r=(l,e)=>{if(null!=l){let s=null;var t,a;e.forEach(e=>{var t=Object.keys(e).find(e=>e==l);t&&(s=e[t])}),s?r(n[c++],s):((t={})[l]=[],(a=n[c++])||(t.callback=i.callback,t.group=this.currentGroup,t.options=i),e.push(t),r(a,t[l]))}};r(n[c++],this.items)}select(e){let t=e.replace(/\s/g,"").replaceAll(".","");e=this.items.find(e=>e.name===t);e&&e.dom.click()}update(){this.content.innerHTML="";for(var e of this.items)delete e.dom;for(let i of this.items){const o=i.options??{};if(!i.dom){let a=Object.keys(i)[0];if(!this.filterString.length||a.toLowerCase().includes(this.filterString.toLowerCase())){var t=a.replace(/\s/g,"").replaceAll(".","");let e=null,l=document.createElement("div");if(l.id=i.name=t,l.className="lexsidebarentry "+(o.className??""),this.displaySelected&&o.selected&&l.classList.add("selected"),i.group){var s=i.group.replace(/\s/g,"").replaceAll(".","");if(e=this.content.querySelector("#"+s)){if(!e.classList.contains("lexsidebargroup"))throw"Bad id: "+i.group}else{(e=document.createElement("div")).id=s,e.className="lexsidebargroup",this.content.appendChild(e);var s=document.createElement("div"),n=(s.className="lexsidebargrouptitle",e.appendChild(s),document.createElement("div"));n.innerHTML=i.group,s.appendChild(n),null!=this.groups[i.group]&&((n=document.createElement("a")).className=(this.groups[i.group].icon??"")+" lexicon",s.appendChild(n),n.addEventListener("click",e=>{this.groups[i.group].callback&&this.groups[i.group].callback(i.group,e)}))}}if(""==t){s=document.createElement("div");s.className="lexsidebarseparator",this.content.appendChild(s)}else{this.collapseContainer?(this.collapseContainer.appendChild(l),this.collapseQueue--,this.collapseQueue||delete this.collapseContainer):(e||this.content).appendChild(l);let s=document.createElement("div");if(s.className="lexsidebarentrycontent",l.appendChild(s),i.dom=l,"checkbox"==o.type){i.value=o.value??!1;n=new k;i.checkbox=n.addCheckbox(null,i.value,(e,t)=>{t.preventDefault(),t.stopPropagation();var s=o.callback;i.value=e,s&&s.call(this,a,e,t)},{className:"accent",label:a,signal:"@checkbox_"+a}),s.appendChild(n.root.childNodes[0])}else{if(o.icon){let e=null;o.icon.includes("fa-")?(e=document.createElement("i")).className=o.icon:e=T.makeIcon(o.icon),e.classList.add("lexsidebarentryicon"),s.appendChild(e),T.asTooltip(s,a,{side:"right",offset:16,active:!1})}var t=document.createElement("a");t.innerHTML=a,s.appendChild(t),o.content&&s.appendChild(o.content)}const d=null!=o.collapsable?o.collapsable:o.collapsable||i[a].length;if(l.addEventListener("click",e=>{var t;e.target&&e.target.classList.contains("lexcheckbox")||(d?s.querySelector(".collapser").click():((t=o.callback)&&t.call(this,a,i.value,e),i.checkbox&&(i.value=!i.value,i.checkbox.set(i.value,!0))),this.displaySelected&&(this.root.querySelectorAll(".lexsidebarentry").forEach(e=>e.classList.remove("selected")),l.classList.add("selected")))}),o.action?(t=T.makeIcon(o.action.icon??"more-horizontal",o.action.name),s.appendChild(t),t.addEventListener("click",e=>{e.preventDefault(),e.stopImmediatePropagation();var t=o.action.callback;t&&t.call(this,a,e)})):d&&((t=document.createElement("div")).className="collapsablecontainer",Object.assign(t.style,{width:"100%",display:"none"}),T.makeCollapsible(s,t,e??this.content),this.collapseQueue=o.collapsable,this.collapseContainer=t),i[a].length){var c=document.createElement("div");c.className="lexsidebarsubentrycontainer",d?(this.collapseContainer.appendChild(c),delete this.collapseContainer):(e?(c.classList.add("collapsablecontainer"),e):this.content).appendChild(c);for(let e=0;e<i[a].length;++e){var r=i[a][e];const h=r.options??{},u=Object.keys(r)[0];if(!this.filterString.length||u.toLowerCase().includes(this.filterString.toLowerCase())){let s=document.createElement("div");s.innerHTML=`<span>${u}</span>`,h.action&&(r=T.makeIcon(h.action.icon??"more-horizontal",h.action.name),s.appendChild(r),r.addEventListener("click",e=>{e.preventDefault(),e.stopImmediatePropagation();var t=h.action.callback;t&&t.call(this,u,e)})),s.className="lexsidebarentry",s.id=u,c.appendChild(s),s.addEventListener("click",e=>{var t=h.callback;t&&t.call(this,u,s,e),this.displaySelected&&(this.root.querySelectorAll(".lexsidebarentry").forEach(e=>e.classList.remove("selected")),l.classList.add("selected"))})}}}}}}}}}T.SideBar=i;class w{static NONE=0;static TEXT=1;static TEXTAREA=2;static BUTTON=3;static SELECT=4;static CHECKBOX=5;static TOGGLE=6;static RADIO=7;static BUTTONS=8;static COLOR=9;static RANGE=10;static NUMBER=11;static TITLE=12;static VECTOR=13;static TREE=14;static PROGRESS=15;static FILE=16;static LAYERS=17;static ARRAY=18;static LIST=19;static TAGS=20;static CURVE=21;static CARD=22;static IMAGE=23;static CONTENT=24;static CUSTOM=25;static SEPARATOR=26;static KNOB=27;static SIZE=28;static OTP=29;static PAD=30;static FORM=31;static DIAL=32;static COUNTER=33;static TABLE=34;static TABS=35;static LABEL=36;static BLANK=37;static NO_CONTEXT_TYPES=[w.BUTTON,w.LIST,w.FILE,w.PROGRESS];constructor(e,t,s,l={}){this.type=e,this.name=t,this.options=l,this._initialValue=s;var a=document.createElement("div");if(a.className="lexwidget",l.id&&(a.id=l.id),l.title&&(a.title=l.title),l.className&&(a.className+=" "+l.className),e!=w.TITLE&&(l.width&&(a.style.width=a.style.minWidth=l.width),l.maxWidth&&(a.style.maxWidth=l.maxWidth),l.minWidth&&(a.style.minWidth=l.minWidth),l.height&&(a.style.height=a.style.minHeight=l.height),T.widgetResizeObserver.observe(a)),null!=t){if(!l.hideName){e=document.createElement("div");e.className="lexwidgetname",l.justifyName&&e.classList.add("float-"+l.justifyName),e.innerHTML=t,e.title=l.title??e.innerHTML,e.style.width=l.nameWidth||T.DEFAULT_NAME_WIDTH,e.style.minWidth=e.style.width,a.appendChild(e),a.domName=e;const i=this;e.addEventListener("contextmenu",function(e){e.preventDefault(),i.oncontextmenu(e)}),l.skipReset||null==s||this._addResetProperty(e,function(e){i.set(i._initialValue,!1,e),this.style.display="none"})}}else l.hideName=!0;l.signal&&T.addSignal(l.signal,this),this.root=a,(this.root.jsInstance=this).options=l}static _dispatchEvent(e,t,s,l,a){t=new CustomEvent(t,{detail:s,bubbles:l,cancelable:a});e.dispatchEvent(t)}_addResetProperty(e,t){var s=T.makeIcon("rotate-left","Reset");return s.style.display="none",s.style.marginRight="6px",s.style.marginLeft="0",s.style.paddingInline="6px",s.addEventListener("click",t),e.appendChild(s),s}_canPaste(){return this.type===w.CUSTOM?void 0!==navigator.clipboard.customIdx&&this.customIdx==navigator.clipboard.customIdx:navigator.clipboard.type===this.type}_trigger(e,t,s=this){t&&t.call(s,e.value,e.domEvent,e.name)}value(){if(this.onGetValue)return this.onGetValue();console.warn("Can't get value of "+this.typeName())}set(e,t,s){var l,a;if(this.onSetValue)return(l=this.root.querySelector(".lexwidgetname .lexicon"))&&(l.style.display=e!=this.value()?"block":"none",a=e.constructor===Array?function(e,t){if(e!==t){if(null==e||null==t)return!1;if(e.length!==t.length)return!1;for(var s=0;s<e.length;++s)if(e[s]!==t[s])return!1}return!0}(e,this._initialValue):e==this._initialValue,l.style.display=a?"none":"block"),this.onSetValue(e,t??!1,s);console.warn("Can't set value of "+this.typeName())}oncontextmenu(e){w.NO_CONTEXT_TYPES.includes(this.type)||S(this.typeName(),e,e=>{e.add("Copy",()=>{this.copy()}),e.add("Paste",{disabled:!this._canPaste(),callback:()=>{this.paste()}})})}copy(){navigator.clipboard.type=this.type,navigator.clipboard.customIdx=this.customIdx,navigator.clipboard.data=this.value(),navigator.clipboard.writeText(navigator.clipboard.data)}paste(){this._canPaste()&&this.set(navigator.clipboard.data)}typeName(){switch(this.type){case w.TEXT:return"Text";case w.TEXTAREA:return"TextArea";case w.BUTTON:return"Button";case w.SELECT:return"Select";case w.CHECKBOX:return"Checkbox";case w.TOGGLE:return"Toggle";case w.RADIO:return"Radio";case w.COLOR:return"Color";case w.RANGE:return"Range";case w.NUMBER:return"Number";case w.VECTOR:return"Vector";case w.TREE:return"Tree";case w.PROGRESS:return"Progress";case w.FILE:return"File";case w.LAYERS:return"Layers";case w.ARRAY:return"Array";case w.LIST:return"List";case w.TAGS:return"Tags";case w.CURVE:return"Curve";case w.KNOB:return"Knob";case w.SIZE:return"Size";case w.PAD:return"Pad";case w.FORM:return"Form";case w.DIAL:return"Dial";case w.COUNTER:return"Counter";case w.TABLE:return"Table";case w.TABS:return"Tabs";case w.LABEL:return"Label";case w.BLANK:return"Blank";case w.CUSTOM:return this.customName}console.error("Unknown Widget type: "+this.type)}refresh(){}}T.Widget=w,T.ADD_CUSTOM_WIDGET=function(m,p={}){let e=b();k.prototype["add"+m]=function(a,i,n){p.nameWidth="100%";let c=new w(w.CUSTOM,a,null,p);this._attachWidget(c),c.customName=m,c.customIdx=e,c.onGetValue=()=>i,c.onSetValue=(e,t,s)=>{i=e,u(),r.querySelector(".lexcustomitems").toggleAttribute("hidden",!1),t||c._trigger(new C(a,i,s),n)};const r=c.root;let o,d,h=p.default??{};const u=()=>{i&&(c.instance=i=Object.assign(L(h),i)),o&&o.remove(),d&&d.remove(),(o=document.createElement("div")).className="lexcustomcontainer",o.style.width="100%",r.appendChild(o),r.dataset.opened=!1;var e="<a class='fa-solid "+(p.icon??"fa-cube")+"'></a>",e=(e=e+(m+(i?"":" [empty]"))+("<a class='fa-solid "+(i?"fa-bars-staggered":" ")+" menu'></a>"),this.addButton(null,e,(e,t)=>{i?(r.querySelector(".lexcustomitems").toggleAttribute("hidden"),r.dataset.opened=!r.querySelector(".lexcustomitems").hasAttribute("hidden")):S(null,t,e=>{e.add("New "+m,()=>{i={},u(),r.querySelector(".lexcustomitems").toggleAttribute("hidden",!1),r.dataset.opened=!r.querySelector(".lexcustomitems").hasAttribute("hidden")})})},{buttonClass:"custom"}));if(o.appendChild(e.root),i&&e.root.querySelector("a.menu").addEventListener("click",e=>{e.stopImmediatePropagation(),e.stopPropagation(),S(null,e,e=>{e.add("Clear",()=>{i=null,u()})})}),(d=document.createElement("div")).className="lexcustomitems",d.toggleAttribute("hidden",!0),r.appendChild(d),i){this.queue(d);var t,s=(e,t,s)=>{i[e]=t,c._trigger(new C(a,i,s),n)};for(t in h){var l=i[t]??h[t];switch(l.constructor){case String:"#"===l[0]?this.addColor(t,l,s.bind(this,t)):this.addText(t,l,s.bind(this,t));break;case Number:this.addNumber(t,l,s.bind(this,t));break;case Boolean:this.addCheckbox(t,l,s.bind(this,t));break;case Array:4<l.length?this.addArray(t,l,s.bind(this,t)):this._addVector(l.length,t,l,s.bind(this,t))}}this.clearQueue()}};u()}};class V{constructor(e,t,s){if(this.domEl=e,this.data=t,this.onevent=s.onevent,this.options=s,this.selected=[],this._forceClose=!1,t.constructor===Object)this._createItem(null,t);else for(var l of t)this._createItem(null,l)}_createItem(e,i,t=0,s){const n=this;var l=this.domEl.querySelector(".lexnodetree_filter");if(i.children=i.children??[],l&&""!=l.value&&!i.id.includes(l.value)){for(var a=0;a<i.children.length;++a)this._createItem(i,i.children[a],t+1,s);return}const c=this.domEl.querySelector("ul");i.visible=i.visible??!0,i.parent=e;let r=0<i.children.length;l=-1<this.selected.indexOf(i)||i.selected;if(this.options.onlyFolders){let t=!1;i.children.forEach(e=>t|="folder"==e.type),r=!!t}let o=document.createElement("li"),d=(o.className="lextreeitem datalevel"+t+(r?" parent":"")+(l?" selected":""),o.id=T.getSupportedDOMName(i.id),o.tabIndex="0",o.treeData=i,this.options.skip_default_icon??!0?"":"fa-solid fa-square");r&&(d=i.closed?"fa-solid fa-caret-right":"fa-solid fa-caret-down",o.innerHTML="<a class='"+d+" hierarchy'></a>"),d=i.icon,i.icon&&(i.icon.includes("fa-")?o.innerHTML+="<a class='"+i.icon+" tree-item-icon'></a>":o.innerHTML+="<img src='https://raw.githubusercontent.com/jxarco/lexgui.js/master/"+i.icon+"'>"),o.innerHTML+=i.rename?"":i.id,o.setAttribute("draggable",!0),o.style.paddingLeft=3+15*(t+1)+"px",c.appendChild(o),o.addEventListener("click",e=>{var t;h?h=!1:(e.shiftKey||(c.querySelectorAll("li").forEach(e=>{e.classList.remove("selected")}),this.selected.length=0),-1<(t=this.selected.indexOf(i))?(o.classList.remove("selected"),this.selected.splice(t,1)):(o.classList.add("selected"),this.selected.push(i)),r&&1<i.id.length&&(i.closed=!1,n.onevent&&(t=new y(y.NODE_CARETCHANGED,i,i.closed),n.onevent(t)),n.frefresh(i.id)),n.onevent&&((t=new y(y.NODE_SELECTED,e.shiftKey?this.selected:i)).multiple=e.shiftKey,n.onevent(t)))}),o.addEventListener("dblclick",function(){var e;(n.options.rename??!0)&&(i.rename=!0,n.refresh()),n.onevent&&(e=new y(y.NODE_DBLCLICKED,i),n.onevent(e))}),o.addEventListener("contextmenu",s=>{if(s.preventDefault(),n.onevent){const t=new y(y.NODE_CONTEXTMENU,1<this.selected.length?this.selected:i,s);t.multiple=1<this.selected.length,T.addContextMenu(t.multiple?"Selected Nodes":t.node.id,t.value,e=>{t.panel=e}),n.onevent(t),this.options.addDefault&&(t.panel.items&&t.panel.add(""),t.panel.add("Select Children",()=>{const s=e=>{if(!e.closed)for(var t of e.children??[])t&&(this.domEl.querySelector("#"+t.id).classList.add("selected"),this.selected.push(t),s(t))};this.domEl.querySelectorAll(".selected").forEach(e=>e.classList.remove("selected")),this.selected.length=0,s(i)}),t.panel.add("Delete",{callback:()=>{var e,t;i.parent&&(n.onevent&&(e=new y(y.NODE_DELETED,i,s),n.onevent(e)),t=(e=i.parent.children).indexOf(i),e.splice(t,1),this.refresh())}}))}}),o.addEventListener("keydown",e=>{if(!i.rename)if(e.preventDefault(),"Delete"==e.key){var t;n.onevent&&((a=new y(y.NODE_DELETED,1<this.selected.length?this.selected:i,e)).multiple=1<this.selected.length,n.onevent(a));for(t of this.selected){var s=t.parent.children,l=s.indexOf(t);s.splice(l,1)}this.selected.length=0,this.refresh()}else{var a;("ArrowUp"==e.key||"ArrowDown"==e.key)&&(a=1<this.selected.length?"ArrowUp"==e.key?this.selected.shift():this.selected.pop():this.selected[0],a=this.domEl.querySelector("#"+T.getSupportedDOMName(a.id)),e="ArrowUp"==e.key?a.previousSibling:a.nextSibling)&&e.click()}});l=document.createElement("input");l.toggleAttribute("hidden",!i.rename),l.className="bg-none",l.value=i.id,o.appendChild(l),i.rename&&(o.classList.add("selected"),l.focus()),l.addEventListener("keyup",function(e){var t;"Enter"==e.key?(this.value=this.value.replace(/\s/g,"_"),n.onevent&&(t=new y(y.NODE_RENAMED,i,this.value),n.onevent(t)),i.id=T.getSupportedDOMName(this.value),delete i.rename,n.frefresh(i.id),c.querySelector("#"+i.id).classList.add("selected")):"Escape"==e.key&&(delete i.rename,n.frefresh(i.id))}),l.addEventListener("blur",function(e){delete i.rename,n.refresh()}),(this.options.draggable??!0)&&(e&&o.addEventListener("dragstart",e=>{window.__tree_node_dragged=i}),o.addEventListener("dragover",e=>{e.preventDefault()},!1),o.addEventListener("dragenter",e=>{e.target.classList.add("draggingover")}),o.addEventListener("dragleave",e=>{e.target.classList.remove("draggingover")}),o.addEventListener("drop",e=>{e.preventDefault();let t=window.__tree_node_dragged;if(t){var s,e=i;if(t.id==e.id)console.warn("Cannot parent node to itself!");else{const a=function(e,t){var s,l=!1;for(s of t.children){if(s.id==e.id)return!0;l|=a(e,s)}return l};a(e,t)?console.warn("Cannot parent node to a current child!"):(n.onevent&&(s=new y(y.NODE_DRAGGED,t,e),n.onevent(s)),s=t.parent.children.findIndex(e=>e.id==t.id),s=t.parent.children.splice(s,1),e.children.push(s[0]),n.refresh(),delete window.__tree_node_dragged)}}}));let h=!1;r&&o.querySelector("a.hierarchy").addEventListener("click",function(e){if(h=!0,e.stopImmediatePropagation(),e.stopPropagation(),e.altKey){const s=function(e){e.closed=!e.closed;for(var t of e.children)s(t)};s(i)}else i.closed=!i.closed;n.onevent&&(e=new y(y.NODE_CARETCHANGED,i,i.closed),n.onevent(e)),n.frefresh(i.id)});var u=document.createElement("div");if(o.appendChild(u),i.actions)for(let e=0;e<i.actions.length;++e){let t=i.actions[e],s=document.createElement("a");s.className="lexicon "+t.icon,s.title=t.name,s.addEventListener("click",function(e){t.callback(i,s),e.stopPropagation()}),u.appendChild(s)}i.skipVisibility||((l=document.createElement("a")).className="lexicon fa-solid fa-eye"+(i.visible?"":"-slash"),l.title="Toggle visible",l.addEventListener("click",function(e){e.stopPropagation(),i.visible=void 0!==i.visible&&!i.visible,this.className="lexicon fa-solid fa-eye"+(i.visible?"":"-slash"),n.onevent&&(e=new y(y.NODE_VISIBILITY,i,i.visible),n.onevent(e))}),u.appendChild(l));const m=function(e,t){if(e.length)for(var s of e.children)return s.id==t||m(s,t)};e=m(i,s);if(!i.closed||e)for(a=0;a<i.children.length;++a){var p=i.children[a];this.options.onlyFolders&&"folder"!=p.type||this._createItem(i,p,t+1,s)}}refresh(e,t){this.data=e??this.data,this.domEl.querySelector("ul").innerHTML="",this._createItem(null,this.data,0,t)}frefresh(e){this.refresh();e=this.domEl.querySelector("#"+e);e&&e.focus()}select(e){this.refresh(null,e),this.domEl.querySelectorAll(".selected").forEach(e=>e.classList.remove("selected")),this.selected.length=0;e=this.domEl.querySelector("#"+e);e&&(e.classList.add("selected"),this.selected=[e.treeData],e.focus())}}class c extends w{constructor(e,t){super(w.BLANK),this.root.style.width=e??"auto",this.root.style.height=t??"8px"}}T.Blank=c;class q extends w{constructor(e,t={}){console.assert(e,"Can't create Title Widget without text!"),super(w.TITLE,null,null,t),this.root.className="lextitle",t.icon&&((s=document.createElement("a")).className=t.icon,s.style.color=t.iconColor||"",this.root.appendChild(s));var s=document.createElement("span");s.innerText=e,this.root.appendChild(s),Object.assign(this.root.style,t.style??{}),null!=t.link&&((s=document.createElement("a")).innerText=e,s.href=t.link,s.target=t.target??"",s.className="lextitle link",Object.assign(s.style,t.style??{}),this.root.replaceWith(s))}}T.Title=q;class z extends w{constructor(l,a,i,s={}){super(w.TEXT,l,String(a),s),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{this.valid(e)&&this._lastValueTriggered!=e&&(this._lastValueTriggered=a=e,c.value=e,t||this._trigger(new C(l,e,s),i))},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=s.inputWidth??`calc( 100% - ${t}px)`},this.valid=e=>!(e=e??this.value()).length||""==c.pattern||new RegExp(c.pattern).test(e);let n=document.createElement("div"),c=(n.className=s.warning?" lexwarning":"",n.style.display="flex",n.style.position="relative",this.root.appendChild(n),this.disabled=(s.disabled||s.warning)??!!s.url,null);var e;this.disabled?s.url?((c=document.createElement("a")).href=s.url,c.target="_blank",c.innerHTML=(s.warning?'<i class="fa-solid fa-triangle-exclamation"></i>':"")+a||"",c.style.textAlign=s.float??"",c.className="lextext ellipsis-overflow"):(c=document.createElement("input"),e=s.warning?'<i class="fa-solid fa-triangle-exclamation"></i>':"",c.disabled=!0,c.innerHTML=e,c.value=a,c.style.textAlign=s.float??"",c.className="lextext ellipsis-overflow "+(s.inputClass??"")):((c=document.createElement("input")).className="lextext "+(s.inputClass??""),c.type=s.type||"",c.value=a||"",c.style.textAlign=s.float??"",c.setAttribute("placeholder",s.placeholder??""),s.required&&c.setAttribute("required",s.required),s.pattern&&c.setAttribute("pattern",s.pattern),"default"==(e=s.trigger??"default")?(c.addEventListener("keyup",e=>{"Enter"==e.key&&c.blur()}),c.addEventListener("focusout",e=>{this.set(e.target.value,!1,e)})):"input"==e&&c.addEventListener("input",e=>{this.set(e.target.value,!1,e)}),c.addEventListener("mousedown",function(e){e.stopImmediatePropagation(),e.stopPropagation()}),s.icon&&(c.style.paddingLeft="1.75rem",(e=document.createElement("a")).className="inputicon "+s.icon,n.appendChild(e))),s.fit&&c.classList.add("size-content"),Object.assign(c.style,s.style??{}),n.appendChild(c),N(this.onResize.bind(this))}}T.TextInput=z;class F extends w{constructor(l,a,i,s={}){super(w.TEXTAREA,l,a,s),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{c.value=a=e,t||this._trigger(new C(l,e,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=s.inputWidth??`calc( 100% - ${t}px)`};let n=document.createElement("div"),c=(n.className="lextextarea",n.style.display="flex",this.root.appendChild(n),document.createElement("textarea"));c.value=a??"",c.className=s.inputClass??"",c.style.textAlign=s.float??"",Object.assign(c.style,s.style??{}),s.fitHeight&&c.classList.add("size-content"),(s.resize??!0)||c.classList.add("resize-none"),n.appendChild(c),s.disabled&&c.setAttribute("disabled",!0),s.placeholder&&c.setAttribute("placeholder",s.placeholder);var e=s.trigger??"default";"default"==e?(c.addEventListener("keyup",function(e){"Enter"==e.key&&c.blur()}),c.addEventListener("focusout",e=>{this.set(e.target.value,!1,e)})):"input"==e&&c.addEventListener("input",e=>{this.set(e.target.value,!1,e)}),s.icon&&((e=document.createElement("a")).className="inputicon "+s.icon,n.appendChild(e)),N(()=>{n.style.height=s.height??"",this.onResize()},10)}}T.TextArea=F;class P extends w{constructor(s,l,a,i={}){super(w.BUTTON,s,null,i),this.onGetValue=()=>n.querySelector("input")?.checked,this.onSetValue=(e,t,s)=>{i.swap&&this.root.setState(e,t)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=`calc( 100% - ${t}px)`};var e,n=document.createElement("button");if(n.title=i.tooltip?"":i.title??"",n.className="lexbutton "+(i.buttonClass??""),i.icon&&n.classList.add("justify-center"),this.root.appendChild(n),i.selected&&n.classList.add("selected"),i.icon){let e=null;i.icon.includes("fa-")?(e=document.createElement("a")).className=i.icon+" lexicon":e=T.makeIcon(i.icon),n.prepend(e)}else i.img?((e=document.createElement("img")).src=i.img,n.prepend(e)):n.innerHTML=`<span>${l||""}</span>`;i.disabled&&n.setAttribute("disabled",!0);let c=n;i.swap&&(n.classList.add("swap"),n.querySelector("a").classList.add("swap-off"),(e=document.createElement("input")).type="checkbox",n.prepend(e),(e=document.createElement("a")).className=i.swap+" swap-on lexicon",n.appendChild(e),this.root.swap=function(e){var t=n.querySelector("input");t.checked=!t.checked,e||c.click()},this.root.setState=function(e,t){n.querySelector("input").checked=e,t||c.click()}),c.addEventListener("click",e=>{i.selectable&&(i.parent&&i.parent.querySelectorAll(".lexbutton.selected").forEach(e=>{e!=n&&e.classList.remove("selected")}),n.classList.toggle("selected"));var t=n.querySelector("input");this._trigger(new C(s,t?.checked??l,e),a)}),i.tooltip&&T.asTooltip(n,i.title??s),N(this.onResize.bind(this))}}T.Button=P;class U extends w{constructor(l,a,e={}){const i=!e.noSelection;let n=i&&(e.toggle??!1),c=document.createElement("div"),r=(c.className="lexcombobuttons ",e.skipReset=!0,e.float&&(c.className+=e.float),[]);var o=document.createElement("div");o.className="lexcombobuttonsbox ",c.appendChild(o);for(let s of a){if(!s.value)throw"Set 'value' for each button!";let t=document.createElement("button");t.className="lexbutton combo",t.title=s.icon?s.value:"",t.id=s.id??"",t.dataset.value=s.value,e.buttonClass&&t.classList.add(e.buttonClass),i&&(s.selected||e.selected==s.value)&&(t.classList.add("selected"),r=r.concat([s.value])),t.innerHTML=(s.icon?"<a class='"+s.icon+"'></a>":"")+"<span>"+(s.icon?"":s.value)+"</span>",s.disabled&&t.setAttribute("disabled",!0),t.addEventListener("click",e=>{r=[],i&&(n?t.classList.toggle("selected"):(c.querySelectorAll("button").forEach(e=>e.classList.remove("selected")),t.classList.add("selected"))),c.querySelectorAll("button").forEach(e=>{e.classList.contains("selected")&&r.push(e.dataset.value)}),!n&&1<r.length?console.error("Enable _options.toggle_ to allow selecting multiple options in ComboButtons."):(r=r[0],this.set(s.value,!1,t.classList.contains("selected")))}),o.appendChild(t)}1<r.length?(e.toggle=!0,n=i,console.warn(`Multiple options selected in '${l}' ComboButtons. Enabling _toggle_ mode.`)):r=r[0],super(w.BUTTONS,l,null,e),this.onGetValue=()=>r,this.onSetValue=(t,e,s)=>{i&&null==s&&(c.querySelectorAll("button").forEach(e=>e.classList.remove("selected")),c.querySelectorAll("button").forEach(e=>{r&&-1<r.indexOf(e.dataset.value)&&e.classList.add("selected")})),e||t.constructor==Array||(e=s,s=a.filter(e=>e.value==t)[0]?.callback,this._trigger(new C(l,n?[t,e]:t,null),s))},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;c.style.width=`calc( 100% - ${t}px)`},this.root.appendChild(c),N(this.onResize.bind(this))}}T.ComboButtons=U;class j extends w{constructor(t,s={}){s.hideName=!0,super(w.CARD,t,null,s);let l=document.createElement("div");l.className="lexcard",l.style.width="100%",this.root.appendChild(l),s.img&&((a=document.createElement("img")).src=s.img,l.appendChild(a),null!=s.link)&&(a.style.cursor="pointer",a.addEventListener("click",function(){var e=l.querySelector("a");e&&e.click()}));var e,a=document.createElement("span");a.innerText=t,l.appendChild(a),null!=s.link&&((e=document.createElement("a")).innerText=t,e.href=s.link,e.target=s.target??"",a.innerText="",a.appendChild(e)),s.callback&&(l.style.cursor="pointer",l.addEventListener("click",e=>{this._trigger(new C(t,null,e),s.callback)}))}}T.Card=j;class G extends w{constructor(e,l,a,t={}){if(l.constructor!=Object)return void console.error("Form data must be an Object");t.hideName=!0,super(w.FORM,e,null,t),this.onGetValue=()=>n.formData,this.onSetValue=(t,s,e)=>{n.formData=t;var l,a,i=n.querySelectorAll(".lexwidget");for(let e=0;e<i.length;++e)i[e].jsInstance.type==T.Widget.TEXT&&(l=i[e].querySelector(".lexwidgetname").innerText,(a=i[e].querySelector(".lextext input")).value=t[l]??"",w._dispatchEvent(a,"focusout",s))};let n=document.createElement("div");n.className="lexformdata",n.style.width="100%",n.formData={},this.root.appendChild(n);for(let t in l){let e=l[t];(e=e.constructor!=Object?{}:e).placeholder=e.placeholder??t,e.width="100%",e.textWidget=new z(null,e.constructor==Object?e.value:e,e=>{n.formData[t]=e},e),n.appendChild(e.textWidget.root),n.formData[t]=e.constructor==Object?e.value:e}n.appendChild((new c).root);e=new P(null,t.actionName??"Submit",(e,t)=>{for(var s in l)if(!l[s].textWidget.valid())return;a&&a(n.formData,t)},{buttonClass:"primary"});n.appendChild(e.root)}}T.Form=G;class M extends w{constructor(i,n,r,c,o={}){super(w.SELECT,i,r,o),this.onGetValue=()=>r,this.onSetValue=(t,e,s)=>{r=t;let l=null;var a;g.childNodes.forEach(e=>{e.classList.remove("selected"),e.getAttribute("value")==t&&(l=e)}),console.assert(l,`Item ${t} does not exist in the Select.`),l.classList.add("selected"),h.refresh(r),p&&(p.root.querySelector("input").value="",a=this._filterOptions(n,""),m.refresh(a)),e||this._trigger(new C(i,r,s),c)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=o.inputWidth??`calc( 100% - ${t}px)`};let s=document.createElement("div"),d=(s.className="lexselect",this.root.appendChild(s),document.createElement("div"));d.className="lexselect lexoption",d.name=i;var e=d.iValue=r;e+="<a class='fa-solid fa-angle-down'></a>",o.overflowContainer&&(o.overflowContainerX=o.overflowContainerY=o.overflowContainer);let h=new P(null,e,(e,t)=>{m.unfocus_event?delete m.unfocus_event:(u.classList.remove("place-above"),u.hasAttribute("open")?u.close():(u.show(),(s=>{var l=h.root;const a=l.getBoundingClientRect();var i=s.parentElement.closest("dialog")??s.parentElement.closest(".lexcolorpicker");{var n=o.overflowContainerY??s.getParentArea(),c=s.offsetHeight;let e=a.y,t=window.innerHeight;if(n&&(n=n.getBoundingClientRect(),t=n.y+n.height),i){const a=i.getBoundingClientRect();e-=a.y,t-=a.y}s.style.top=e+l.offsetHeight+"px",e+c>t&&(s.style.top=e-c+"px",s.classList.add("place-above"))}{n=o.overflowContainerX??s.getParentArea(),l=s.offsetWidth;let e=a.x;if(s.style.minWidth=a.width+"px",i){const a=i.getBoundingClientRect();e-=a.x}s.style.left=e+"px";let t=window.innerWidth;n&&(c=n.getBoundingClientRect(),t=c.x+c.width),e+l>t&&(s.style.left=e-(l-a.width)+"px")}})(u)),p&&p.root.querySelector("input").focus())},{buttonClass:"array",skipInlineCount:!0,disabled:o.disabled});s.appendChild(h.root),h.root.style.width="100%",h.refresh=e=>{var t=h.root.querySelector("span");""==t.innerText?t.innerText=e:t.innerHTML=t.innerHTML.replaceAll(t.innerText,e)};const u=document.createElement("dialog");u.className="lexselectoptions";let m=document.createElement("ul"),p=(m.tabIndex=-1,m.className="lexoptions",u.appendChild(m),m.addEventListener("focusout",function(e){if(e.stopPropagation(),e.stopImmediatePropagation(),e.relatedTarget===h.root.querySelector("button"))this.unfocus_event=!0,setTimeout(()=>delete this.unfocus_event,200);else{if(e.relatedTarget&&("INPUT"==e.relatedTarget.tagName||e.relatedTarget.classList.contains("lexoptions")))return;if("lexinput-filter"==e.target.className)return}u.close()}),null);o.filter&&((e=T.deepCopy(o)).placeholder=e.placeholder??"Search...",e.skipWidget=e.skipWidget??!0,e.trigger="input",e.icon="fa-solid fa-magnifying-glass",e.className="lexfilter",e.inputClass="outline",(p=new z(null,o.filterValue??"",e=>{e=this._filterOptions(n,e);m.refresh(e)},e)).root.querySelector(".lextext").style.border="1px solid transparent",p.root.querySelector("input").addEventListener("focusout",function(e){e.relatedTarget&&"UL"==e.relatedTarget.tagName&&e.relatedTarget.classList.contains("lexoptions")||u.close()}),m.appendChild(p.root));const g=document.createElement("span");g.className="lexselectinnerlist",m.appendChild(g),m.refresh=t=>{var e,s;if(g.innerHTML="",t.length)for(let e=0;e<t.length;e++){var l,a=t[e],i=document.createElement("li"),n=document.createElement("div"),c=(n.className="option",i.appendChild(n),e=>{this.set(e.currentTarget.getAttribute("value"),!1,e),u.close()});i.addEventListener("click",c),a.constructor!=Object?((l="@"===a[0])?(n.innerHTML="<span>"+a.substr(1)+"</span>",i.removeEventListener("click",c)):(n.innerHTML="</a><span>"+a+"</span><a class='fa-solid fa-check'>",n.value=a,i.setAttribute("value",a),a==r&&(i.classList.add("selected"),d.innerHTML=a)),i.classList.add(l?"lexselectlabel":"lexselectitem")):((c=document.createElement("img")).src=a.src,i.setAttribute("value",a.value),i.className="lexlistitem",n.innerText=a.value,n.className+=" media",n.prepend(c),n.setAttribute("value",a.value),n.setAttribute("data-index",e),n.setAttribute("data-src",a.src),n.setAttribute("title",a.value),r==a.value&&i.classList.add("selected")),g.appendChild(i)}else s=o.emptyMsg??"No options found.",(e=document.createElement("div")).className="option",e.innerHTML=s,(s=document.createElement("li")).className="lexselectitem empty",s.appendChild(e),g.appendChild(s)},m.refresh(n),s.appendChild(u),N(this.onResize.bind(this))}_filterOptions(t,s){var l=!s.length,a=[];for(let e=0;e<t.length;e++){var i=t[e];if(!l){var n="string"==typeof i?i:i.value,c=s.toLowerCase();if(!n.toLowerCase().includes(c))continue}a.push(i)}return a}}T.Select=M;class $ extends w{constructor(l,e,a,t={}){var s=JSON.parse(JSON.stringify(e)),i=(super(w.CURVE,l,s,t),this.onGetValue=()=>JSON.parse(JSON.stringify(n.element.value)),this.onSetValue=(e,t,s)=>{n.element.value=JSON.parse(JSON.stringify(e)),n.redraw(),t||this._trigger(new C(l,n.element.value,s),a)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;i.style.width=`calc( 100% - ${t}px)`,n.canvas.width=i.offsetWidth,n.redraw()},document.createElement("div"));i.className="lexcurve",this.root.appendChild(i),t.callback=(e,t)=>{this._trigger(new C(l,e,t),a)},t.name=l;let n=new ve(e,t);i.appendChild(n.element),this.curveInstance=n,N(this.onResize.bind(this))}}T.Curve=$;class X extends w{constructor(l,e,a,t={}){var s=JSON.parse(JSON.stringify(e)),i=(super(w.DIAL,l,s,t),this.onGetValue=()=>JSON.parse(JSON.stringify(n.element.value)),this.onSetValue=(e,t,s)=>{n.element.value=JSON.parse(JSON.stringify(e)),n.redraw(),t||this._trigger(new C(l,n.element.value,s),a)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;i.style.width=`calc( 100% - ${t}px)`,n.element.style.height=n.element.offsetWidth+"px",n.canvas.width=n.element.offsetWidth,i.style.width=n.element.offsetWidth+"px",n.canvas.height=n.canvas.width,n.redraw()},document.createElement("div"));i.className="lexcurve",this.root.appendChild(i),t.callback=(e,t)=>{this._trigger(new C(l,e,t),a)},t.name=l;let n=new Le(this,e,t);i.appendChild(n.element),this.dialInstance=n,N(this.onResize.bind(this))}}T.Curve=$;class Y extends w{constructor(l,a,i,e={}){super(w.LAYERS,l,a,e),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{a=e,this.setLayers(a),t||this._trigger(new C(l,a,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=`calc( 100% - ${t}px)`};var n=document.createElement("div");n.className="lexlayers",this.root.appendChild(n),this.setLayers=l=>{n.innerHTML="";let t=l.toString(2);var s=t.length;for(let e=0;e<16-s;++e)t="0"+t;for(let s=0;s<16;++s){var e,a=document.createElement("div");a.className="lexlayer",null!=l&&null!=(e=t[16-s-1])&&"1"==e&&a.classList.add("selected"),a.innerText=s+1,a.title="Bit "+s+", value "+(1<<s),n.appendChild(a),a.addEventListener("click",e=>{e.stopPropagation(),e.stopImmediatePropagation(),e.target.classList.toggle("selected");var t=l^1<<s;this.set(t,!1,e)})}},this.setLayers(a),N(this.onResize.bind(this))}}T.Layers=Y;class K extends w{constructor(a,i=[],n,c={}){c.nameWidth="100%",super(w.ARRAY,a,null,c),this.onGetValue=()=>i,this.onSetValue=(e,t,s)=>{i=e,this._updateItems(),t||this._trigger(new C(a,i,s),n)};var e=document.createElement("div");e.className="lexarray",e.style.width="100%",this.root.appendChild(e),this.root.dataset.opened=!1;const s="<a class='fa-solid fa-angle-down'></a>";let r="Array (size "+i.length+")";r+=s;var t=new P(null,r,()=>{this.root.dataset.opened="true"!=this.root.dataset.opened,this.root.querySelector(".lexarrayitems").toggleAttribute("hidden")},{buttonClass:"array"});e.appendChild(t.root);let o=document.createElement("div");o.className="lexarrayitems",o.toggleAttribute("hidden",!0),this.root.appendChild(o),this._updateItems=()=>{var e=this.root.querySelector(".lexbutton.array span");e.innerHTML="Array (size "+i.length+")",e.innerHTML+=s,o.innerHTML="";for(let s=0;s<i.length;++s){const l=i[s];var t=c.innerValues?"select":l.constructor;let e=null;switch(t){case String:e=new z(s+"",l,function(e,t){i[s]=e,n(i)},{nameWidth:"4%",inputWidth:"95%",skipReset:!0});break;case Number:e=new ae(s+"",l,function(e,t){i[s]=e,n(i)},{nameWidth:"4%",inputWidth:"95%",skipReset:!0});break;case"select":e=new M(s+"",c.innerValues,l,function(e,t){i[s]=e,n(i)},{nameWidth:"4%",inputWidth:"95%",skipReset:!0})}console.assert(e,`Value of type ${t} cannot be modified in ItemArray`),o.appendChild(e.root);t=new P(null,"<a class='lexicon fa-solid fa-trash'></a>",(e,t)=>{i.splice(i.indexOf(l),1),this._updateItems(),this._trigger(new C(a,i,t),n)},{title:"Remove item",className:"micro"});e.root.appendChild(t.root)}r="Add item",r+="<a class='fa-solid fa-plus'></a>";e=new P(null,r,(e,t)=>{i.push(c.innerValues?c.innerValues[0]:""),this._updateItems(),this._trigger(new C(a,i,t),n)},{buttonClass:"array"});o.appendChild(e.root)},this._updateItems()}}T.ItemArray=K;class Z extends w{constructor(i,n,c,r,e={}){super(w.LIST,i,c,e),this.onGetValue=()=>c,this.onSetValue=(t,e,s)=>{o.querySelectorAll(".lexlistitem").forEach(e=>e.classList.remove("selected"));let l=null;for(let e=0;e<n.length;++e){var a=n[e];if(a==t||a.constructor==Array&&a[0]==t){l=e;break}}l?(o.children[l].classList.toggle("selected"),c=t,e||this._trigger(new C(i,t,s),r)):console.error(`Cannot find item ${t} in List.`)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;o.style.width=`calc( 100% - ${t}px)`},this._updateValues=e=>{n=e,o.innerHTML="";for(let l=0;l<n.length;++l){let e=null,t=n[l],s=(t.constructor===Array&&(e=t[1],t=t[0]),document.createElement("div"));s.className="lexlistitem"+(c==t?" selected":""),s.innerHTML="<span>"+t+"</span>"+(e?"<a class='"+e+"'></a>":""),s.addEventListener("click",e=>{o.querySelectorAll(".lexlistitem").forEach(e=>e.classList.remove("selected")),s.classList.toggle("selected"),c=t,this._trigger(new C(i,t,e),r)}),o.appendChild(s)}};let o=document.createElement("div");o.className="lexlist",this.root.appendChild(o),this._updateValues(n),N(this.onResize.bind(this))}}T.List=Z;class J extends w{constructor(l,a,i,e={}){a=a.replace(/\s/g,"").split(",");var t=[].concat(a);super(w.TAGS,l,t,e),this.onGetValue=()=>[].concat(a),this.onSetValue=(e,t,s)=>{a=[].concat(e),this.generateTags(a),t||this._trigger(new C(l,a,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=`calc( 100% - ${t}px)`};const n=document.createElement("div");n.className="lextags",this.root.appendChild(n),this.generateTags=s=>{n.innerHTML="";for(let e=0;e<s.length;++e){const a=s[e],i=document.createElement("span");i.className="lextag",i.innerHTML=a;var t=document.createElement("a");t.className="lextagrmb fa-solid fa-xmark lexicon",i.appendChild(t),t.addEventListener("click",e=>{i.remove(),s.splice(s.indexOf(a),1),this.set(s,!1,e)}),n.appendChild(i)}let l=document.createElement("input");l.value="",l.placeholder="Add tag...",n.appendChild(l),l.onkeydown=e=>{var t=l.value.replace(/\s/g,"");" "!=e.key&&"Enter"!=e.key||(e.preventDefault(),!t.length)||-1<s.indexOf(t)||(s.push(t),this.set(s,!1,e))},l.focus()},this.generateTags(a),N(this.onResize.bind(this))}}T.Tags=J;class Q extends w{constructor(l,a,i,s={}){if(!l&&!s.label)throw"Set Widget Name or at least a label!";super(w.CHECKBOX,l,a,s),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{e==a||(c.checked=a=e,this.root.querySelector(".lexcheckboxsubmenu")?.toggleAttribute("hidden",!e),t)||this._trigger(new C(l,e,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=s.inputWidth??`calc( 100% - ${t}px)`};var n=document.createElement("div");n.className="lexcheckboxcont",this.root.appendChild(n);let c=document.createElement("input");c.type="checkbox",c.className="lexcheckbox "+(s.className??"primary"),c.checked=a,c.disabled=s.disabled??!1,n.appendChild(c);var e,t=document.createElement("span");t.className="checkboxtext",t.innerHTML=s.label??"On",n.appendChild(t),c.addEventListener("change",e=>{this.set(c.checked,!1,e)}),s.suboptions&&((t=document.createElement("div")).className="lexcheckboxsubmenu",t.toggleAttribute("hidden",!c.checked),(e=new k).queue(t),s.suboptions.call(this,e),e.clearQueue(),this.root.appendChild(t)),N(this.onResize.bind(this))}}T.Checkbox=Q;class ee extends w{constructor(l,a,i,s={}){if(!l&&!s.label)throw"Set Widget Name or at least a label!";super(w.TOGGLE,l,a,s),this.onGetValue=()=>c.checked,this.onSetValue=(e,t,s)=>{e==a||(c.checked=a=e,this.root.querySelector(".lextogglesubmenu")?.toggleAttribute("hidden",!e),t)||this._trigger(new C(l,e,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=s.inputWidth??`calc( 100% - ${t}px)`};var n=document.createElement("div");n.className="lextogglecont",this.root.appendChild(n);let c=document.createElement("input");c.type="checkbox",c.className="lextoggle "+(s.className??""),c.checked=a,c.iValue=a,c.disabled=s.disabled??!1,n.appendChild(c);var e,t=document.createElement("span");t.className="toggletext",t.innerHTML=s.label??"On",n.appendChild(t),c.addEventListener("change",e=>{this.set(c.checked,!1,e)}),s.suboptions&&((t=document.createElement("div")).className="lextogglesubmenu",t.toggleAttribute("hidden",!c.checked),(e=new k).queue(t),s.suboptions.call(this,e),e.clearQueue(),this.root.appendChild(t)),N(this.onResize.bind(this))}}T.Toggle=ee;class te extends w{constructor(e,t,a,i,s={}){super(w.RADIO,e,null,s);let l=null;this.onGetValue=()=>{var e=n.querySelectorAll("button");return l?[l,e[l]]:void 0},this.onSetValue=(e,t,s)=>{e=e[0]??e,console.assert(e.constructor==Number,"RadioGroup _value_ must be an Array index!");var l=n.querySelectorAll("button"),l=(l.forEach(e=>{e.checked=!1,e.classList.remove("checked")}),l[e]);l.checked=!l.checked,l.classList.toggle("checked"),t||this._trigger(new C(null,[e,a[e]],s),i)};var n=document.createElement("div"),e=(n.className="lexradiogroup "+(s.className??""),this.root.appendChild(n),document.createElement("span"));e.innerHTML=t,n.appendChild(e);for(let t=0;t<a.length;++t){var c=document.createElement("div"),r=(c.className="lexradiogroupitem",n.appendChild(c),document.createElement("button")),o=(r.className="lexbutton",r.disabled=s.disabled??!1,c.appendChild(r),r.addEventListener("click",e=>{this.set(t,!1,e)}),document.createElement("span")),r=(r.appendChild(o),document.createElement("span"));r.innerHTML=a[t],c.appendChild(r)}s.selected&&(console.assert(s.selected.constructor==Number,"RadioGroup _selected_ must be an Array index!"),l=s.selected,this.set(l,!0))}}T.RadioGroup=te;class se extends w{constructor(l,a,i,n={}){const c=n.useAlpha??(a.constructor===Object&&"a"in a||a.constructor===String&&[5,9].includes(a.length));var e=new p(a),s=(a=c?e.hex:e.hex.substr(0,7),super(w.COLOR,l,a,n),this.onGetValue=()=>{var e=new p(a);return n.useRGB?e.rgb:a},this.onSetValue=(t,e,s)=>{t=new p(t);if(r.style.color=a=t.hex.substr(0,7),c&&(o.style.color=a=t.hex),this._skipTextUpdate||d.set(a,!0,s),!e){let e=a;n.useRGB&&(e=t.rgb,c||delete e.a),this._trigger(new C(l,e,s),i)}},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=`calc( 100% - ${t}px)`},document.createElement("span"));s.className="lexcolor",this.root.appendChild(s);let t=T.makeContainer(["18px","18px"],"flex flex-row bg-contrast rounded overflow-hidden","",s),r=(t.tabIndex="1",t.addEventListener("click",e=>{n.disabled||new E(a,t,{colorModel:n.useRGB?"RGB":"Hex",useAlpha:c,onChange:e=>{this._fromColorPicker=!0,this.set(e.hex),delete this._fromColorPicker}})}),document.createElement("div")),o=(r.className="lexcolorsample",r.style.color=a,t.appendChild(r),null);c?((o=document.createElement("div")).className="lexcolorsample",o.style.color=a,t.appendChild(o)):r.style.width="18px";const d=new z(null,a,e=>{this._skipTextUpdate=!0,this.set(e),delete this._skipTextUpdate},{width:"calc( 100% - 24px )",disabled:n.disabled});d.root.style.marginLeft="6px",s.appendChild(d.root),N(this.onResize.bind(this))}}T.ColorInput=se;class le extends w{constructor(l,a,i,n={}){super(w.RANGE,l,a,n),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{isNaN(e)||(c.value=a=g(+e,+c.min,+c.max),t)||this._trigger(new C(l,n.left?+c.max-a+ +c.min:a,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=n.inputWidth??`calc( 100% - ${t}px)`};const s=document.createElement("div");s.className="lexrange",this.root.appendChild(s);let c=document.createElement("input");c.className="lexrangeslider "+(n.className??""),c.min=n.min??0,c.max=n.max??100,c.step=n.step??1,c.type="range",c.disabled=n.disabled??!1,a.constructor==Number&&(a=g(a,+c.min,+c.max)),n.left&&(a=+c.max-a+ +c.min),c.value=a,s.appendChild(c),n.left&&c.classList.add("left"),(n.fill??!0)||c.classList.add("no-fill"),c.addEventListener("input",e=>{this.set(e.target.valueAsNumber,!1,e)},{passive:!1}),c.addEventListener("mousedown",function(e){n.onPress&&n.onPress.bind(c)(e,c)},!1),c.addEventListener("mouseup",function(e){n.onRelease&&n.onRelease.bind(c)(e,c)},!1),this.setLimits=(e,t,s)=>{c.min=e??c.min,c.max=t??c.max,c.step=s??c.step,w._dispatchEvent(c,"input",!0)},N(this.onResize.bind(this))}}T.RangeInput=le;class ae extends w{constructor(l,a,i,n={}){super(w.NUMBER,l,a,n),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{isNaN(e)||(a=g(+e,+r.min,+r.max),r.value=a=f(a,n.precision),c.querySelector(".lexinputslider")&&(c.querySelector(".lexinputslider").value=a),n.units&&(r.unitSpan.style.left=m(a)+"px"),t)||this._trigger(new C(l,a,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=n.inputWidth??`calc( 100% - ${t}px)`};var e,s=document.createElement("div");s.className="lexnumber",this.root.appendChild(s);let c=document.createElement("div"),r=(c.className="numberbox",s.appendChild(c),document.createElement("input")),o=(r.id="number_"+b(),r.className="vecinput",r.min=n.min??-1e24,r.max=n.max??1e24,r.step=n.step??"any",r.type="number",a.constructor==Number&&(a=f(a=g(a,+r.min,+r.max),n.precision)),r.value=r.iValue=a,c.appendChild(r),n.units&&((e=document.createElement("span")).className="lexunit",e.innerText=n.units,e.style.left=m(r.value)+"px",r.unitSpan=e,c.appendChild(e)),document.createElement("a"));if(o.className="fa-solid fa-arrows-up-down drag-icon hidden",c.appendChild(o),n.disabled&&(r.disabled=!0),!n.skipSlider&&void 0!==n.min&&void 0!==n.max){let l=document.createElement("input");l.className="lexinputslider",l.min=n.min,l.max=n.max,l.step=n.step??1,l.type="range",l.value=a,l.addEventListener("input",e=>{this.set(l.valueAsNumber,!1,e)},!1),l.addEventListener("mousedown",function(e){n.onPress&&n.onPress.bind(l)(e,l)},!1),l.addEventListener("mouseup",function(e){n.onRelease&&n.onRelease.bind(l)(e,l)},!1),c.appendChild(l),this.setLimits=(e,t,s)=>{r.min=l.min=e??r.min,r.max=l.max=t??r.max,r.step=s??r.step,l.step=s??l.step,this.set(a,!0)}}r.addEventListener("input",function(e){a=f(a=+this.valueAsNumber,n.precision),n.units&&(r.unitSpan.style.left=m(r.value)+"px")},!1),r.addEventListener("wheel",t=>{if(t.preventDefault(),r===document.activeElement){let e=n.step??1;t.shiftKey?e*=10:t.altKey&&(e*=.1),a=+r.valueAsNumber-e*(0<t.deltaY?1:-1),this.set(a,!1,t)}},{passive:!1}),r.addEventListener("change",e=>{this.set(r.valueAsNumber,!1,e)},{passive:!1});var d=this;let h=t=>{var s=-t.movementY;if(0!=s){let e=n.step??1;t.shiftKey?e*=10:t.altKey&&(e*=.1),a=+r.valueAsNumber+e*s,this.set(a,!1,t)}t.stopPropagation(),t.preventDefault()},u=e=>{var t=d.root.ownerDocument;t.removeEventListener("mousemove",h),t.removeEventListener("mouseup",u),document.body.classList.remove("noevents"),o.classList.add("hidden"),document.pointerLockElement&&document.exitPointerLock(),n.onRelease&&n.onRelease.bind(r)(e,r)};r.addEventListener("mousedown",e=>{var t;document.activeElement!=r&&((t=d.root.ownerDocument).addEventListener("mousemove",h),t.addEventListener("mouseup",u),document.body.classList.add("noevents"),o.classList.remove("hidden"),e.stopImmediatePropagation(),e.stopPropagation(),document.pointerLockElement||r.requestPointerLock(),n.onPress)&&n.onPress.bind(r)(e,r)}),N(this.onResize.bind(this))}}T.NumberInput=ae;class ie extends w{constructor(t,a,i,n,c={}){t=g(t,2,4),i=i??new Array(t).fill(0),super(w.VECTOR,a,[].concat(i),c),this.onGetValue=()=>{var e,t=[];for(e of this.root.querySelectorAll("input"))t.push(+e.value);return t},this.onSetValue=(t,e,s)=>{if(r.length!=t.length)console.error("Input length does not match vector length.");else{for(let e=0;e<r.length;++e){var l;l=f(g(t[e],+r[e].min,+r[e].max),c.precision)??0,r[e].value=t[e]=l}e||this._trigger(new C(a,t,s),n)}},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;l.style.width=`calc( 100% - ${t}px)`};const r=[];var l=document.createElement("div");l.className="lexvector",this.root.appendChild(l);const o=this;for(let e=0;e<t;++e){var d=document.createElement("div");d.className="vecbox",d.innerHTML="<span class='"+k.VECTOR_COMPONENTS[e]+"'></span>";let a=document.createElement("input"),s=(a.className="vecinput v"+t,a.min=c.min??-1e24,a.max=c.max??1e24,a.step=c.step??"any",a.type="number",a.id="vec"+t+"_"+b(),a.idx=e,r[e]=a,i[e].constructor==Number&&(i[e]=g(i[e],+a.min,+a.max),i[e]=f(i[e],c.precision)),a.value=a.iValue=i[e],document.createElement("a"));function h(e){var t;document.activeElement!=a&&((t=o.root.ownerDocument).addEventListener("mousemove",u),t.addEventListener("mouseup",m),document.body.classList.add("noevents"),s.classList.remove("hidden"),e.stopImmediatePropagation(),e.stopPropagation(),document.pointerLockElement||a.requestPointerLock(),c.onPress)&&c.onPress.bind(a)(e,a)}function u(t){var s=-t.movementY;if(0!=s){let e=c.step??1;if(t.shiftKey?e=10:t.altKey&&(e=.1),p.locked)for(var l of this.root.querySelectorAll(".vecinput"))l.value=f(+l.valueAsNumber+e*s,c.precision),w._dispatchEvent(l,"change");else a.value=f(+a.valueAsNumber+e*s,c.precision),w._dispatchEvent(a,"change")}t.stopPropagation(),t.preventDefault()}function m(e){var t=o.root.ownerDocument;t.removeEventListener("mousemove",u),t.removeEventListener("mouseup",m),document.body.classList.remove("noevents"),s.classList.add("hidden"),document.pointerLockElement&&document.exitPointerLock(),c.onRelease&&c.onRelease.bind(a)(e,a)}s.className="fa-solid fa-arrows-up-down drag-icon hidden",d.appendChild(s),c.disabled&&(a.disabled=!0),a.addEventListener("wheel",function(t){if(t.preventDefault(),this===document.activeElement){let e=c.step??1;if(t.shiftKey?e=10:t.altKey&&(e=.1),p.locked)for(var s of o.querySelectorAll(".vecinput"))s.value=f(+s.valueAsNumber-e*(0<t.deltaY?1:-1),c.precision),w._dispatchEvent(s,"change");else this.value=f(+this.valueAsNumber-e*(0<t.deltaY?1:-1),c.precision),w._dispatchEvent(a,"change")}},{passive:!1}),a.addEventListener("change",e=>{if(!isNaN(e.target.value)){var t=f(g(e.target.value,+a.min,+a.max),c.precision);if(p.locked)for(var s of r)s.value=t,i[s.idx]=t;else a.value=t,i[e.target.idx]=t;this.set(i,!1,e)}},!1),a.addEventListener("mousedown",h),d.appendChild(a),l.appendChild(d)}void 0===c.min&&void 0===c.max||(this.setLimits=(e,t,s)=>{for(var l of r)l.min=e??l.min,l.max=t??l.max,l.step=s??l.step;this.set(i,!0)});let p=document.createElement("a");p.title="Lock",p.className="fa-solid fa-lock-open lexicon lock",l.appendChild(p),p.addEventListener("click",function(e){this.locked=!this.locked,this.locked?(this.classList.add("fa-lock"),this.classList.remove("fa-lock-open")):(this.classList.add("fa-lock-open"),this.classList.remove("fa-lock"))},!1),N(this.onResize.bind(this))}}T.Vector=ie;class ne extends w{constructor(e,t,i,s={}){super(w.SIZE,e,t,s),this.onGetValue=()=>{var t=[];for(let e=0;e<this.root.dimensions.length;++e)t.push(this.root.dimensions[e].value());return t},this.onSetValue=(t,s,e)=>{for(let e=0;e<this.root.dimensions.length;++e)this.root.dimensions[e].set(t[e],s)},this.root.aspectRatio=2==t.length?t[0]/t[1]:null,this.root.dimensions=[];for(let a=0;a<t.length;++a){var l=new k;this.root.dimensions[a]=l.addNumber(null,t[a],e=>{var t,s,l=this.value();this.root.locked&&(t=0==a?1/this.root.aspectRatio:this.root.aspectRatio,l[s=(1+a)%2]=e*t,this.root.dimensions[s].set(l[s],!0)),i&&i(l)},{min:0,disabled:s.disabled,precision:s.precision}),this.root.appendChild(this.root.dimensions[a].root),a+1!=t.length&&((l=document.createElement("a")).className="lexsizecross fa-solid fa-xmark",this.root.appendChild(l))}if(s.units&&((e=document.createElement("span")).className="lexunit",e.innerText=s.units,this.root.appendChild(e)),this.root.aspectRatio){let s=document.createElement("a");s.title="Lock Aspect Ratio",s.className="fa-solid fa-lock-open lexicon lock",this.root.appendChild(s),s.addEventListener("click",e=>{var t;this.root.locked=!this.root.locked,this.root.locked?(s.classList.add("fa-lock"),s.classList.remove("fa-lock-open"),t=this.value(),this.root.aspectRatio=t[0]/t[1]):(s.classList.add("fa-lock-open"),s.classList.remove("fa-lock"))},!1)}}}T.SizeInput=ne;class ce extends w{constructor(l,a,i,e={}){var t=e.pattern??"xxx-xxx",s=(t.match(/x/g)||[]).length;(a=String(a)).length||(a="x".repeat(s)),super(w.OTP,l,a,e),this.onGetValue=()=>+a,this.onSetValue=(e,t,s)=>{a=e,n(a),t||this._trigger(new C(l,+e,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;r.style.width=`calc( 100% - ${t}px)`},this.disabled=e.disabled??!1;const r=document.createElement("div"),o=(r.className="lexotp flex flex-row items-center",this.root.appendChild(r),t.split("-")),n=l=>{r.innerHTML="";let t=0,a=0;for(let e=0;e<o.length;++e){var s=o[e];for(let e=0;e<s.length;++e){var i=l[t++];const n=T.makeContainer(["36px","30px"],"lexotpslot border-top border-bottom border-left px-3 cursor-text select-none font-medium outline-none","x"==i?"":i,r),c=(n.tabIndex="1",this.disabled&&n.classList.add("disabled"),t);0==e?n.className+=" rounded-l":e==s.length-1&&(n.className+=" rounded-r border-right"),n.addEventListener("click",()=>{var e;this.disabled||(r.querySelectorAll(".lexotpslot").forEach(e=>e.classList.remove("active")),(e=r.querySelectorAll(".lexotpslot")[a]).classList.add("active"),e.focus())}),n.addEventListener("blur",()=>{this.disabled||N(()=>{r.contains(document.activeElement)||r.querySelectorAll(".lexotpslot").forEach(e=>e.classList.remove("active"))},10)}),n.addEventListener("keyup",e=>{var t,s;this.disabled||(/[^0-9]+/g.test(e.key)?"ArrowLeft"==e.key||"ArrowRight"==e.key?(s="ArrowLeft"==e.key?-1:1,(t=r.querySelectorAll(".lexotpslot")[a+s])&&(r.querySelectorAll(".lexotpslot")[a].classList.remove("active"),t.classList.add("active"),t.focus(),a+=s)):"Enter"!=e.key||l.includes("x")||this.set(l):(t=e.key,console.assert(NaN!=parseInt(t)),n.innerHTML=t,l=l.substring(0,c-1)+t+l.substring(c),(s=r.querySelectorAll(".lexotpslot")[a+1])?(r.querySelectorAll(".lexotpslot")[a].classList.remove("active"),s.classList.add("active"),s.focus(),a++):this.set(l)))})}e<o.length-1&&T.makeContainer(["auto","auto"],"mx-2","-",r)}console.assert(t==l.length,"OTP Value/Pattern Mismatch!")};n(a)}}T.OTPInput=ce;class re extends w{constructor(a,e,i,s={}){super(w.PAD,a,null,s),this.onGetValue=()=>c.value.xy,this.onSetValue=(e,t,s)=>{c.value.set(e[0],e[1]),r(c.value),t||this._trigger(new C(a,c.value.xy),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;l.style.width=`calc( 100% - ${t}px)`};var l=document.createElement("div");l.className="lexpad",this.root.appendChild(l);let n=document.createElement("div"),c=(n.id="lexpad-"+a,n.className="lexinnerpad",n.style.width=s.padSize??"96px",n.style.height=s.padSize??"96px",l.appendChild(n),document.createElement("div")),r=(c.className="lexpadthumb",c.value=new T.vec2(e[0],e[1]),c.min=s.min??0,c.max=s.max??1,n.appendChild(c),e=>{var[t,s]=[n.offsetWidth,n.offsetHeight],e=new T.vec2(u(e.x,c.min,c.max,0,1),u(e.y,c.min,c.max,0,1));c.style.transform=`translate(calc( ${t*e.x}px - 50% ), calc( ${s*e.y}px - 50%)`}),o=(n.addEventListener("mousedown",function(e){var t;document.activeElement!=c&&((t=o.root.ownerDocument).addEventListener("mousemove",d),t.addEventListener("mouseup",h),document.body.classList.add("nocursor"),document.body.classList.add("noevents"),e.stopImmediatePropagation(),e.stopPropagation(),c.classList.add("active"),s.onPress)&&s.onPress.bind(c)(e,c)}),this);function d(e){var t=n.getBoundingClientRect(),t=new T.vec2(e.x-t.x,e.y-t.y),[s,l]=(t.clp(0,n.offsetWidth,t),[n.offsetWidth,n.offsetHeight]),t=t.div(new T.vec2(n.offsetWidth,n.offsetHeight));c.style.transform=`translate(calc( ${s*t.x}px - 50% ), calc( ${l*t.y}px - 50%)`,c.value=new T.vec2(u(t.x,0,1,c.min,c.max),u(t.y,0,1,c.min,c.max)),o._trigger(new C(a,c.value.xy,e),i),e.stopPropagation(),e.preventDefault()}function h(e){var t=o.root.ownerDocument;t.removeEventListener("mousemove",d),t.removeEventListener("mouseup",h),document.body.classList.remove("nocursor"),document.body.classList.remove("noevents"),c.classList.remove("active"),s.onRelease&&s.onRelease.bind(c)(e,c)}N(()=>{this.onResize(),r(c.value)})}}T.Pad=re;class oe extends w{constructor(e,t,a={}){super(w.PROGRESS,e,t,a),this.onGetValue=()=>i.value,this.onSetValue=(e,t,s)=>{this.root.querySelector("meter").value=e,l(),this.root.querySelector("span")&&(this.root.querySelector("span").innerText=e)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=`calc( 100% - ${t}px)`};const s=document.createElement("div");s.className="lexprogress",this.root.appendChild(s);let i=document.createElement("meter");i.id="lexprogressbar-"+e,i.className="lexprogressbar",i.step="any",i.min=a.min??0,i.max=a.max??1,i.low=a.low??i.low,i.high=a.high??i.high,i.optimum=a.optimum??i.optimum,i.value=t,s.appendChild(i);const l=()=>{let e=T.getThemeColor("global-selected");null!=i.low&&i.value<i.low?e=T.getThemeColor("global-color-error"):null!=i.high&&i.value<i.high&&(e=T.getThemeColor("global-color-warning")),i.style.background=`color-mix(in srgb, ${e} 20%, transparent)`};var n;if(a.showValue&&(document.getElementById("progressvalue-"+e)&&document.getElementById("progressvalue-"+e).remove(),(n=document.createElement("span")).id="progressvalue-"+e,n.style.padding="0px 5px",n.innerText=t,s.appendChild(n)),a.editable){i.classList.add("editable");let s=e=>{var t;0!=e.movementX&&(t=i.getBoundingClientRect(),t=f(u(e.offsetX-t.x,0,t.width,i.min,i.max)),this.set(t,!1,e),a.callback)&&a.callback(t,e),e.stopPropagation(),e.preventDefault()},l=e=>{var t=this.root.ownerDocument;t.removeEventListener("mousemove",s),t.removeEventListener("mouseup",l),document.body.classList.remove("noevents"),i.classList.remove("grabbing")};i.addEventListener("mousedown",e=>{var t=this.root.ownerDocument,t=(t.addEventListener("mousemove",s),t.addEventListener("mouseup",l),document.body.classList.add("noevents"),i.classList.add("grabbing"),e.stopImmediatePropagation(),e.stopPropagation(),i.getBoundingClientRect()),t=f(u(e.offsetX,0,t.width,i.min,i.max));this.set(t,!1,e)})}l(),N(this.onResize.bind(this))}}T.Progress=oe;class de extends w{constructor(e,s,l={}){super(w.FILE,e,null,l);e=l.local??!0;let a=l.type??"text",i=l.read??!0,n=(this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=`calc( 100% - ${t}px)`},document.createElement("input"));if(n.className="lexfileinput",n.type="file",n.disabled=l.disabled??!1,this.root.appendChild(n),l.placeholder&&(n.placeholder=l.placeholder),n.addEventListener("change",function(e){const t=e.target.files;t.length&&(i?(l.onBeforeRead&&l.onBeforeRead(),e=new FileReader,"text"===a?e.readAsText(t[0]):"buffer"===a?e.readAsArrayBuffer(t[0]):"bin"===a?e.readAsBinaryString(t[0]):"url"===a&&e.readAsDataURL(t[0]),e.onload=e=>{s.call(this,e.target.result,t[0])}):s(t[0]))}),n.addEventListener("cancel",function(e){s(null)}),e){let t=null;e=new P(null,"",()=>{t=t||new _("Load Settings",e=>{e.addSelect("Type",["text","buffer","bin","url"],a,e=>{a=e}),e.addButton(null,"Reload",e=>{n.dispatchEvent(new Event("change"))})},{onclose:e=>{e.remove(),t=null}})},{skipInlineCount:!0,title:"Settings",disabled:l.disabled,icon:"fa-solid fa-gear"});this.root.appendChild(e.root)}N(this.onResize.bind(this))}}T.FileInput=de;class he extends w{constructor(e,t,s={}){s.hideName=!0,super(w.TREE,e,null,s);var l=document.createElement("div"),a=(l.className="lextree",this.root.appendChild(l),e&&((c=document.createElement("span")).innerHTML=e,l.appendChild(c)),document.createElement("div"));if(a.className="lextreetools",e||(a.className+=" notitle"),s.icons)for(var i of s.icons){var n=document.createElement("a");n.title=i.name,n.className="lexicon "+i.icon,n.addEventListener("click",i.callback),a.appendChild(n)}s.filter=s.filter??!0;var c=null,c=(s.filter&&((c=document.createElement("input")).className="lexnodetree_filter",c.setAttribute("placeholder","Filter.."),c.style.width="100%",c.addEventListener("input",()=>{this.innerTree.refresh()}),(e=document.createElement("a")).className="lexicon fa-solid fa-magnifying-glass",a.appendChild(c),a.appendChild(e)),(s.icons||s.filter)&&l.appendChild(a),document.createElement("ul"));c.addEventListener("contextmenu",function(e){e.preventDefault()}),l.appendChild(c),this.innerTree=new V(l,t,s)}}T.Tree=he;class ue extends w{constructor(e,l,t={}){if(t.hideName=!0,super(w.TABS,e,null,t),l.constructor!=Array)throw"Param @tabs must be an Array!";var e=t.vertical??!0,a=!e&&(t.showNames??!1);let i=document.createElement("div"),n=(i.className="lextabscontainer",e||(i.className+=" horizontal"),document.createElement("div"));n.className="tabs",i.appendChild(n),this.root.appendChild(i);for(let e=0;e<l.length;++e){const r=l[e];console.assert(r.name);var c=0==e;let t=document.createElement("div"),s=(t.className="lextab "+(e==l.length-1?"last":"")+(c?"selected":""),t.innerHTML=(a?r.name:"")+"<a class='"+(r.icon||"fa fa-hashtag")+" "+(a?"withname":"")+"'></a>",t.title=r.name,document.createElement("div"));s.id=r.name.replace(/\s/g,""),s.className="widgets",c||s.toggleAttribute("hidden",!0),i.appendChild(s),t.addEventListener("click",e=>{n.querySelectorAll(".lextab").forEach(e=>{e.classList.remove("selected")}),t.classList.add("selected"),i.querySelectorAll(".widgets").forEach(e=>{e.toggleAttribute("hidden",!0)}),i.querySelector("#"+s.id).toggleAttribute("hidden"),r.onSelect&&r.onSelect(this,s)}),n.appendChild(t),r.onCreate&&((c=new k).queue(s),r.onCreate.call(this,c),c.clearQueue())}}}T.TabSections=ue;class me extends w{constructor(l,e,a,t={}){super(w.COUNTER,l,e,t),this.onGetValue=()=>o.count,this.onSetValue=(e,t,s)=>{e=g(e,i,n),o.count=e,o.innerHTML=e,t||this._trigger(new C(l,e,s),a)};const i=t.min??0,n=t.max??100,c=t.step??1;var s=document.createElement("div"),r=(s.className="lexcounter",this.root.appendChild(s),new P(null,"",(e,t)=>{let s=c??1;t.shiftKey&&(s*=10),this.set(o.count-s,!1,t)},{skipInlineCount:!0,title:"Minus",icon:"fa-solid fa-minus"})),r=(s.appendChild(r.root),document.createElement("div"));r.className="lexcounterbox",s.appendChild(r);const o=document.createElement("span");o.className="lexcountervalue",o.innerHTML=e,o.count=e,r.appendChild(o),t.label&&((e=document.createElement("span")).className="lexcounterlabel",e.innerHTML=t.label,r.appendChild(e));t=new P(null,"",(e,t)=>{let s=c??1;t.shiftKey&&(s*=10),this.set(o.count+s,!1,t)},{skipInlineCount:!0,title:"Plus",icon:"fa-solid fa-plus"});s.appendChild(t.root)}}T.Counter=me;class pe extends w{constructor(e,M,k={}){if(!M)throw"Data is needed to create a table!";super(w.TABLE,e,null,k),this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=`calc( 100% - ${t}px)`};const s=document.createElement("div"),l=(s.className="lextable",this.root.appendChild(s),this.centered=k.centered??!1,!0===this.centered&&s.classList.add("centered"),this.filter=k.filter??!1,this.toggleColumns=k.toggleColumns??!1,this.customFilters=k.customFilters??!1,this.activeCustomFilters={},this._currentFilter=k.filterValue,M.head=M.head??[],M.body=M.body??[],M.checkMap={},M.colVisibilityMap={},M.head.forEach((e,t)=>{M.colVisibilityMap[t]=!0}),(e,t,s,l)=>s[e]<l[e]?-t:s[e]>l[e]?t:0),_=(e,t)=>{M.body=M.body.sort(l.bind(this,e,t)),this.refresh()};if(this.filter||this.customFilters||this.toggleColumns){var t=T.makeContainer(["100%","auto"],"flex flex-row");if(this.filter&&((e=T.deepCopy(k)).placeholder=`Filter ${this.filter}...`,e.skipWidget=!0,e.trigger="input",e.inputClass="outline",e=new z(null,this._currentFilter??"",e=>{this._currentFilter=e,this.refresh()},e),t.appendChild(e.root)),this.customFilters){var a=T.makeIcon("circle-plus",null,"sm");for(let l of this.customFilters){const i=new P(null,a.innerHTML+l.name,e=>{var t=l.options.map((e,t)=>({name:e,checked:!!this.activeCustomFilters[e],callback:(e,t,s)=>{s?this.activeCustomFilters[e]=l.name:delete this.activeCustomFilters[e],this.refresh()}}));new A(i.root,t,{side:"bottom",align:"start"})},{buttonClass:" primary dashed"});t.appendChild(i.root)}this._resetCustomFiltersBtn=new P(null,"resetButton",e=>{this.activeCustomFilters={},this.refresh(),this._resetCustomFiltersBtn.root.classList.add("hidden")},{title:"Reset filters",icon:"fa fa-xmark"}),t.appendChild(this._resetCustomFiltersBtn.root),this._resetCustomFiltersBtn.root.classList.add("hidden")}this.toggleColumns&&(e=T.makeIcon("sliders"),e=new P("toggleColumnsBtn",e.innerHTML+"View",(e,t)=>{var s=M.head.map((e,t)=>{e={name:e,icon:"check",callback:()=>{M.colVisibilityMap[t]=!M.colVisibilityMap[t],S.querySelectorAll(`tr > *:nth-child(${t+this.rowOffsetCount+1})`).forEach(e=>{e.style.display="none"===e.style.display?"":"none"})}};return M.colVisibilityMap[t]||delete e.icon,e});new A(t.target,s,{side:"bottom",align:"end"})},{hideName:!0}),t.appendChild(e.root),e.root.style.marginLeft="auto"),s.appendChild(t)}const S=document.createElement("table");s.appendChild(S),this.refresh=()=>{this._currentFilter=this._currentFilter??"",S.innerHTML="",this.rowOffsetCount=0;var e,t,s=document.createElement("thead"),l=(s.className="lextablehead",S.appendChild(s),document.createElement("tr"));k.sortable&&((e=document.createElement("th")).style.width="0px",l.appendChild(e),this.rowOffsetCount++),k.selectable&&((e=document.createElement("th")).style.width="0px",(t=document.createElement("input")).type="checkbox",t.className="lexcheckbox accent",t.checked=M.checkMap[":root"]??!1,e.appendChild(t),t.addEventListener("change",function(){M.checkMap[":root"]=this.checked;for(const e of S.querySelector("tbody").childNodes)M.checkMap[e.getAttribute("rowId")]=this.checked,e.querySelector("input[type='checkbox']").checked=this.checked}),this.rowOffsetCount++,l.appendChild(e));for(const n of M.head){var a=document.createElement("th");a.innerHTML=`<span>${n}</span>`,a.querySelector("span").appendChild(T.makeIcon("menu-arrows",null,"sm"));const L=M.head.indexOf(n),b=(this.centered&&-1<this.centered.indexOf(L)&&a.classList.add("centered"),[{name:"Asc",icon:"up",callback:_.bind(this,L,1)},{name:"Desc",icon:"down",callback:_.bind(this,L,-1)}]);this.toggleColumns&&b.push(null,{name:"Hide",icon:"eye-slash",callback:()=>{M.colVisibilityMap[L]=!1,S.querySelectorAll(`tr > *:nth-child(${L+this.rowOffsetCount+1})`).forEach(e=>{e.style.display="none"===e.style.display?"":"none"})}}),a.addEventListener("click",e=>{new A(e.target,b,{side:"bottom",align:"start"})}),l.appendChild(a)}k.rowActions&&((t=document.createElement("th")).className="sm",l.appendChild(t)),s.appendChild(l);{var c,r=document.createElement("tbody");r.className="lextablebody",S.appendChild(r);let a=null,l=!1,i=null,n=(document.addEventListener("mouseup",e=>{var t,s,l;a&&(document.removeEventListener("mousemove",n),(t=S.rows[a]).dY=0,t.classList.remove("dragging"),Array.from(S.rows).forEach(e=>{e.style.transform="",e.style.transition="none"}),D(t),i&&(t=a-1,s=i[1]-1,l=M.body[t],M.body[t]=M.body[s],M.body[s]=l,i[0].parentNode.insertChildAtIndex(i[0],i[1]),i=null),a=null,N(()=>{Array.from(S.rows).forEach(e=>{e.style.transition="transform 0.2s ease-in"})}))}),e=>{var t;a&&((t=S.rows[a]).dY=t.dY??0,t.dY+=e.movementY,t.style.transform=`translateY(${t.dY}px)`)});for(let s=0;s<M.body.length;++s){const C=M.body[s];if(this.filter){var o=M.head.indexOf(this.filter);if(-1<o)if(!H(C[o]).toLowerCase().includes(this._currentFilter.toLowerCase()))continue}if(Object.keys(this.activeCustomFilters).length){var d,h={};for(d in this._resetCustomFiltersBtn.root.classList.remove("hidden"),this.activeCustomFilters){var u=this.activeCustomFilters[d],m=(h[u]=h[u]??!1,M.head.indexOf(u));-1<m&&(h[u]|=C[m]===d)}if(!Object.values(h).reduce((e,t)=>t*e))continue}const y=document.createElement("tr"),E=T.getSupportedDOMName(C.join("-"));y.setAttribute("rowId",E.substr(0,32)),k.sortable&&((o=document.createElement("td")).style.width="0px",c=T.makeIcon("grip-vertical"),o.appendChild(c),c.draggable=!0,c.addEventListener("dragstart",e=>{e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),a=y.rowIndex,y.classList.add("dragging"),document.addEventListener("mousemove",n)},!1),y.addEventListener("mouseenter",function(e){var t;e.preventDefault(),a&&this.rowIndex!=a&&l!=this.rowIndex&&(l=this.rowIndex,e=S.rows[a],t=""!=this.style.transform,this.rowIndex>a?(i=[e,t?this.rowIndex-1:this.rowIndex],this.style.transform=t?"":`translateY(-${this.offsetHeight}px)`):(i=[e,t?this.rowIndex:this.rowIndex-1],this.style.transform=t?"":`translateY(${this.offsetHeight}px)`),N(()=>{l=!1}))}),y.appendChild(o)),k.selectable&&(c=document.createElement("td"),(f=document.createElement("input")).type="checkbox",f.className="lexcheckbox accent",f.checked=M.checkMap[E],c.appendChild(f),f.addEventListener("change",function(){M.checkMap[E]=this.checked;var e=S.querySelector("thead input[type='checkbox']");this.checked?Array.from(S.querySelectorAll("tbody input[type='checkbox']")).filter(e=>!e.checked).length||(e.checked=M.checkMap[":root"]=!0):e.checked=M.checkMap[":root"]=!1}),y.appendChild(c));for(const x of C){var p=document.createElement("td"),g=(p.innerHTML=""+x,C.indexOf(x));this.centered&&-1<this.centered.indexOf(g)&&p.classList.add("centered"),y.appendChild(p)}if(k.rowActions){var f=document.createElement("td"),v=(f.style.width="0px",document.createElement("div"));v.className="lextablebuttons",f.appendChild(v);for(const w of k.rowActions){let e=null;"delete"==w?(e=T.makeIcon("trash-can","Delete Row")).addEventListener("click",function(){M.body.splice(s,1),y.remove()}):"menu"==w?(e=T.makeIcon("more-horizontal","Menu")).addEventListener("click",function(e){var t;k.onMenuAction&&(t=k.onMenuAction(s,M),console.assert(t.length,"Add items to the Menu Action Dropdown!"),new A(e.target,t,{side:"bottom",align:"end"}))}):(console.assert(w.constructor==Object),e=T.makeIcon(w.icon,w.title),w.callback&&e.addEventListener("click",e=>{w.callback(C,S,e)&&this.refresh()})),console.assert(e),v.appendChild(e)}y.appendChild(f)}r.appendChild(y)}}for(const z in M.colVisibilityMap){var i=parseInt(z);M.colVisibilityMap[i]||S.querySelectorAll(`tr > *:nth-child(${i+this.rowOffsetCount+1})`).forEach(e=>{e.style.display="none"===e.style.display?"":"none"})}},this.refresh(),N(this.onResize.bind(this))}}T.Table=pe;class k{constructor(e={}){var t=document.createElement("div");t.className="lexpanel",e.id&&(t.id=e.id),e.className&&(t.className+=" "+e.className),t.style.width=e.width||"100%",t.style.height=e.height||"100%",Object.assign(t.style,e.style??{}),this.root=t,this.branches=[],this.widgets={},this._branchOpen=!1,this._currentBranch=null,this._queue=[],this._inlineWidgetsLeft=-1,this._inline_queued_container=null}get(e){return this.widgets[e]}getValue(e){var t=this.widgets[e];if(t)return t.value();throw"No widget called "+e}setValue(e,t,s){var l=this.widgets[e];if(l)return l.set(t,s);throw"No widget called "+e}attach(e){console.assert(e,"No content to attach!"),(e.parent=this).root.appendChild(e.root||e)}clear(){for(var t in this._branchOpen=!1,this.branches=[],this._currentBranch=null,this.widgets)if(this.widgets[t].options&&this.widgets[t].options.signal){var s=this.widgets[t].options.signal;for(let e=0;e<T.signals[s].length;e++)T.signals[s][e]==this.widgets[t]&&(T.signals[s]=[...T.signals[s].slice(0,e),...T.signals[s].slice(e+1)])}if(this.signals)for(let e=0;e<this.signals.length;e++){var l=Object.values(this.signals[e])[0],a=l.options.signal;for(let e=0;e<T.signals[a].length;e++)T.signals[a][e]==l&&(T.signals[a]=[...T.signals[a].slice(0,e),...T.signals[a].slice(e+1)])}this.widgets={},this.root.innerHTML=""}sameLine(e){this._inline_queued_container=this.queuedContainer,this._inlineWidgetsLeft=e||1/0}endLine(e){if(-1==this._inlineWidgetsLeft)console.warn("No pending widgets to be inlined!");else{this._inlineWidgetsLeft=-1,this._inlineContainer||(this._inlineContainer=document.createElement("div"),this._inlineContainer.className="lexinlinewidgets",e&&(this._inlineContainer.className+=" "+e));for(var t of this._inlineWidgets)t.constructor==Array?(this._inline_queued_container?this._inlineContainer:t[1]).appendChild(t[0]):this._inlineContainer.appendChild(t);(this._inline_queued_container||(this._currentBranch?this._currentBranch.content:this.root)).appendChild(this._inlineContainer),delete this._inlineWidgets,delete this._inlineContainer}}branch(e,t={}){this._branchOpen&&this.merge();e=new ge(e,t);return(e.panel=this)._branchOpen=!0,this._currentBranch=e,0==this.branches.length&&e.root.classList.add("first"),this.root.querySelectorAll(".lexbranch.last").forEach(e=>{e.classList.remove("last")}),e.root.classList.add("last"),this.branches.push(e),this.root.appendChild(e.root),t.filter&&this._addFilter(t.filter,{callback:this._searchWidgets.bind(this,e.name)}),e}merge(){this._branchOpen=!1,this._currentBranch=null}_pick(e,t){return void 0===e?t:e}_attachWidget(t,s={}){null!=t.name&&(this.widgets[t.name]=t),t.options.signal&&!t.name&&(this.signals||(this.signals=[]),this.signals.push({[t.options.signal]:t}));var e=e=>{(s.container||this.queuedContainer||(this._currentBranch?(s.skipWidget||this._currentBranch.widgets.push(t),this._currentBranch.content):(e.className+=" nobranch w-full",this.root))).appendChild(e)},l=e=>{this.queuedContainer?this._inlineWidgets.push([e,this.queuedContainer]):this._inlineWidgets.push(e)};return 0<this._inlineWidgetsLeft&&!s.skipInlineCount?(this._inlineWidgets||(this._inlineWidgets=[]),l(t.root),this._inlineWidgetsLeft--,this._inlineWidgetsLeft||this.endLine()):e(t.root),t}_addFilter(e,t={}){t.placeholder=e.constructor==String?e:"Filter properties..",t.skipWidget=t.skipWidget??!0,t.skipInlineCount=!0;e=new z(null,null,null,t).root;e.className+=" lexfilter";let s=document.createElement("input");s.className="lexinput-filter",s.setAttribute("placeholder",t.placeholder),s.style.width="100%",s.value=t.filterValue||"";var l=document.createElement("a");return l.className="fa-solid fa-magnifying-glass",e.appendChild(l),e.appendChild(s),s.addEventListener("input",e=>{t.callback&&t.callback(s.value,e)}),e}_searchWidgets(e,t){for(var s of this.branches)if(s.name===e){for(var l of s.widgets)l.domEl.classList.contains("lexfilter")||l.domEl.remove();this.queue(s.content);var a,i=!t.length;for(a of s.widgets){if(!i){if(!a.name)continue;t.toLowerCase();if(!a.name.toLowerCase().includes(t))continue}this.queuedContainer.appendChild(a.domEl)}return void this.clearQueue()}}getBranch(t){return t?this.branches.find(e=>e.name==t):this._currentBranch}queue(e){!e&&this._currentBranch&&(e=this._currentBranch.root),this.queuedContainer&&this._queue.push(this.queuedContainer),this.queuedContainer=e}clearQueue(){this._queue&&this._queue.length?this.queuedContainer=this._queue.pop():delete this.queuedContainer}addSeparator(){var e=document.createElement("div"),t=(e.className="lexseparator",new w(w.SEPARATOR));t.root=e,this._currentBranch?(this._currentBranch.content.appendChild(e),this._currentBranch.widgets.push(t)):this.root.appendChild(e)}addBlank(e,t){e=new c(e,t);return this._attachWidget(e)}addTitle(e,t={}){e=new q(e,t);return this._attachWidget(e)}addText(e,t,s,l={}){e=new z(e,t,s,l);return this._attachWidget(e)}addTextArea(e,t,s,l={}){e=new F(e,t,s,l);return this._attachWidget(e)}addLabel(e,t={}){t.disabled=!0,t.inputClass=(t.inputClass??"")+" nobg";e=this.addText(null,e,null,t);return e.type=w.LABEL,e}addButton(e,t,s,l={}){e=new P(e,t,s,l);return this._attachWidget(e)}addComboButtons(e,t,s={}){e=new U(e,t,s);return this._attachWidget(e)}addCard(e,t={}){e=new j(e,t);return this._attachWidget(e)}addForm(e,t,s,l={}){e=new G(e,t,s,l);return this._attachWidget(e)}addContent(e,t,s={}){console.assert(t,"Empty content!"),t.constructor==String&&((l=document.createElement("div")).innerHTML=t,t=1<l.childElementCount?l:l.firstElementChild),s.hideName=!0;var l=new w(w.CONTENT,e,null,s);return l.root.appendChild(t),this._attachWidget(l)}async addImage(e,t,s={}){console.assert(t,"Empty src/url for Image!");var l=document.createElement("div"),a=(l.className="leximage",l.style.width="100%",document.createElement("img")),t=(a.src=t,Object.assign(a.style,s.style??{}),l.appendChild(a),new w(w.IMAGE,e,null,s));return t.root.appendChild(l),a.decode(),this._attachWidget(t)}addSelect(e,t,s,l,a={}){e=new M(e,t,s,l,a);return this._attachWidget(e)}addCurve(e,t,s,l={}){e=new $(e,t,s,l);return this._attachWidget(e)}addDial(e,t,s,l={}){e=new X(e,t,s,l);return this._attachWidget(e)}addLayers(e,t,s,l={}){e=new Y(e,t,s,l);return this._attachWidget(e)}addArray(e,t=[],s,l={}){e=new K(e,t,s,l);return this._attachWidget(e)}addList(e,t,s,l,a={}){e=new Z(e,t,s,l,a);return this._attachWidget(e)}addTags(e,t,s,l={}){e=new J(e,t,s,l);return this._attachWidget(e)}addCheckbox(e,t,s,l={}){e=new Q(e,t,s,l);return this._attachWidget(e)}addToggle(e,t,s,l={}){e=new ee(e,t,s,l);return this._attachWidget(e)}addRadioGroup(e,t,s,l,a={}){e=new te(e,t,s,l,a);return this._attachWidget(e)}addColor(e,t,s,l={}){e=new se(e,t,s,l);return this._attachWidget(e)}addRange(e,t,s,l={}){e=new le(e,t,s,l);return this._attachWidget(e)}addNumber(e,t,s,l={}){e=new ae(e,t,s,l);return this._attachWidget(e)}static VECTOR_COMPONENTS={0:"x",1:"y",2:"z",3:"w"};_addVector(e,t,s,l,a={}){e=new ie(e,t,s,l,a);return this._attachWidget(e)}addVector2(e,t,s,l){return this._addVector(2,e,t,s,l)}addVector3(e,t,s,l){return this._addVector(3,e,t,s,l)}addVector4(e,t,s,l){return this._addVector(4,e,t,s,l)}addSize(e,t,s,l={}){e=new ne(e,t,s,l);return this._attachWidget(e)}addOTP(e,t,s,l={}){e=new ce(e,t,s,l);return this._attachWidget(e)}addPad(e,t,s,l={}){e=new re(e,t,s,l);return this._attachWidget(e)}addProgress(e,t,s={}){e=new oe(e,t,s);return this._attachWidget(e)}addFile(e,t,s={}){e=new de(e,t,s);return this._attachWidget(e)}addTree(e,t,s={}){e=new he(e,t,s);return this._attachWidget(e)}addTabSections(e,t,s={}){e=new ue(e,t,s);return this._attachWidget(e)}addCounter(e,t,s,l={}){e=new me(e,t,s,l);return this._attachWidget(e)}addTable(e,t,s={}){e=new pe(e,t,s);return this._attachWidget(e)}}T.Panel=k;class ge{constructor(e,t={}){this.name=e;var s=document.createElement("div"),l=(s.className="lexbranch",t.id&&(s.id=t.id),t.className&&(s.className+=" "+t.className),s.style.margin="0 auto",this),a=(this.root=s,this.widgets=[],document.createElement("div")),i=(a.className="lexbranchtitle",t.icon&&(a.innerHTML="<a class='branchicon "+t.icon+"'>"),a.innerHTML+=e||"Branch",a.innerHTML+="<a class='fa-solid fa-angle-right switch-branch-button'></a>",s.appendChild(a),document.createElement("div"));i.id=e.replace(/\s/g,""),i.className="lexbranchcontent",s.appendChild(i),this.content=i,this._addBranchSeparator(),t.closed&&(a.classList.add("closed"),s.classList.add("closed"),this.grabber.setAttribute("hidden",!0),N(()=>{this.content.setAttribute("hidden",!0)},10)),this.onclick=function(e){this.classList.toggle("closed"),this.parentElement.classList.toggle("closed"),l.content.toggleAttribute("hidden"),l.grabber.toggleAttribute("hidden"),T.emit("@on_branch_closed",this.classList.contains("closed"))},this.oncontextmenu=function(t){t.preventDefault(),t.stopPropagation(),this.parentElement.classList.contains("dialog")||S("Dock",t,e=>{t.preventDefault(),e.add("Floating",l._onMakeFloating.bind(l))},{icon:"fa-regular fa-window-restore"})},a.addEventListener("click",this.onclick),a.addEventListener("contextmenu",this.oncontextmenu)}_onMakeFloating(){new _(this.name,e=>{for(var t of this.widgets)e.root.appendChild(t.root)}).widgets=this.widgets;var e=this.root.parentElement,t=(this.root.remove(),e.querySelector(".lexbranch")),t=(t&&t.classList.add("first"),e.querySelectorAll(".lexbranch"));t.length&&t[t.length-1].classList.add("last")}_addBranchSeparator(){var e=document.createElement("div");e.className="lexwidgetseparator",e.style.width="100%",e.style.background="none";const s=document.createElement("div"),l=(s.innerHTML="▾",e.appendChild(s),N(()=>{s.style.marginLeft=parseFloat(T.DEFAULT_NAME_WIDTH)/100*this.content.offsetWidth+"px"},10),document.createElement("div"));l.style.width="1px",l.style.marginLeft="6px",l.style.marginTop="2px",l.style.height="0px",s.appendChild(l),s.addEventListener("mousedown",function(e){var t=a.root.ownerDocument;t.addEventListener("mouseup",n),t.addEventListener("mousemove",i),e.stopPropagation(),e.preventDefault();t=a.root.offsetHeight-a.root.children[0].offsetHeight;l.style.height=t-3+"px",document.body.classList.add("nocursor")}),this.grabber=s;let a=this;function i(e){var t,e=e.movementX;0!=e&&(t=parseFloat(s.style.marginLeft),s.style.marginLeft=g(t+e,32,a.content.offsetWidth-32)+"px")}function n(e){a._updateWidgets(),l.style.height="0px";var t=a.root.ownerDocument;t.removeEventListener("mouseup",n),t.removeEventListener("mousemove",i),document.body.classList.remove("nocursor")}this.content.appendChild(e)}_updateWidgets(){var t=this.grabber.style.marginLeft;for(let e=0;e<this.widgets.length;e++){var s=this.widgets[e],l=s.root;if(!(l.children.length<2)){var a=l.children[0],l=l.children[1];switch(a.style.width=t,a.style.minWidth=t,s.type){case w.CUSTOM:case w.ARRAY:continue}l.style.width="-moz-calc( 100% - "+t+" )",l.style.width="-webkit-calc( 100% - "+t+" )",l.style.width="calc( 100% - "+t+" )"}}}}T.Branch=ge;T.Footer=class{constructor(e={}){var t=document.createElement("footer"),s=(t.className="lexfooter "+(e.className??""),document.createElement("div"));if(s.style.minHeight="48px",s.className="w-full",t.appendChild(s),e.columns&&e.columns.constructor==Array){var l,a=document.createElement("div");a.className="columns",a.style.gridTemplateColumns="1fr ".repeat(e.columns.length),s.appendChild(a);for(l of e.columns){var i=document.createElement("div"),n=(i.className="col",a.appendChild(i),document.createElement("h2"));if(n.innerHTML=l.title,i.appendChild(n),l.items&&l.items.length){var c,r=document.createElement("ul");i.appendChild(r);for(c of l.items){var o=document.createElement("li");o.innerHTML=`<a class="" href="${c.link}">${c.title}</a>`,r.appendChild(o)}}}}if(e.credits||e.socials){var d=document.createElement("div");if(d.className="credits-and-socials",s.appendChild(d),e.credits&&((s=document.createElement("p")).innerHTML=e.credits,d.appendChild(s)),e.socials){var h,u=document.createElement("div");u.className="social";for(h of e.socials){var m=document.createElement("a");m.title=h.title,m.innerHTML=h.icon,m.href=h.link,m.target="_blank",u.appendChild(m)}d.appendChild(u)}}(e.parent??document.body).appendChild(t),t.previousElementSibling.style.height="unset",t.previousElementSibling.style.flexGrow="1",this.root=t}};class _{static _last_id=0;constructor(n,e,t={}){e||console.warn("Content is empty, add some widgets using 'callback' parameter!"),this._oncreate=e,this.id=b();const s=t.size??[],l=t.position??[],a=t.draggable??!0,i=t.modal??!1;let c=document.createElement("dialog"),r=(c.className="lexdialog "+(t.className??""),c.id=t.id??"dialog"+_._last_id++,T.root.appendChild(c),N(()=>{i?c.showModal():c.show()},10),this);var o=document.createElement("div"),d=(n&&(o.className="lexdialogtitle",o.innerHTML=n,o.setAttribute("draggable",!1),o.oncontextmenu=function(i){i.preventDefault(),i.stopPropagation(),T.main_area&&"horizontal"===T.main_area.type&&S("Dock",i,e=>{i.preventDefault();function l(e){let t=e.panels[0];if(t)return t;for(var s of e.sections)if(t=l(s))return t}function t(e){let t=e.branches.find(e=>e.name===n);t?e.root.appendChild(t.root):(e.branch(n),t=e.branches.find(e=>e.name===n));for(var s of r.widgets)t.content.appendChild(s.root);t.widgets=r.widgets,e.root.querySelectorAll(".lexbranch.last").forEach(e=>{e.classList.remove("last")}),t.root.classList.add("last"),c.remove()}let s=l(T.main_area.sections[1]),a=(e.add('<i class="fa-regular fa-window-maximize fa-window-maximize fa-rotate-90">',{disabled:!s,id:"dock_options0",callback:()=>{t(s)}}),l(T.main_area.sections[0]));e.add('<i class="fa-regular fa-window-maximize fa-window-maximize fa-rotate-270">',{disabled:!a,id:"dock_options1",callback:()=>{t(a)}})},{icon:"fa-regular fa-window-restore"})},c.appendChild(o)),(t.closable??!0)&&(this.close=()=>{t.onBeforeClose&&t.onBeforeClose(this),t.onclose?t.onclose(this.root):(c.close(),N(()=>{r.panel.clear(),c.remove()},150))},(d=document.createElement("a")).className="lexdialogcloser fa-solid fa-xmark",d.title="Close",d.addEventListener("click",this.close),(n?o:(d.classList.add("notitle"),c)).appendChild(d)),new k);d.root.classList.add("lexdialogcontent"),n||d.root.classList.add("notitle"),e&&e.call(this,d),c.appendChild(d.root),d.root.querySelectorAll(".lexbranch").forEach(e=>e.classList.add("dialog")),this.panel=d,this.root=c,this.title=o,a&&h(c,Object.assign({targetClass:"lexdialogtitle"},t)),s.length&&"string"!=typeof s[0]&&(s[0]+="px"),s.length&&"string"!=typeof s[1]&&(s[1]+="px"),c.style.width=s[0]||"25%",c.style.height=s[1]||"auto",c.style.translate=t.position?"unset":"-50% -50%",t.size&&(this.size=s),c.style.left=l[0]??"50%",c.style.top=l[1]??"50%",d.root.style.height=n?"calc( 100% - "+(o.offsetHeight+30)+"px )":"calc( 100% - 51px )"}destroy(){this.root.remove()}refresh(){this.panel.root.innerHTML="",this._oncreate.call(this,this.panel)}setPosition(e,t){this.root.style.left=e+"px",this.root.style.top=t+"px"}setTitle(e){var t=this.root.querySelector(".lexdialogtitle");t&&(t.innerText=e)}}T.Dialog=_;class r extends _{static TOP=0;static BOTTOM=1;constructor(e,t,s={}){s.draggable=s.draggable??!1,s.closable=s.closable??!1;super(e,t,s);let l=this;if(T.addSignal("@on_branch_closed",this.panel,e=>{this.dock_pos==r.BOTTOM&&(this.root.style.top="calc(100% - "+(this.root.offsetHeight+3)+"px)")}),this.root.classList.add("pocket"),this.root.style.translate="none",this.root.style.top="0",this.root.style.left="unset",s.position||(this.root.style.right="3px",this.root.style.top="3px"),this.panel.root.style.width="100%",this.panel.root.style.height="100%",this.dock_pos=r.TOP,this.minimized=!1,this.title.tabIndex=-1,this.title.addEventListener("click",e=>{this.title.eventCatched?this.title.eventCatched=!1:(this.size&&(this.minimized?this.root.style.height=this.size[1]:this.root.style.height="auto"),this.root.classList.toggle("minimized"),this.minimized=!this.minimized,this.dock_pos==r.BOTTOM&&(l.root.style.top=this.root.classList.contains("minimized")?"calc(100% - "+(l.title.offsetHeight+6)+"px)":"calc(100% - "+(l.root.offsetHeight+3)+"px)"))}),!s.draggable){var a=s.float;if(a)for(let e=0;e<a.length;e++)switch(a[e]){case"b":this.root.style.top="calc(100% - "+(this.root.offsetHeight+3)+"px)";break;case"l":this.root.style.right="unset",this.root.style.left=s.position?s.position[1]:"3px"}this.root.classList.add("dockable"),this.title.addEventListener("keydown",function(e){e.ctrlKey&&(l.root.style.right="unset","ArrowLeft"==e.key?l.root.style.left="0px":"ArrowRight"==e.key?l.root.style.left="calc(100% - "+(l.root.offsetWidth+3)+"px)":"ArrowUp"==e.key?(l.root.style.top="0px",l.dock_pos=r.TOP):"ArrowDown"==e.key&&(l.root.style.top="calc(100% - "+(l.root.offsetHeight+3)+"px)",l.dock_pos=r.BOTTOM))})}}}T.PocketDialog=r;class fe{constructor(e,t,s={}){document.body.querySelectorAll(".lexcontextmenu").forEach(e=>e.remove()),this.root=document.createElement("div"),this.root.className="lexcontextmenu",this.root.style.left=e.x-48+"px",this.root.style.top=e.y-8+"px",this.root.addEventListener("mouseleave",function(){this.remove()}),this.items=[],this.colors={},t&&((e={})[t]=[],e.className="cmtitle",e.icon=s.icon,this.items.push(e))}_adjustPosition(e,t,s=!1){var l=e.getBoundingClientRect();s?((s=window.innerWidth-l.right)<0&&(e.style.left=e.offsetLeft+(s-t)+"px"),(s=window.innerHeight-(l.top+l.height))<0&&(e.style.top=e.offsetTop+(s-t+20)+"px")):(s=l.width,l.left<0?e.style.left=t+"px":window.innerWidth-l.right<0&&(e.style.left=window.innerWidth-s-t+"px"),l.top<0?e.style.top=t+"px":l.top+l.height>window.innerHeight&&(e.style.top=window.innerHeight-l.height-t+"px"))}_createSubmenu(t,s,e,l){this.root.querySelectorAll(".lexcontextmenu").forEach(e=>e.remove());var a=document.createElement("div");a.className="lexcontextmenu",e.appendChild(a);for(let e=0;e<t[s].length;++e){var i=t[s][e],n=Object.keys(i)[0];this._createEntry(i,n,a,l)}e=e.getBoundingClientRect();a.style.left=e.x+e.width+"px",a.style.marginTop="-31px",this._adjustPosition(a,6)}_createEntry(t,s,e,l){const a=t[s].length;let i=document.createElement("div");i.className="lexmenuboxentry"+(t.className?" "+t.className:""),i.id=t.id??"eId"+d(s),i.innerHTML="";var n=t.icon;n&&(i.innerHTML+="<a class='"+n+" fa-sm'></a>");const c=t.disabled;i.innerHTML+="<div class='lexentryname"+(c?" disabled":"")+"'>"+s+"</div>",e.appendChild(i),this.colors[s]&&(i.style.borderColor=this.colors[s]),""==s?i.className+=" cmseparator":(i.addEventListener("click",e=>{e.stopPropagation(),e.stopImmediatePropagation(),c||((e=t.callback)&&(e.call(this,s,i),this.root.remove()),a&&"click"==T.OPEN_CONTEXTMENU_ENTRY&&this._createSubmenu(t,s,i,++l))}),a&&((n=document.createElement("a")).className="fa-solid fa-bars-staggered fa-xs",i.appendChild(n),"mouseover"==T.OPEN_CONTEXTMENU_ENTRY&&i.addEventListener("mouseover",e=>{i.built||(i.built=!0,this._createSubmenu(t,s,i,++l),e.stopPropagation())}),i.addEventListener("mouseleave",()=>{l=-1,e.querySelectorAll(".lexcontextmenu").forEach(e=>e.remove())})))}onCreate(){N(()=>this._adjustPosition(this.root,6))}add(e,i={}){i.constructor==Function&&(i={callback:i});const n=(e+="").split("/");var t,s,e=n[n.length-1];this.colors[e]=i.color;let c=0;const r=(l,e)=>{if(null!=l){let s=null;var t,a;e.forEach(e=>{var t=Object.keys(e).find(e=>e==l);t&&(s=e[t])}),s?r(n[c++],s):((t={})[l]=[],(a=n[c++])||(t.id=i.id,t.callback=i.callback,t.disabled=i.disabled??!1),e.push(t),r(a,t[l]))}},o=(r(n[c++],this.items),e=>{let t=Object.keys(e)[0];var s,l=e[t];if(l.length){null==l.find(e=>Object.keys(e)[0]==t)&&((l={})[t]=[],l.className="cmtitle",e[t].unshift(l));for(s of e[t]){var a=Object.keys(s)[0];for(let e=0;e<s[a].length;++e)o(s)}}});for(t of this.items)o(t);for(s of this.items){var l=Object.keys(s)[0],a="eId"+d(l),a="#"+(s.id??a);this.root.querySelector(a)||this._createEntry(s,l,this.root,-1)}}setColor(e,t){"#"!==t[0]&&(t=s(t)),this.colors[e]=t}}function S(e,t,s,l){t=new fe(t,e,l);return T.root.appendChild(t.root),s&&s(t),t.onCreate(),t}T.ContextMenu=fe,T.addContextMenu=S;class ve{constructor(e,s={}){let c=document.createElement("div"),r=(c.className="curve "+(s.className||""),c.style.minHeight="50px",c.style.width=s.width||"100%",c.style.minWidth="50px",c.style.minHeight="20px",c.bgcolor=s.bgColor||T.getThemeColor("global-intense-background"),c.pointscolor=s.pointsColor||T.getThemeColor("global-color-accent"),c.activepointscolor=s.activePointsColor||T.getThemeColor("global-color-accent-light"),c.linecolor=s.lineColor||"#555",c.value=e||[],c.xrange=s.xrange||[0,1],c.yrange=s.yrange||[0,1],c.defaulty=null!=s.defaulty?s.defaulty:0,c.no_overlap=s.noOverlap||!1,c.show_samples=s.showSamples||0,c.allow_add_values=s.allowAddValues??!0,c.draggable_x=s.draggableX??!0,c.draggable_y=s.draggableY??!0,c.smooth=(s.smooth&&"number"==typeof s.smooth?s.smooth:.3)||!1,c.move_out=s.moveOutAction??T.CURVE_MOVEOUT_DELETE,T.addSignal("@on_new_color_scheme",(e,t)=>{c.bgcolor=s.bgColor||T.getThemeColor("global-intense-background"),c.pointscolor=s.pointsColor||T.getThemeColor("global-color-accent"),c.activepointscolor=s.activePointsColor||T.getThemeColor("global-color-accent-light"),this.redraw()}),this.element=c,document.createElement("canvas"));function n(e){return[r.width*(e[0]-c.xrange[0])/c.xrange[1],r.height*(e[1]-c.yrange[0])/c.yrange[1]]}function o(e){return[e[0]*c.xrange[1]/r.width+c.xrange[0],e[1]*c.yrange[1]/r.height+c.yrange[0]]}r.width=s.width||200,r.height=s.height||50,c.appendChild(r),this.canvas=r,c.addEventListener("mousedown",function(e){document.addEventListener("mousemove",a),document.addEventListener("mouseup",u);var t=r.getBoundingClientRect(),s=e.clientX-t.left,t=e.clientY-t.top;{var l;d=function(e,t){for(var s=1e5,l=-1,a=0;a<c.value.length;a++){var i=n(c.value[a]),i=p([e,t],i);i<s&&i<8&&(s=i,l=a)}return l}(s,r.height-t),e.button==T.MOUSE_LEFT_CLICK&&-1==d&&c.allow_add_values&&(l=o([s,r.height-t]),c.value.push(l),g(),d=c.value.indexOf(l))}h=[s,t],c.redraw(),e.preventDefault(),e.stopPropagation()}),c.getValueAt=function(t){if(t<c.xrange[0]||t>c.xrange[1])return c.defaulty;let s=[c.xrange[0],c.defaulty],l=0;for(let e=0;e<c.value.length;e+=1){var a=c.value[e];if(t==a[0])return a[1];if(t<a[0])return l=(t-s[0])/(a[0]-s[0]),s[1]*(1-l)+a[1]*l;s=a}return v=[c.xrange[1],c.defaulty],l=(t-s[0])/(v[0]-s[0]),s[1]*(1-l)+v[1]*l},c.resample=function(e){var t=[],s=(c.xrange[1]-c.xrange[0])/e;for(let e=c.xrange[0];e<=c.xrange[1];e+=s)t.push(c.getValueAt(e));return t},c.addValue=function(t){for(let e=0;e<c.value;e++){var s=c.value[e];if(!(s[0]<t[0]))return c.value.splice(e,0,t),void redraw()}c.value.push(t),redraw()};let d=-1;c.redraw=function(e={}){e.value&&(c.value=e.value),e.xrange&&(c.xrange=e.xrange),e.yrange&&(c.yrange=e.yrange),e.smooth&&(c.smooth=e.smooth);var e=r.parentElement.getBoundingClientRect(),t=((e=r.parentElement.parentElement?r.parentElement.parentElement.getBoundingClientRect():e)&&r.width!=e.width&&e.width&&e.width<1e3&&(r.width=e.width),r.getContext("2d")),s=(t.setTransform(1,0,0,1,0,0),t.translate(0,r.height),t.scale(1,-1),t.fillStyle=c.bgcolor,t.fillRect(0,0,r.width,r.height),t.strokeStyle=c.linecolor,t.beginPath(),n([c.xrange[0],c.defaulty])),l=(t.moveTo(s[0],s[1]),[s[0],s[1]]);for(a in c.value){s=n(c.value[a]);l.push(s[0]),l.push(s[1]),c.smooth||t.lineTo(s[0],s[1])}s=n([c.xrange[1],c.defaulty]),l.push(s[0]),l.push(s[1]),c.smooth?T.UTILS.drawSpline(t,l,c.smooth):(t.lineTo(s[0],s[1]),t.stroke());for(var a=0;a<c.value.length;a+=1)s=n(c.value[a]),d==a?t.fillStyle=c.activepointscolor:t.fillStyle=c.pointscolor,t.beginPath(),t.arc(s[0],s[1],d==a?4:3,0,2*Math.PI),t.fill();if(c.show_samples){var i=c.resample(c.show_samples);t.fillStyle="#888";for(a=0;a<i.length;a+=1)s=n([a*((c.xrange[1]-c.xrange[0])/c.show_samples)+c.xrange[0],i[a]]),t.beginPath(),t.arc(s[0],s[1],2,0,2*Math.PI),t.fill()}};var h=[0,0];function a(e){var t,s,l,a=r.getBoundingClientRect(),i=e.clientX-a.left,n=e.clientY-a.top,a=(i<0?i=0:i>r.width&&(i=r.width),n<0?n=0:n>r.height&&(n=r.height),[e.clientX-a.left,e.clientY-a.top]);-1!=d&&p(a,[i,n])>.5*r.height?(c.move_out==T.CURVE_MOVEOUT_DELETE?c.value.splice(d,1):(a=[a[0]-i,a[1]-n],(t=c.value[d])[0]=0==a[0]?t[0]:a[0]<0?c.xrange[0]:c.xrange[1],t[1]=0==a[1]?t[1]:a[1]<0?c.yrange[1]:c.yrange[0]),u(e)):(t=o([-(c.draggable_x?h[0]-i:0),c.draggable_y?h[1]-n:0]),-1!=d&&(a=c.xrange[0],s=c.xrange[1],c.no_overlap&&(0<d&&(a=c.value[d-1][0]),d<c.value.length-1)&&(s=c.value[d+1][0]),(l=c.value[d])[0]+=t[0],l[1]+=t[1],l[0]<a?l[0]=a:l[0]>s&&(l[0]=s),l[1]<c.yrange[0]?l[1]=c.yrange[0]:l[1]>c.yrange[1]&&(l[1]=c.yrange[1])),g(),c.redraw(),h[0]=i,h[1]=n,m(e),e.preventDefault(),e.stopPropagation())}function u(e){d=-1,c.redraw(),document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",u),m(e),e.preventDefault(),e.stopPropagation()}function m(e){s.callback&&s.callback.call(c,c.value,e)}function p(e,t){return Math.sqrt(Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2))}function g(){var e=null;-1!=d&&(e=c.value[d]),c.value.sort(function(e,t){return e[0]-t[0]}),e&&(d=c.value.indexOf(e))}return c.redraw(),this}redraw(e={}){this.element.redraw(e)}}T.CanvasCurve=ve;class Le{constructor(e,t,s={}){let c=document.createElement("div"),r=(c.className="dial "+(s.className||""),c.style.width=c.style.height=s.size||"100%",c.style.minWidth=c.style.minHeight="50px",c.bgcolor=s.bgColor||T.getThemeColor("global-dark-background"),c.pointscolor=s.pointsColor||T.getThemeColor("global-color-accent-light"),c.linecolor=s.lineColor||"#555",c.value=t||[],c.xrange=s.xrange||[0,1],c.yrange=s.yrange||[0,1],c.defaulty=null!=s.defaulty?s.defaulty:0,c.no_overlap=s.noOverlap||!1,c.show_samples=s.showSamples||0,c.allow_add_values=s.allowAddValues??!0,c.draggable_x=s.draggableX??!0,c.draggable_y=s.draggableY??!0,c.smooth=(s.smooth&&"number"==typeof s.smooth?s.smooth:.3)||!1,c.move_out=s.moveOutAction??T.CURVE_MOVEOUT_DELETE,this.element=c,document.createElement("canvas"));function n(e){return Math.pow(e[0],2),[r.width*(e[0]-c.xrange[0])/c.xrange[1],r.height*(e[1]-c.yrange[0])/c.yrange[1]]}function o(e){return[e[0]*c.xrange[1]/r.width+c.xrange[0],e[1]*c.yrange[1]/r.height+c.yrange[0]]}r.width=r.height=s.size||200,c.appendChild(r),this.canvas=r,c.addEventListener("mousedown",function(e){document.addEventListener("mousemove",a),document.addEventListener("mouseup",u);var t=r.getBoundingClientRect(),s=e.clientX-t.left,t=e.clientY-t.top;{var l;d=function(e,t){for(var s=1e5,l=-1,a=0;a<c.value.length;a++){var i=n(c.value[a]),i=p([e,t],i);i<s&&i<8&&(s=i,l=a)}return l}(s,r.height-t),e.button==T.MOUSE_LEFT_CLICK&&-1==d&&c.allow_add_values&&(l=o([s,r.height-t]),c.value.push(l),g(),d=c.value.indexOf(l))}h=[s,t],c.redraw(),e.preventDefault(),e.stopPropagation()}),c.getValueAt=function(e){if(e<c.xrange[0]||e>c.xrange[1])return c.defaulty;for(var t=[c.xrange[0],c.defaulty],s=0,l=0;l<c.value.length;l+=1){var a=c.value[l];if(e==a[0])return a[1];if(e<a[0])return s=(e-t[0])/(a[0]-t[0]),t[1]*(1-s)+a[1]*s;t=a}return a=[c.xrange[1],c.defaulty],s=(e-t[0])/(a[0]-t[0]),t[1]*(1-s)+a[1]*s},c.resample=function(e){for(var t=[],s=(c.xrange[1]-c.xrange[0])/e,l=c.xrange[0];l<=c.xrange[1];l+=s)t.push(c.getValueAt(l));return t},c.addValue=function(e){for(var t=0;t<c.value;t++){var s=c.value[t];if(!(s[0]<e[0]))return c.value.splice(t,0,e),void redraw()}c.value.push(e),redraw()};var d=-1,h=(c.redraw=function(e={}){e.value&&(c.value=e.value),e.xrange&&(c.xrange=e.xrange),e.yrange&&(c.yrange=e.yrange),e.smooth&&(c.smooth=e.smooth);var e=r.parentElement.getBoundingClientRect(),t=((e=r.parentElement.parentElement?r.parentElement.parentElement.getBoundingClientRect():e)&&r.width!=e.width&&e.width&&e.width<1e3&&(r.width=e.width),r.getContext("2d")),s=(t.setTransform(1,0,0,1,0,0),t.translate(0,r.height),t.scale(1,-1),t.fillStyle=c.bgcolor,t.fillRect(0,0,r.width,r.height),t.strokeStyle=c.linecolor,t.beginPath(),n([c.xrange[0],c.defaulty])),l=(t.moveTo(s[0],s[1]),[s[0],s[1]]);for(a in c.value){s=n(c.value[a]);l.push(s[0]),l.push(s[1])}s=n([c.xrange[1],c.defaulty]),l.push(s[0]),l.push(s[1]);s=n([0,0]),t.fillStyle="gray",t.beginPath(),t.arc(s[0],s[1],3,0,2*Math.PI),t.fill();for(var a=0;a<c.value.length;a+=1)s=n(c.value[a]),t.fillStyle=d==a?"white":c.pointscolor,t.beginPath(),t.arc(s[0],s[1],d==a?4:3,0,2*Math.PI),t.fill();if(c.show_samples){var i=c.resample(c.show_samples);t.fillStyle="#888";for(a=0;a<i.length;a+=1)s=n([a*((c.xrange[1]-c.xrange[0])/c.show_samples)+c.xrange[0],i[a]]),t.beginPath(),t.arc(s[0],s[1],2,0,2*Math.PI),t.fill()}},[0,0]);function a(e){var t,s,l,a=r.getBoundingClientRect(),i=e.clientX-a.left,n=e.clientY-a.top,a=(i<0?i=0:i>r.width&&(i=r.width),n<0?n=0:n>r.height&&(n=r.height),[e.clientX-a.left,e.clientY-a.top]);-1!=d&&p(a,[i,n])>.5*r.height?(c.move_out==T.CURVE_MOVEOUT_DELETE?c.value.splice(d,1):(a=[a[0]-i,a[1]-n],(t=c.value[d])[0]=0==a[0]?t[0]:a[0]<0?c.xrange[0]:c.xrange[1],t[1]=0==a[1]?t[1]:a[1]<0?c.yrange[1]:c.yrange[0]),u(e)):(t=o([-(c.draggable_x?h[0]-i:0),c.draggable_y?h[1]-n:0]),-1!=d&&(a=c.xrange[0],s=c.xrange[1],c.no_overlap&&(0<d&&(a=c.value[d-1][0]),d<c.value.length-1)&&(s=c.value[d+1][0]),(l=c.value[d])[0]+=t[0],l[1]+=t[1],l[0]<a?l[0]=a:l[0]>s&&(l[0]=s),l[1]<c.yrange[0]?l[1]=c.yrange[0]:l[1]>c.yrange[1]&&(l[1]=c.yrange[1])),g(),c.redraw(),h[0]=i,h[1]=n,m(e),e.preventDefault(),e.stopPropagation())}function u(e){d=-1,c.redraw(),document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",u),m(e),e.preventDefault(),e.stopPropagation()}function m(e){s.callback&&s.callback.call(c,c.value,e)}function p(e,t){return Math.sqrt(Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2))}function g(){var e=null;-1!=d&&(e=c.value[d]),c.value.sort(function(e,t){return e[0]-t[0]}),e&&(d=c.value.indexOf(e))}return c.redraw(),this}redraw(e={}){this.element.redraw(e)}}T.Dial=X;class I{static NONE=0;static ASSET_SELECTED=1;static ASSET_DELETED=2;static ASSET_RENAMED=3;static ASSET_CLONED=4;static ASSET_DBLCLICKED=5;static ENTER_FOLDER=6;static ASSET_CHECKED=7;constructor(e,t,s){this.type=e||y.NONE,this.item=t,this.value=s,this.multiple=!1}string(){switch(this.type){case I.NONE:return"assetview_event_none";case I.ASSET_SELECTED:return"assetview_event_selected";case I.ASSET_DELETED:return"assetview_event_deleted";case I.ASSET_RENAMED:return"assetview_event_renamed";case I.ASSET_CLONED:return"assetview_event_cloned";case I.ASSET_DBLCLICKED:return"assetview_event_dblclicked";case I.ENTER_FOLDER:return"assetview_event_enter_folder";case I.ASSET_CHECKED:return"assetview_event_checked"}}}T.AssetViewEvent=I;class R{static LAYOUT_CONTENT=0;static LAYOUT_LIST=1;static MAX_PAGE_ELEMENTS=50;constructor(e={}){this.rootPath="https://raw.githubusercontent.com/jxarco/lexgui.js/master/",this.layout=e.layout??R.LAYOUT_CONTENT,this.contentPage=1,e.rootPath&&(e.rootPath.constructor!==String?console.warn("Asset Root Path must be a String (now is "+path.constructor.name+")"):this.rootPath=e.rootPath);var t=document.createElement("div"),s=(t.className="lexassetbrowser",this.root=t,new T.Area({height:"100%"}));t.appendChild(s.root);let l,a,i=s;this.skipBrowser=e.skipBrowser??!1,this.skipPreview=e.skipPreview??!1,this.useNativeTitle=e.useNativeTitle??!1,this.onlyFolders=e.onlyFolders??!0,this.allowMultipleSelection=e.allowMultipleSelection??!1,this.previewActions=e.previewActions??[],this.contextMenu=e.contextMenu??[],this.onRefreshContent=e.onRefreshContent,this.skipBrowser||([l,a]=s.split({type:"horizontal",sizes:["15%","85%"]}),i=a,l.setLimitBox(210,0),a.setLimitBox(512,0)),this.skipPreview||([i,a]=i.split({type:"horizontal",sizes:["80%","20%"]})),this.allowedTypes=e.allowedTypes||["None","Image","Mesh","Script","JSON","Clip"],this.prevData=[],this.nextData=[],this.data=[],this._processData(this.data,null),this.currentData=this.data,this.path=["@"],this.skipBrowser||this._createTreePanel(l),this._createContentPanel(i),this.skipPreview||(this.previewPanel=a.addPanel({className:"lexassetcontentpanel",style:{overflow:"scroll"}}))}load(e,t){this.prevData.length=0,this.nextData.length=0,this.data=e,this._processData(this.data,null),this.currentData=this.data,this.path=["@"],this.skipBrowser||this._createTreePanel(this.area),this._refreshContent(),this.onevent=t}clear(){this.previewPanel&&this.previewPanel.clear(),this.leftPanel&&this.leftPanel.clear(),this.rightPanel&&this.rightPanel.clear()}_processData(e,t){e.constructor!==Array&&(e.folder=t,e.children=e.children??[]);for(var s=e.constructor===Array?e:e.children,l=0;l<s.length;++l)this._processData(s[l],e)}_updatePath(e){this.path.length=0;const t=e=>{e&&(e=(e.children||e)[0])&&e.folder&&(this.path.push(e.folder.id??"@"),t(e.folder.folder))};t(e),T.emit("@on_folder_change",this.path.reverse().join("/"))}_createTreePanel(e){this.leftPanel?this.leftPanel.clear():this.leftPanel=e.addPanel({className:"lexassetbrowserpanel"});e={id:"/",children:this.data},e=this.leftPanel.addTree("Content Browser",e,{filter:!1,onlyFolders:this.onlyFolders,onevent:e=>{var t=e.node,s=e.value;switch(e.type){case T.TreeEvent.NODE_SELECTED:e.multiple||this._enterFolder(t),t.parent||(this.prevData.push(this.currentData),this.currentData=this.data,this._refreshContent(),this.path=["@"],T.emit("@on_folder_change",this.path.join("/")));break;case T.TreeEvent.NODE_DRAGGED:t.folder=s,this._refreshContent()}}});this.tree=e.innerTree}_setContentLayout(e){this.layout=e,this._refreshContent()}_createContentPanel(e){this.rightPanel?this.rightPanel.clear():this.rightPanel=e.addPanel({className:"lexassetcontentpanel"});e=(e,t)=>{var s;this.allowNextPage&&(s=this.contentPage,this.contentPage+=e,this.contentPage=Math.min(this.contentPage,1+((this.currentData.length-1)/R.MAX_PAGE_ELEMENTS|0)),this.contentPage=Math.max(this.contentPage,1),s!=this.contentPage)&&this._refreshContent()},this.rightPanel.sameLine(),this.rightPanel.addSelect("Filter",this.allowedTypes,this.allowedTypes[0],e=>this._refreshContent.call(this,null,e),{width:"30%",minWidth:"128px"}),this.rightPanel.addText(null,this.searchValue??"",e=>this._refreshContent.call(this,e,null),{placeholder:"Search assets.."}),this.rightPanel.addButton(null,"<a class='fa fa-arrow-up-short-wide'></a>",((e,t)=>{var t=S("Sort by",t,e=>{e.add("Name",()=>this._sortData("id")),e.add("Type",()=>this._sortData("type")),e.add(""),e.add("Ascending",()=>this._sortData()),e.add("Descending",()=>this._sortData(null,!0))}),s=this.parent.root.parentElement;s.classList.contains("lexdialog")&&(t.root.style.zIndex=+getComputedStyle(s).zIndex+1)}).bind(this),{title:"Sort"}),this.rightPanel.addButton(null,"<a class='fa-solid fa-grip'></a>",((e,t)=>{var t=S("Layout",t,e=>{e.add("Content",()=>this._setContentLayout(R.LAYOUT_CONTENT)),e.add(""),e.add("List",()=>this._setContentLayout(R.LAYOUT_LIST))}),s=this.parent.root.parentElement;s.classList.contains("lexdialog")&&(t.root.style.zIndex=+getComputedStyle(s).zIndex+1)}).bind(this),{title:"View"}),this.rightPanel.addButton(null,"<a class='fa-solid fa-angles-left'></a>",e.bind(this,-1),{title:"Previous Page",className:"ml-auto"}),this.rightPanel.addButton(null,"<a class='fa-solid fa-angles-right'></a>",e.bind(this,1),{title:"Next Page"}),e="Page "+this.contentPage+" / "+(1+((this.currentData.length-1)/R.MAX_PAGE_ELEMENTS|0));this.rightPanel.addText(null,e,null,{inputClass:"nobg",disabled:!0,signal:"@on_page_change",maxWidth:"16ch"}),this.rightPanel.endLine(),this.skipBrowser||(this.rightPanel.sameLine(),this.rightPanel.addComboButtons(null,[{value:"Left",icon:"fa-solid fa-left-long",callback:e=>{this.prevData.length&&(this.nextData.push(this.currentData),this.currentData=this.prevData.pop(),this._refreshContent(),this._updatePath(this.currentData))}},{value:"Right",icon:"fa-solid fa-right-long",callback:e=>{this.nextData.length&&(this.prevData.push(this.currentData),this.currentData=this.nextData.pop(),this._refreshContent(),this._updatePath(this.currentData))}},{value:"Refresh",icon:"fa-solid fa-arrows-rotate",callback:e=>{this._refreshContent()}}],{noSelection:!0}),this.rightPanel.addText(null,this.path.join("/"),null,{inputClass:"nobg",disabled:!0,signal:"@on_folder_change",style:{fontWeight:"600",fontSize:"15px"}}),this.rightPanel.endLine()),this.content=document.createElement("ul"),this.content.className="lexassetscontent",this.rightPanel.root.appendChild(this.content),this.content.addEventListener("dragenter",function(e){e.preventDefault(),this.classList.add("dragging")}),this.content.addEventListener("dragleave",function(e){e.preventDefault(),this.classList.remove("dragging")}),this.content.addEventListener("drop",e=>{e.preventDefault(),this._processDrop(e)}),this.content.addEventListener("click",function(){this.querySelectorAll(".lexassetitem").forEach(e=>e.classList.remove("selected"))}),this._refreshContent()}_refreshContent(s,l){const r=this.layout==R.LAYOUT_CONTENT;this.filter=l??this.filter??"None",this.searchValue=s??this.searchValue??"",this.content.innerHTML="",this.content.className=r?"lexassetscontent":"lexassetscontent list";let i=this;const a=new FileReader;var n=this.currentData.filter(e=>("None"==this.filter||e.type.toLowerCase()==this.filter.toLowerCase())&&e.id.toLowerCase().includes(this.searchValue.toLowerCase())),t=((l||s)&&(this.contentPage=1),(this.contentPage-1)*R.MAX_PAGE_ELEMENTS),c=Math.min(t+R.MAX_PAGE_ELEMENTS,n.length);for(let e=t;e<c;++e){let t=n[e];t.path?T.request({url:t.path,dataType:"blob",success:e=>{t.bytesize=e.size,a.readAsDataURL(e),a.onload=e=>{t.src=e.currentTarget.result,t._path=t.path,delete t.path,this._refreshContent(s,l)}}}):t.domEl=function(l){var e=l.type.charAt(0).toUpperCase()+l.type.slice(1),t=o(l.id);const s="Folder"===e;let c=document.createElement("li");if(c.className="lexassetitem "+l.type.toLowerCase(),c.tabIndex=-1,i.content.appendChild(c),i.useNativeTitle)c.title=e+": "+l.id;else{let n=document.createElement("span");n.className="lexitemdesc",n.innerHTML="File: "+l.id+"<br>Type: "+e,i.content.appendChild(n),c.addEventListener("mousemove",t=>{if(r){var s=c.getBoundingClientRect(),l=t.target.getBoundingClientRect(),a=n.parentElement.getBoundingClientRect(),i=l.x-a.x-(l.x-s.x);let e=l.y-a.y-(l.y-s.y);t.target.classList.contains("lexassettitle")&&(e+=l.y-s.y),n.style.left=i+t.offsetX+12+"px",n.style.top=e+t.offsetY+"px"}}),c.addEventListener("mouseenter",()=>{r&&(n.style.display="unset")}),c.addEventListener("mouseleave",()=>{r&&setTimeout(()=>{n.style.display="none"},100)})}i.allowMultipleSelection&&((a=document.createElement("input")).type="checkbox",a.className="lexcheckbox",a.checked=l.selected,a.addEventListener("change",(e,t)=>{var s;l.selected=!l.selected,i.onevent&&((s=new I(I.ASSET_CHECKED,e.shiftKey?[l]:l)).multiple=!!e.shiftKey,i.onevent(s)),e.stopPropagation(),e.stopImmediatePropagation()}),c.appendChild(a));var a=document.createElement("span");if(a.className="lexassettitle",a.innerText=l.id,c.appendChild(a),!i.skipPreview){let e=null;l.src&&(-1<["png","jpg"].indexOf(o(l.src))||l.src.includes("data:image/"))||s||!r?(e=document.createElement("img"),a=l.unknown_extension?i.rootPath+"images/file.png":s?i.rootPath+"images/folder.png":l.src,e.src=r||s?a:i.rootPath+"images/file.png",c.appendChild(e)):((e=document.createElement("svg")).className="asset-file-preview",c.appendChild(e),a=document.createElement("text"),e.appendChild(a),a.innerText=t&&t!=l.id?"."+t.toUpperCase():l.type.toUpperCase(),(t=2.5/a.innerText.length)<1&&(a.style.fontSize=64*t+"px",e.style.paddingTop="calc(50% - "+(.5*a.offsetHeight+10)+"px)"))}return s||((t=document.createElement("span")).className="lexassetinfo",t.innerText=e,c.appendChild(t)),c.addEventListener("click",function(e){e.stopImmediatePropagation(),e.stopPropagation();var t=e.detail==T.MOUSE_DOUBLE_CLICK;if(t){if(s)return void i._enterFolder(l)}else e.shiftKey||i.content.querySelectorAll(".lexassetitem").forEach(e=>e.classList.remove("selected")),this.classList.add("selected"),i.selectedItem=l,i.skipPreview||i._previewAsset(l);i.onevent&&((t=new I(t?I.ASSET_DBLCLICKED:I.ASSET_SELECTED,e.shiftKey?[l]:l)).multiple=!!e.shiftKey,i.onevent(t))}),i.contextMenu&&c.addEventListener("contextmenu",function(e){e.preventDefault();const t=i.content.querySelectorAll(".selected").length;T.addContextMenu(1<t?t+" selected":s?l.id:l.type,e,e=>{t<=1&&e.add("Rename"),s||e.add("Clone",i._cloneItem.bind(i,l)),t<=1&&e.add("Properties"),e.add(""),e.add("Delete",i._deleteItem.bind(i,l))})}),c.addEventListener("dragstart",function(e){e.preventDefault()},!1),c}(t)}this.allowNextPage=n.length-1>R.MAX_PAGE_ELEMENTS;t="Page "+this.contentPage+" / "+(1+((n.length-1)/R.MAX_PAGE_ELEMENTS|0));T.emit("@on_page_change",t),this.onRefreshContent&&this.onRefreshContent(s,l)}_previewAsset(e){var t,s=e.src&&e.src.includes("data:image/"),s=(this.previewPanel.clear(),this.previewPanel.branch("Asset"),("image"==e.type||e.src)&&(-1<["png","jpg"].indexOf(o(e.src))||s)&&this.previewPanel.addImage(null,e.src,{style:{width:"100%"}}),{disabled:!0}),s=(this.previewPanel.addText("Filename",e.id,null,s),e.lastModified&&this.previewPanel.addText("Last Modified",new Date(e.lastModified).toLocaleString(),null,s),(e._path||e.src)&&this.previewPanel.addText("URL",e._path||e.src,null,s),this.previewPanel.addText("Path",this.path.join("/"),null,s),this.previewPanel.addText("Type",e.type,null,s),e.bytesize&&this.previewPanel.addText("Size",(e.bytesize/1024).toPrecision(3)+" KBs",null,s),"folder"==e.type&&this.previewPanel.addText("Files",e.children?e.children.length.toString():"0",null,s),this.previewPanel.addSeparator(),[...this.previewActions]);s.length||s.push({name:"Download",callback:()=>T.downloadURL(e.src,e.id)});for(t of s)t.type&&t.type!==e.type||t.path&&t.path!==this.path.join("/")||this.previewPanel.addButton(null,t.name,t.callback.bind(this,e));this.previewPanel.merge()}_processDrop(e){var t=new FileReader;const a=e.dataTransfer.files.length;for(let l=0;l<e.dataTransfer.files.length;++l){const i=e.dataTransfer.files[l];this.currentData.find(e=>e.id===i.name)||(t.readAsDataURL(i),t.onload=e=>{var t=i.name.substr(i.name.lastIndexOf(".")+1).toLowerCase(),s={id:i.name,src:e.currentTarget.result,extension:t,lastModified:i.lastModified};switch(t){case"png":case"jpg":s.type="image";break;case"js":case"css":s.type="script";break;case"json":s.type="json";break;case"obj":s.type="mesh";break;default:s.type=t,s.unknown_extension=!0}this.currentData.push(s),l==a-1&&(this._refreshContent(),this.skipBrowser||this.tree.refresh())})}}_sortData(l,a=!1){l=l??this._lastSortBy??"id",this.currentData=this.currentData.sort((e,t)=>{var s=a?t[l].localeCompare(e[l]):e[l].localeCompare(t[l]);return s=0==s?a?t.id.localeCompare(e.id):e.id.localeCompare(t.id):s}),this._lastSortBy=l,this._refreshContent()}_enterFolder(e){this.prevData.push(this.currentData),this.currentData=e.children,this.contentPage=1,this._refreshContent(),this._updatePath(this.currentData),this.onevent&&(e=new I(I.ENTER_FOLDER,e),this.onevent(e))}_deleteItem(e){var t=this.currentData.indexOf(e);t<0?console.error("[AssetView Error] Cannot delete. Item not found."):(this.currentData.splice(t,1),this._refreshContent(this.searchValue,this.filter),this.onevent&&(t=new I(I.ASSET_DELETED,e),this.onevent(t)),this.tree.refresh(),this._processData(this.data))}_cloneItem(e){var t,s=this.currentData.indexOf(e);s<0||(delete e.domEl,delete e.folder,t=L(e),this.currentData.splice(s,0,t),this._refreshContent(this.searchValue,this.filter),this.onevent&&(s=new I(I.ASSET_CLONED,e),this.onevent(s)),this._processData(this.data))}}T.AssetView=R,Object.assign(T,{request(l){var e=l.dataType||"text",t=("json"==e||"xml"==e?e="text":"binary"==e&&(e="arraybuffer",l.mimeType="application/octet-stream"),new XMLHttpRequest),s=(t.open(l.data?"POST":"GET",l.url,!0),e&&(t.responseType=e),l.mimeType&&t.overrideMimeType(l.mimeType),l.nocache&&t.setRequestHeader("Cache-Control","no-cache"),t.onload=function(e){var t,s=this.response;if(200!=this.status)t="Error "+this.status,l.error&&l.error(t);else{if("json"==l.dataType)try{s=JSON.parse(s)}catch(t){if(!l.error)throw t;l.error(t)}else if("xml"==l.dataType)try{s=(new DOMParser).parseFromString(s,"text/xml")}catch(t){if(!l.error)throw t;l.error(t)}l.success&&l.success.call(this,s,this)}},t.onerror=function(e){l.error&&l.error(e)},new FormData);if(l.data)for(var a in l.data)s.append(a,l.data[a]);return t.send(s),t},requestText(e,t,s){return this.request({url:e,dataType:"text",success:t,error:s})},requestJSON(e,t,s){return this.request({url:e,dataType:"json",success:t,error:s})},requestBinary(e,t,s){return this.request({url:e,dataType:"binary",success:t,error:s})},requireScript(e,t,s,l,a){if(!e)throw"invalid URL";var i,n=(e=e.constructor===String?[e]:e).length,c=[];for(i in e){var r=document.createElement("script");r.num=i,r.type="text/javascript",r.src=e[i]+(a?"?version="+a:""),r.original_src=e[i],r.async=!1,r.onload=function(e){n--,c.push(this),n?l&&l(this.original_src,this.num):t&&t(c)},s&&(r.onerror=function(e){s(e,this.original_src,this.num)}),document.getElementsByTagName("head")[0].appendChild(r)}},downloadURL(e,s){function t(e){var t=document.createElement("a");t.href=e,t.download=s,document.body.appendChild(t),t.click(),document.body.removeChild(t)}const l=new FileReader;e.includes("http")?T.request({url:e,dataType:"blob",success:e=>{l.readAsDataURL(e),l.onload=e=>{t(e.currentTarget.result)}}}):t(e)},downloadFile:function(e,t,s){var l,a;t?(s=s||(t.constructor===String?"text/plain":"application/octet-stream"),l=null,l=t.constructor!==File&&t.constructor!==Blob?new Blob([t],{type:s}):t,a=URL.createObjectURL(l),(s=document.createElement("a")).setAttribute("href",a),s.setAttribute("download",e),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s),setTimeout(function(){URL.revokeObjectURL(a)},6e4)):console.warn("No file provided to download")}}),Object.defineProperty(String.prototype,"lastChar",{get:function(){return this[this.length-1]},enumerable:!0,configurable:!0}),Element.prototype.insertChildAtIndex=function(e,t=1/0){t>=this.children.length?this.appendChild(e):this.insertBefore(e,this.children[t])},Element.prototype.hasClass=function(e){return!!(e=[].concat(e)).filter(e=>this.classList.contains(e)).length},Element.prototype.addClass=function(e){e&&this.classList.add(e)},Element.prototype.getComputedSize=function(){return{width:this.offsetWidth,height:this.offsetHeight}},Element.prototype.getParentArea=function(){let e=this.parentElement;for(;e;){if(e.classList.contains("lexarea"))return e;e=e.parentElement}},Element.prototype.listen=function(e,t,s){this[s=s??"_on"+e]=t,this.addEventListener(e,t)},Element.prototype.ignore=function(e,t){t=this[t=t??"_on"+e];this.removeEventListener(e,t)},T.UTILS={getTime(){return(new Date).getTime()},compareThreshold(e,t,s,l){return Math.abs(e-t)>=l||Math.abs(e-s)>=l},compareThresholdRange(e,t,s,l){return s<=e&&e<=l||s<=t&&t<=l||e<=s&&l<=t},uidGenerator:b,deleteElement(e){e&&e.remove()},flushCss(e){e.offsetHeight},getControlPoints(e,t,s,l,a,i,n){var c=Math.sqrt(Math.pow(s-e,2)+Math.pow(l-t,2)),c=n*c/(c+Math.sqrt(Math.pow(a-s,2)+Math.pow(i-l,2))),n=n-c;return[s+c*(e-a),l+c*(t-i),s-n*(e-a),l-n*(t-i)]},drawSpline(e,t,s){e.save();for(var l=[],a=t.length,i=0;i<a-4;i+=2)l=l.concat(T.UTILS.getControlPoints(t[i],t[i+1],t[i+2],t[i+3],t[i+4],t[i+5],s));for(i=2;i<t.length-5;i+=2)e.beginPath(),e.moveTo(t[i],t[i+1]),e.bezierCurveTo(l[2*i-2],l[2*i-1],l[2*i],l[2*i+1],t[i+2],t[i+3]),e.stroke(),e.closePath();e.beginPath(),e.moveTo(t[0],t[1]),e.quadraticCurveTo(l[0],l[1],t[2],t[3]),e.stroke(),e.closePath(),e.beginPath(),e.moveTo(t[a-2],t[a-1]),e.quadraticCurveTo(l[2*a-10],l[2*a-9],t[a-4],t[a-3]),e.stroke(),e.closePath(),e.restore()}},T.ICONS={"align-center":[448,512,[],"solid","M352 64c0-17.7-14.3-32-32-32L128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32l-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32z"],"align-justify":[448,512,[],"solid","M448 64c0-17.7-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32L32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32z"],"align-left":[448,512,[],"solid","M288 64c0 17.7-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32L32 352c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"],"align-right":[448,512,[],"solid","M448 64c0 17.7-14.3 32-32 32L192 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"],bell:[448,512,[],"regular","M224 0c-17.7 0-32 14.3-32 32l0 19.2C119 66 64 130.6 64 208l0 25.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416l400 0c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4l0-25.4c0-77.4-55-142-128-156.8L256 32c0-17.7-14.3-32-32-32zm0 96c61.9 0 112 50.1 112 112l0 25.4c0 47.9 13.9 94.6 39.7 134.6L72.3 368C98.1 328 112 281.3 112 233.4l0-25.4c0-61.9 50.1-112 112-112zm64 352l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z"],"bell-slash":[640,512,[],"regular","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L542.6 400c2.7-7.8 1.3-16.5-3.9-23l-14.9-18.6C495.5 322.9 480 278.8 480 233.4l0-33.4c0-75.8-55.5-138.6-128-150.1L352 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 17.9c-43.9 7-81.5 32.7-104.4 68.7L38.8 5.1zM221.7 148.4C239.6 117.1 273.3 96 312 96l8 0 8 0c57.4 0 104 46.6 104 104l0 33.4c0 32.7 6.4 64.8 18.7 94.5L221.7 148.4zM406.2 416l-60.9-48-176.9 0c21.2-32.8 34.4-70.3 38.4-109.1L160 222.1l0 11.4c0 45.4-15.5 89.5-43.8 124.9L101.3 377c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l286.2 0zM384 448l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z"],display:[576,512,[],"solid","M64 0C28.7 0 0 28.7 0 64L0 352c0 35.3 28.7 64 64 64l176 0-10.7 32L160 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-69.3 0L336 416l176 0c35.3 0 64-28.7 64-64l0-288c0-35.3-28.7-64-64-64L64 0zM512 64l0 288L64 352 64 64l448 0z"],fingerprint:[512,512,[],"regular","M48 256C48 141.1 141.1 48 256 48c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9c10.6-2.9 21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128l0 24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7l0-24.9c0-97.2-78.8-176-176-176zM150.7 148.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256l0 24.9c0 24.2-2.6 48.4-7.8 71.9C68.8 368.4 80.1 384 96.1 384c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8l0-24.9c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2zM256 160c-53 0-96 43-96 96l0 24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7l0-24.9c0-28.7 23.3-52 52-52s52 23.3 52 52l0 24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1l0-24.9c0-53-43-96-96-96zm24 96c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3C267.9 411.9 280 346.7 280 280.9l0-24.9z"],"mobile-screen":[384,512,[],"solid","M16 64C16 28.7 44.7 0 80 0L304 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L80 512c-35.3 0-64-28.7-64-64L16 64zM144 448c0 8.8 7.2 16 16 16l64 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-64 0c-8.8 0-16 7.2-16 16zM304 64L80 64l0 320 224 0 0-320z"],"window-restore":[512,512,[],"regular","M432 48L208 48c-17.7 0-32 14.3-32 32l0 16-48 0 0-16c0-44.2 35.8-80 80-80L432 0c44.2 0 80 35.8 80 80l0 224c0 44.2-35.8 80-80 80l-16 0 0-48 16 0c17.7 0 32-14.3 32-32l0-224c0-17.7-14.3-32-32-32zM48 448c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-192L48 256l0 192zM64 128l256 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192c0-35.3 28.7-64 64-64z"],"window-maximize":[512,512,[],"regular","M.3 89.5C.1 91.6 0 93.8 0 96L0 224 0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-192 0-128c0-35.3-28.7-64-64-64L64 32c-2.2 0-4.4 .1-6.5 .3c-9.2 .9-17.8 3.8-25.5 8.2C21.8 46.5 13.4 55.1 7.7 65.5c-3.9 7.3-6.5 15.4-7.4 24zM48 224l416 0 0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192z"],"window-minimize":[512,512,[],"regular","M24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l464 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 432z"],"vr-cardboard":[640,512,["vr"],"solid","M576 64L64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l120.4 0c24.2 0 46.4-13.7 57.2-35.4l32-64c8.8-17.5 26.7-28.6 46.3-28.6s37.5 11.1 46.3 28.6l32 64c10.8 21.7 33 35.4 57.2 35.4L576 448c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64zM96 240a64 64 0 1 1 128 0A64 64 0 1 1 96 240zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z"],gamepad:[640,512,[],"solid","M192 64C86 64 0 150 0 256S86 448 192 448l256 0c106 0 192-86 192-192s-86-192-192-192L192 64zM496 168a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM392 304a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM168 200c0-13.3 10.7-24 24-24s24 10.7 24 24l0 32 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0 0 32c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l32 0 0-32z"],keyboard:[576,512,[],"regular","M64 112c-8.8 0-16 7.2-16 16l0 256c0 8.8 7.2 16 16 16l448 0c8.8 0 16-7.2 16-16l0-256c0-8.8-7.2-16-16-16L64 112zM0 128C0 92.7 28.7 64 64 64l448 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128zM176 320l224 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm-72-72c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16z"],headset:[512,512,[],"solid","M256 48C141.1 48 48 141.1 48 256l0 40c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-40C0 114.6 114.6 0 256 0S512 114.6 512 256l0 144.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24l-32 0c-26.5 0-48-21.5-48-48s21.5-48 48-48l32 0c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40L464 256c0-114.9-93.1-208-208-208zM144 208l16 0c17.7 0 32 14.3 32 32l0 112c0 17.7-14.3 32-32 32l-16 0c-35.3 0-64-28.7-64-64l0-48c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64l0 48c0 35.3-28.7 64-64 64l-16 0c-17.7 0-32-14.3-32-32l0-112c0-17.7 14.3-32 32-32l16 0z"],"hard-drive":[512,512,[],"regular","M64 80c-8.8 0-16 7.2-16 16l0 162c5.1-1.3 10.5-2 16-2l384 0c5.5 0 10.9 .7 16 2l0-162c0-8.8-7.2-16-16-16L64 80zM48 320l0 96c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16L64 304c-8.8 0-16 7.2-16 16zM0 320L0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 224 0 96c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64l0-96zm280 48a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"],camera:[512,512,[],"solid","M149.1 64.8L138.7 96 64 96C28.7 96 0 124.7 0 160L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64l-74.7 0L362.9 64.8C356.4 45.2 338.1 32 317.4 32L194.6 32c-20.7 0-39 13.2-45.5 32.8zM256 192a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"],print:[512,512,[],"solid","M128 0C92.7 0 64 28.7 64 64l0 96 64 0 0-96 226.7 0L384 93.3l0 66.7 64 0 0-66.7c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0L128 0zM384 352l0 32 0 64-256 0 0-64 0-16 0-16 256 0zm64 32l32 0c17.7 0 32-14.3 32-32l0-96c0-35.3-28.7-64-64-64L64 192c-35.3 0-64 28.7-64 64l0 96c0 17.7 14.3 32 32 32l32 0 0 64c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-64zM432 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"],server:[512,512,[],"solid","M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"],bookmark:[384,512,[],"regular","M0 48C0 21.5 21.5 0 48 0l0 48 0 393.4 130.1-92.9c8.3-6 19.6-6 27.9 0L336 441.4 336 48 48 48 48 0 336 0c26.5 0 48 21.5 48 48l0 440c0 9-5 17.2-13 21.3s-17.6 3.4-24.9-1.8L192 397.5 37.9 507.5c-7.3 5.2-16.9 5.9-24.9 1.8S0 497 0 488L0 48z"],"address-book":[512,512,[],"regular","M384 48c8.8 0 16 7.2 16 16l0 384c0 8.8-7.2 16-16 16L96 464c-8.8 0-16-7.2-16-16L80 64c0-8.8 7.2-16 16-16l288 0zM96 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l288 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L96 0zM240 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16l192 0c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80l-64 0zM512 80c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64zM496 192c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64c0-8.8-7.2-16-16-16zm16 144c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64z"],"id-card":[576,512,[],"regular","M528 160l0 256c0 8.8-7.2 16-16 16l-192 0c0-44.2-35.8-80-80-80l-64 0c-44.2 0-80 35.8-80 80l-32 0c-8.8 0-16-7.2-16-16l0-256 480 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM272 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm104-48c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0z"],"id-badge":[384,512,[],"regular","M256 48l0 16c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-16L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-384c0-8.8-7.2-16-16-16l-64 0zM0 64C0 28.7 28.7 0 64 0L320 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zM160 320l64 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16L96 416c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"],"address-card":[576,512,[],"regular","M512 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l448 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM208 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16l192 0c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80l-64 0zM376 144c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0z"],calendar:[448,512,[],"regular","M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l352 0 0 256c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256z"],"calendar-days":[448,512,[],"regular","M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l80 0 0 56-80 0 0-56zm0 104l80 0 0 64-80 0 0-64zm128 0l96 0 0 64-96 0 0-64zm144 0l80 0 0 64-80 0 0-64zm80-48l-80 0 0-56 80 0 0 56zm0 160l0 40c0 8.8-7.2 16-16 16l-64 0 0-56 80 0zm-128 0l0 56-96 0 0-56 96 0zm-144 0l0 56-64 0c-8.8 0-16-7.2-16-16l0-40 80 0zM272 248l-96 0 0-56 96 0 0 56z"],"calendar-xmark":[448,512,[],"regular","M128 0c13.3 0 24 10.7 24 24l0 40 144 0 0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40 40 0c35.3 0 64 28.7 64 64l0 16 0 48 0 256c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192l0-48 0-16C0 92.7 28.7 64 64 64l40 0 0-40c0-13.3 10.7-24 24-24zM400 192L48 192l0 256c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-256zm-95 89l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"],"calendar-check":[448,512,[],"regular","M128 0c13.3 0 24 10.7 24 24l0 40 144 0 0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40 40 0c35.3 0 64 28.7 64 64l0 16 0 48 0 256c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192l0-48 0-16C0 92.7 28.7 64 64 64l40 0 0-40c0-13.3 10.7-24 24-24zM400 192L48 192l0 256c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-256zM329 297L217 409c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 95-95c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"],"calendar-plus":[448,512,[],"regular","M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l352 0 0 256c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256zm176 40c-13.3 0-24 10.7-24 24l0 48-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l48 0 0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48 48 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0 0-48c0-13.3-10.7-24-24-24z"],"calendar-minus":[448,512,[],"regular","M128 0c13.3 0 24 10.7 24 24l0 40 144 0 0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40 40 0c35.3 0 64 28.7 64 64l0 16 0 48 0 256c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192l0-48 0-16C0 92.7 28.7 64 64 64l40 0 0-40c0-13.3 10.7-24 24-24zM400 192L48 192l0 256c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-256zM296 352l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24z"],chart:[448,512,[],"solid","M160 80c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 352c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-352zM0 272c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 160c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48L0 272zM368 96l32 0c26.5 0 48 21.5 48 48l0 288c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48z"],"chart-line":[512,512,[],"solid","M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 400c0 44.2 35.8 80 80 80l400 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 416c-8.8 0-16-7.2-16-16L64 64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z"],"chart-bar":[512,512,[],"regular","M24 32c13.3 0 24 10.7 24 24l0 352c0 13.3 10.7 24 24 24l416 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L72 480c-39.8 0-72-32.2-72-72L0 56C0 42.7 10.7 32 24 32zM128 136c0-13.3 10.7-24 24-24l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24zm24 72l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96l272 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-272 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z"],check:[448,512,[],"solid","M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"],clone:[512,512,[],"regular","M64 464l224 0c8.8 0 16-7.2 16-16l0-64 48 0 0 64c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 224c0-35.3 28.7-64 64-64l64 0 0 48-64 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16zM224 304l224 0c8.8 0 16-7.2 16-16l0-224c0-8.8-7.2-16-16-16L224 48c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16zm-64-16l0-224c0-35.3 28.7-64 64-64L448 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64l-224 0c-35.3 0-64-28.7-64-64z"],copy:[448,512,[],"regular","M384 336l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l140.1 0L400 115.9 400 320c0 8.8-7.2 16-16 16zM192 384l192 0c35.3 0 64-28.7 64-64l0-204.1c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1L192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-32-48 0 0 32c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l32 0 0-48-32 0z"],paste:[512,512,[],"regular","M104.6 48L64 48C28.7 48 0 76.7 0 112L0 384c0 35.3 28.7 64 64 64l96 0 0-48-96 0c-8.8 0-16-7.2-16-16l0-272c0-8.8 7.2-16 16-16l16 0c0 17.7 14.3 32 32 32l72.4 0C202 108.4 227.6 96 256 96l62 0c-7.1-27.6-32.2-48-62-48l-40.6 0C211.6 20.9 188.2 0 160 0s-51.6 20.9-55.4 48zM144 56a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM448 464l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l140.1 0L464 243.9 464 448c0 8.8-7.2 16-16 16zM256 512l192 0c35.3 0 64-28.7 64-64l0-204.1c0-12.7-5.1-24.9-14.1-33.9l-67.9-67.9c-9-9-21.2-14.1-33.9-14.1L256 128c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64z"],clipboard:[384,512,[],"regular","M280 64l40 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 128C0 92.7 28.7 64 64 64l40 0 9.6 0C121 27.5 153.3 0 192 0s71 27.5 78.4 64l9.6 0zM64 112c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16l-16 0 0 24c0 13.3-10.7 24-24 24l-88 0-88 0c-13.3 0-24-10.7-24-24l0-24-16 0zm128-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"],"eye-dropper":[512,512,[],"solid","M341.6 29.2L240.1 130.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L482.8 170.4c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6l0 42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480l42.4 0c21.2 0 41.6-8.4 56.6-23.4L309.4 335.9l-45.3-45.3L143.4 411.3c-3 3-7.1 4.7-11.3 4.7L96 416l0-36.1c0-4.2 1.7-8.3 4.7-11.3L221.4 247.9l-45.3-45.3L55.4 323.3z"],edit:[512,512,[],"regular","M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152L0 424c0 48.6 39.4 88 88 88l272 0c48.6 0 88-39.4 88-88l0-112c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 112c0 22.1-17.9 40-40 40L88 464c-22.1 0-40-17.9-40-40l0-272c0-22.1 17.9-40 40-40l112 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L88 64z"],envelope:[512,512,[],"regular","M64 112c-8.8 0-16 7.2-16 16l0 22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1l0-22.1c0-8.8-7.2-16-16-16L64 112zM48 212.2L48 384c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-171.8L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64l384 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128z"],"envelope-open":[512,512,[],"regular","M255.4 48.2c.2-.1 .4-.2 .6-.2s.4 .1 .6 .2L460.6 194c2.1 1.5 3.4 3.9 3.4 6.5l0 13.6L291.5 355.7c-20.7 17-50.4 17-71.1 0L48 214.1l0-13.6c0-2.6 1.2-5 3.4-6.5L255.4 48.2zM48 276.2L190 392.8c38.4 31.5 93.7 31.5 132 0L464 276.2 464 456c0 4.4-3.6 8-8 8L56 464c-4.4 0-8-3.6-8-8l0-179.8zM256 0c-10.2 0-20.2 3.2-28.5 9.1L23.5 154.9C8.7 165.4 0 182.4 0 200.5L0 456c0 30.9 25.1 56 56 56l400 0c30.9 0 56-25.1 56-56l0-255.5c0-18.1-8.7-35.1-23.4-45.6L284.5 9.1C276.2 3.2 266.2 0 256 0z"],inbox:[24,24,[],"regular","M22 12H16l-2 3h-4l-2-3H2M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11Z",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],map:[576,512,[],"regular","M565.6 36.2C572.1 40.7 576 48.1 576 56l0 336c0 10-6.2 18.9-15.5 22.4l-168 64c-5.2 2-10.9 2.1-16.1 .3L192.5 417.5l-160 61c-7.4 2.8-15.7 1.8-22.2-2.7S0 463.9 0 456L0 120c0-10 6.1-18.9 15.5-22.4l168-64c5.2-2 10.9-2.1 16.1-.3L383.5 94.5l160-61c7.4-2.8 15.7-1.8 22.2 2.7zM48 136.5l0 284.6 120-45.7 0-284.6L48 136.5zM360 422.7l0-285.4-144-48 0 285.4 144 48zm48-1.5l120-45.7 0-284.6L408 136.5l0 284.6z"],"note-sticky":[448,512,["sticky-note"],"regular","M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l224 0 0-80c0-17.7 14.3-32 32-32l80 0 0-224c0-8.8-7.2-16-16-16L64 80zM288 480L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 224 0 5.5c0 17-6.7 33.3-18.7 45.3l-90.5 90.5c-12 12-28.3 18.7-45.3 18.7l-5.5 0z"],file:[384,512,[],"regular","M320 464c8.8 0 16-7.2 16-16l0-288-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l256 0zM0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64z"],"file-lines":[384,512,["file-text"],"regular","M64 464c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm56 256c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0z"],"file-video":[384,512,[],"regular","M320 464c8.8 0 16-7.2 16-16l0-288-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l256 0zM0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zM80 288c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32l0 16 44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3l0 103.4c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1L240 368l0 16c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32l0-96z"],"file-audio":[384,512,[],"regular","M64 464l256 0c8.8 0 16-7.2 16-16l0-288-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16zM0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zM192 272l0 128c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L129.4 376 112 376c-8.8 0-16-7.2-16-16l0-48c0-8.8 7.2-16 16-16l17.4 0 35.3-35.3c4.6-4.6 11.5-5.9 17.4-3.5s9.9 8.3 9.9 14.8zm85.8-4c11.6 20 18.2 43.3 18.2 68s-6.6 48-18.2 68c-6.6 11.5-21.3 15.4-32.8 8.8s-15.4-21.3-8.8-32.8c7.5-12.9 11.8-27.9 11.8-44s-4.3-31.1-11.8-44c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8z"],"file-code":[384,512,[],"regular","M64 464c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm97 289c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L79 303c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM257 255c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z"],"file-zip":[384,512,[],"regular","M64 464c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l48 0c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l48 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm48 112c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm-6.3 71.8L82.1 335.9c-1.4 5.4-2.1 10.9-2.1 16.4c0 35.2 28.8 63.7 64 63.7s64-28.5 64-63.7c0-5.5-.7-11.1-2.1-16.4l-23.5-88.2c-3.7-14-16.4-23.8-30.9-23.8l-14.8 0c-14.5 0-27.2 9.7-30.9 23.8zM128 336l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z"],"file-pdf":[512,512,[],"regular","M64 464l48 0 0 48-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 304l-48 0 0-144-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16zM176 352l32 0c30.9 0 56 25.1 56 56s-25.1 56-56 56l-16 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-80c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0 48 16 0zm96-80l32 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-32 0c-8.8 0-16-7.2-16-16l0-128c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-16 0 0 96 16 0zm80-112c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 32 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-64 0-64z"],"file-import":[512,512,[],"solid","M128 64c0-35.3 28.7-64 64-64L352 0l0 128c0 17.7 14.3 32 32 32l128 0 0 288c0 35.3-28.7 64-64 64l-256 0c-35.3 0-64-28.7-64-64l0-112 174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L128 288l0-224zm0 224l0 48L24 336c-13.3 0-24-10.7-24-24s10.7-24 24-24l104 0zM512 128l-128 0L384 0 512 128z"],"file-word":[384,512,[],"regular","M48 448L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm55 241.1c-3.8-12.7-17.2-19.9-29.9-16.1s-19.9 17.2-16.1 29.9l48 160c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l25-83.4 25 83.4c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l48-160c3.8-12.7-3.4-26.1-16.1-29.9s-26.1 3.4-29.9 16.1l-25 83.4-25-83.4c-3-10.2-12.4-17.1-23-17.1s-19.9 7-23 17.1l-25 83.4-25-83.4z"],"file-powerpoint":[384,512,[],"regular","M64 464c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm72 208c-13.3 0-24 10.7-24 24l0 104 0 56c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 44 0c42 0 76-34 76-76s-34-76-76-76l-68 0zm68 104l-44 0 0-56 44 0c15.5 0 28 12.5 28 28s-12.5 28-28 28z"],"file-excel":[384,512,[],"regular","M48 448L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm90.9 233.3c-8.1-10.5-23.2-12.3-33.7-4.2s-12.3 23.2-4.2 33.7L161.6 320l-44.5 57.3c-8.1 10.5-6.3 25.5 4.2 33.7s25.5 6.3 33.7-4.2L192 359.1l37.1 47.6c8.1 10.5 23.2 12.3 33.7 4.2s12.3-23.2 4.2-33.7L222.4 320l44.5-57.3c8.1-10.5 6.3-25.5-4.2-33.7s-25.5-6.3-33.7 4.2L192 280.9l-37.1-47.6z"],"box-archive":[24,24,[],"regular","M2 3a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2V3Zm2 5h16v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8Zm6 4h4",null,"fill=none stroke-width=2 stroke-linecap=round stroke-linejoin=round"],"box-archive-x":[24,24,[],"regular","M3 3h18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1ZM4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8M9.5 17l5-5m-5-0l5 5",null,"fill=none stroke-width=2 stroke-linecap=round stroke-linejoin=round"],"code-pull-request":[512,512,[],"solid","M305.8 2.1C314.4 5.9 320 14.5 320 24l0 40 16 0c70.7 0 128 57.3 128 128l0 166.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3L400 192c0-35.3-28.7-64-64-64l-16 0 0 40c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1zM104 80A24 24 0 1 0 56 80a24 24 0 1 0 48 0zm8 73.3l0 205.3c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3l0-205.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80c0 32.8-19.7 61-48 73.3zM104 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm328 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"],"code-fork":[448,512,[],"solid","M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 38.7c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-38.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 38.7c0 53-43 96-96 96l-48 0 0 70.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3l0-70.7-48 0c-53 0-96-43-96-96l0-38.7C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm208 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM248 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z"],"code-branch":[448,512,[],"solid","M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 87.8c18.8-10.9 40.7-17.1 64-17.1l96 0c35.3 0 64-28.7 64-64l0-6.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 6.7c0 70.7-57.3 128-128 128l-96 0c-35.3 0-64 28.7-64 64l0 6.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3l0-6.7 0-198.7C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"],"code-merge":[448,512,[],"solid","M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm32.4 97.2c28-12.4 47.6-40.5 47.6-73.2c0-44.2-35.8-80-80-80S0 35.8 0 80c0 32.8 19.7 61 48 73.3l0 205.3C19.7 371 0 399.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3l0-86.6c26.7 20.1 60 32 96 32l86.7 0c12.3 28.3 40.5 48 73.3 48c44.2 0 80-35.8 80-80s-35.8-80-80-80c-32.8 0-61 19.7-73.3 48L208 240c-49.9 0-91-38.1-95.6-86.8zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM344 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"],"code-compare":[512,512,[],"solid","M320 488c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1s14.2 12.4 14.2 21.9l0 40 16 0c35.3 0 64-28.7 64-64l0-166.7C371.7 141 352 112.8 352 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3L464 320c0 70.7-57.3 128-128 128l-16 0 0 40zM456 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM192 24c0-9.5 5.6-18.1 14.2-21.9s18.8-2.3 25.8 4.1l80 72c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-80 72c-7 6.3-17.2 7.9-25.8 4.1s-14.2-12.4-14.2-21.9l0-40-16 0c-35.3 0-64 28.7-64 64l0 166.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3L48 192c0-70.7 57.3-128 128-128l16 0 0-40zM56 432a24 24 0 1 0 48 0 24 24 0 1 0 -48 0z"],"code-commit":[640,512,[],"solid","M320 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm156.8-48C462 361 397.4 416 320 416s-142-55-156.8-128L32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l131.2 0C178 151 242.6 96 320 96s142 55 156.8 128L608 224c17.7 0 32 14.3 32 32s-14.3 32-32 32l-131.2 0z"],scroll:[576,512,["script"],"solid","M0 80l0 48c0 17.7 14.3 32 32 32l16 0 48 0 0-80c0-26.5-21.5-48-48-48S0 53.5 0 80zM112 32c10 13.4 16 30 16 48l0 304c0 35.3 28.7 64 64 64s64-28.7 64-64l0-5.3c0-32.4 26.3-58.7 58.7-58.7L480 320l0-192c0-53-43-96-96-96L112 32zM464 480c61.9 0 112-50.1 112-112c0-8.8-7.2-16-16-16l-245.3 0c-14.7 0-26.7 11.9-26.7 26.7l0 5.3c0 53-43 96-96 96l176 0 96 0z"],"paper-plane":[512,512,[],"regular","M16.1 260.2c-22.6 12.9-20.5 47.3 3.6 57.3L160 376l0 103.3c0 18.1 14.6 32.7 32.7 32.7c9.7 0 18.9-4.3 25.1-11.8l62-74.3 123.9 51.6c18.9 7.9 40.8-4.5 43.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448 256zm52.1 25.5L409.7 90.6 190.1 336l1.2 1L68.2 285.7zM403.3 425.4L236.7 355.9 450.8 116.6 403.3 425.4z"],"floppy-disk":[448,512,["save"],"regular","M48 96l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-245.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9c12 12 18.7 28.3 18.7 45.3L448 416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l245.5 0c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8L320 184c0 13.3-10.7 24-24 24l-192 0c-13.3 0-24-10.7-24-24L80 80 64 80c-8.8 0-16 7.2-16 16zm80-16l0 80 144 0 0-80L128 80zm32 240a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"],download:[512,512,[],"solid","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"],upload:[512,512,[],"solid","M288 109.3L288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-242.7-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352l128 0c0 35.3 28.7 64 64 64s64-28.7 64-64l128 0c35.3 0 64 28.7 64 64l0 32c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64l0-32c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"],gear:[512,512,[],"solid","M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"],gears:[640,512,[],"solid","M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8l-.7 0c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"],sliders:[512,512,[],"solid","M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z"],"sliders-large":[24,24,[],"solid","M20 7H11M14 17H5M17 14a3 3 0 1 0 0 6a3 3 0 0 0 0-6zM7 4a3 3 0 1 0 0 6a3 3 0 0 0 0-6z",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],eye:[576,512,[],"regular","M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"],"eye-slash":[640,512,[],"regular","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"],comment:[512,512,[],"regular","M123.6 391.3c12.9-9.4 29.6-11.8 44.6-6.4c26.5 9.6 56.2 15.1 87.8 15.1c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 32 12.4 62.8 35.7 89.2c8.6 9.7 12.8 22.5 11.8 35.5c-1.4 18.1-5.7 34.7-11.3 49.4c17-7.9 31.1-16.7 39.4-22.7zM21.2 431.9c1.8-2.7 3.5-5.4 5.1-8.1c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6c-15.1 6.6-32.3 12.6-50.1 16.1c-.8 .2-1.6 .3-2.4 .5c-4.4 .8-8.7 1.5-13.2 1.9c-.2 0-.5 .1-.7 .1c-5.1 .5-10.2 .8-15.3 .8c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c4.1-4.2 7.8-8.7 11.3-13.5c1.7-2.3 3.3-4.6 4.8-6.9l.3-.5z"],comments:[640,512,[],"regular","M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128s-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6c-10.4-2-21.2-.6-30.7 4.2c-4.1 2.1-8.3 4.1-12.6 6c-16 7.2-32.9 13.5-49.9 18c2.8-4.6 5.4-9.1 7.9-13.6c1.1-1.9 2.2-3.9 3.2-5.9zM208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 41.8 17.2 80.1 45.9 110.3c-.9 1.7-1.9 3.5-2.8 5.1c-10.3 18.4-22.3 36.5-36.6 52.1c-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.8-2.2 9.6-4.5 14.2-6.8c15.1 3 30.9 4.5 47.1 4.5zM432 480c16.2 0 31.9-1.6 47.1-4.5c4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5c3.8-8.8 2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1c-.9-1.7-1.9-3.4-2.8-5.1C622.8 384.1 640 345.8 640 304c0-94.4-87.9-171.5-198.2-175.8c4.1 15.2 6.2 31.2 6.2 47.8l0 .6c87.2 6.7 144 67.5 144 127.4c0 28-11.4 54.9-32.7 77.2c-14.3 15-17.3 37.6-7.5 55.8c1.1 2 2.2 4 3.2 5.9c2.5 4.5 5.2 9 7.9 13.6c-17-4.5-33.9-10.7-49.9-18c-4.3-1.9-8.5-3.9-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2c-12.1 2.4-24.8 3.6-37.8 3.6c-61.7 0-110-26.5-136.8-62.3c-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480z"],"comment-dots":[512,512,[],"regular","M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM144 272a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm80 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"],message:[512,512,[],"regular","M160 368c26.5 0 48 21.5 48 48l0 16 72.5-54.4c8.3-6.2 18.4-9.6 28.8-9.6L448 368c8.8 0 16-7.2 16-16l0-288c0-8.8-7.2-16-16-16L64 48c-8.8 0-16 7.2-16 16l0 288c0 8.8 7.2 16 16 16l96 0zm48 124l-.2 .2-5.1 3.8-17.1 12.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3l0-21.3 0-6.4 0-.3 0-4 0-48-48 0-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L448 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64l-138.7 0L208 492z"],folder:[512,512,[],"regular","M0 96C0 60.7 28.7 32 64 32l132.1 0c19.1 0 37.4 7.6 50.9 21.1L289.9 96 448 96c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-256c0-8.8-7.2-16-16-16l-161.4 0c-10.6 0-20.8-4.2-28.3-11.7L213.1 87c-4.5-4.5-10.6-7-17-7L64 80z"],"folder-closed":[512,512,[],"regular","M251.7 127.6s0 0 0 0c10.5 10.5 24.7 16.4 39.6 16.4L448 144c8.8 0 16 7.2 16 16l0 32L48 192l0-96c0-8.8 7.2-16 16-16l133.5 0c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zM48 240l416 0 0 176c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-176zM285.7 93.7L242.7 50.7c-12-12-28.3-18.7-45.3-18.7L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L291.3 96c-2.1 0-4.2-.8-5.7-2.3z"],"folder-open":[576,512,[],"regular","M384 480l48 0c11.4 0 21.9-6 27.6-15.9l112-192c5.8-9.9 5.8-22.1 .1-32.1S555.5 224 544 224l-400 0c-11.4 0-21.9 6-27.6 15.9L48 357.1 48 96c0-8.8 7.2-16 16-16l117.5 0c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c21 21 49.5 32.8 79.2 32.8L416 144c8.8 0 16 7.2 16 16l0 32 48 0 0-32c0-35.3-28.7-64-64-64L298.5 96c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l23.7 0L384 480z"],play:[384,512,[],"solid","M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80L0 432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"],pause:[320,512,[],"solid","M48 64C21.5 64 0 85.5 0 112L0 400c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48L48 64zm192 0c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-32 0z"],stop:[384,512,[],"solid","M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"],font:[448,512,[],"solid","M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416 32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-1.8 0 18-48 159.6 0 18 48-1.8 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-25.8 0L254 52.8zM279.8 304l-111.6 0L224 155.1 279.8 304z"],"grip-vertical":[320,512,[],"solid","M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z"],image:[512,512,[],"regular","M448 80c8.8 0 16 7.2 16 16l0 319.8-5-6.5-136-176c-4.5-5.9-11.6-9.3-19-9.3s-14.4 3.4-19 9.3L202 340.7l-30.5-42.7C167 291.7 159.8 288 152 288s-15 3.7-19.5 10.1l-80 112L48 416.3l0-.3L48 96c0-8.8 7.2-16 16-16l384 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm80 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"],images:[576,512,[],"regular","M160 80l352 0c8.8 0 16 7.2 16 16l0 224c0 8.8-7.2 16-16 16l-21.2 0L388.1 178.9c-4.4-6.8-12-10.9-20.1-10.9s-15.7 4.1-20.1 10.9l-52.2 79.8-12.4-16.9c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8L175.6 336 160 336c-8.8 0-16-7.2-16-16l0-224c0-8.8 7.2-16 16-16zM96 96l0 224c0 35.3 28.7 64 64 64l352 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L160 32c-35.3 0-64 28.7-64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120L0 344c0 75.1 60.9 136 136 136l320 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-320 0c-48.6 0-88-39.4-88-88l0-224zm208 24a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"],"photo-film":[640,512,["media"],"solid","M256 0L576 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64l-320 0c-35.3 0-64-28.7-64-64l0-224c0-35.3 28.7-64 64-64zM476 106.7C471.5 100 464 96 456 96s-15.5 4-20 10.7l-56 84L362.7 169c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l80 0 48 0 144 0c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144zM336 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 128l96 0 0 256 0 32c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-32 160 0 0 64c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192c0-35.3 28.7-64 64-64zm8 64c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm0 104c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm0 104c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm336 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0c-8.8 0-16 7.2-16 16z"],clapperboard:[512,512,[],"solid","M448 32l-86.1 0-1 1-127 127 92.1 0 1-1L453.8 32.3c-1.9-.2-3.8-.3-5.8-.3zm64 128l0-64c0-15.1-5.3-29.1-14-40l-104 104L512 160zM294.1 32l-92.1 0-1 1L73.9 160l92.1 0 1-1 127-127zM64 32C28.7 32 0 60.7 0 96l0 64 6.1 0 1-1 127-127L64 32zM512 192L0 192 0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-224z"],"object-group":[576,512,[],"regular","M48 115.8C38.2 107 32 94.2 32 80c0-26.5 21.5-48 48-48c14.2 0 27 6.2 35.8 16l344.4 0c8.8-9.8 21.6-16 35.8-16c26.5 0 48 21.5 48 48c0 14.2-6.2 27-16 35.8l0 280.4c9.8 8.8 16 21.6 16 35.8c0 26.5-21.5 48-48 48c-14.2 0-27-6.2-35.8-16l-344.4 0c-8.8 9.8-21.6 16-35.8 16c-26.5 0-48-21.5-48-48c0-14.2 6.2-27 16-35.8l0-280.4zM125.3 96c-4.8 13.6-15.6 24.4-29.3 29.3l0 261.5c13.6 4.8 24.4 15.6 29.3 29.3l325.5 0c4.8-13.6 15.6-24.4 29.3-29.3l0-261.5c-13.6-4.8-24.4-15.6-29.3-29.3L125.3 96zm2.7 64c0-17.7 14.3-32 32-32l128 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-96zM256 320l32 0c35.3 0 64-28.7 64-64l0-32 64 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-32z"],"object-ungroup":[640,512,[],"regular","M48.2 66.8c-.1-.8-.2-1.7-.2-2.5l0-.2c0-8.8 7.2-16 16-16c.9 0 1.9 .1 2.8 .2C74.3 49.5 80 56.1 80 64c0 8.8-7.2 16-16 16c-7.9 0-14.5-5.7-15.8-13.2zM0 64c0 26.9 16.5 49.9 40 59.3l0 105.3C16.5 238.1 0 261.1 0 288c0 35.3 28.7 64 64 64c26.9 0 49.9-16.5 59.3-40l201.3 0c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3l0-105.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40L123.3 40C113.9 16.5 90.9 0 64 0C28.7 0 0 28.7 0 64zm368 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM324.7 88c6.5 16 19.3 28.9 35.3 35.3l0 105.3c-16 6.5-28.9 19.3-35.3 35.3l-201.3 0c-6.5-16-19.3-28.9-35.3-35.3l0-105.3c16-6.5 28.9-19.3 35.3-35.3l201.3 0zM384 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM80 288c0 7.9-5.7 14.5-13.2 15.8c-.8 .1-1.7 .2-2.5 .2l-.2 0c-8.8 0-16-7.2-16-16c0-.9 .1-1.9 .2-2.8C49.5 277.7 56.1 272 64 272c8.8 0 16 7.2 16 16zm391.3-40l45.4 0c6.5 16 19.3 28.9 35.3 35.3l0 105.3c-16 6.5-28.9 19.3-35.3 35.3l-201.3 0c-6.5-16-19.3-28.9-35.3-35.3l0-36.7-48 0 0 36.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64c26.9 0 49.9-16.5 59.3-40l201.3 0c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3l0-105.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40L448 200l0 16.4c9.8 8.8 17.8 19.5 23.3 31.6zm88.9-26.7a16 16 0 1 1 31.5 5.5 16 16 0 1 1 -31.5-5.5zM271.8 450.7a16 16 0 1 1 -31.5-5.5 16 16 0 1 1 31.5 5.5zm307-18.5a16 16 0 1 1 -5.5 31.5 16 16 0 1 1 5.5-31.5z"],left:[320,512,[],"solid","M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"],right:[320,512,[],"solid","M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"],up:[448,512,[],"solid","M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z"],down:[448,512,[],"solid","M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"],arrows:[512,512,["arrows-up-down-left-right"],"solid","M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4L224 224l-114.7 0 9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L224 288l0 114.7-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4L288 288l114.7 0-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L288 224l0-114.7 9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64z"],"arrow-pointer":[320,512,[],"solid","M0 55.2L0 426c0 12.2 9.9 22 22 22c6.3 0 12.4-2.7 16.6-7.5L121.2 346l58.1 116.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9L179.8 320l118.1 0c12.2 0 22.1-9.9 22.1-22.1c0-6.3-2.7-12.3-7.4-16.5L38.6 37.9C34.3 34.1 28.9 32 23.2 32C10.4 32 0 42.4 0 55.2z"],"axis-arrow":[24,24,[],"solid","m12 2l4 4h-3v7.85l6.53 3.76L21 15.03l1.5 5.47l-5.5 1.46l1.53-2.61L12 15.58l-6.53 3.77L7 21.96L1.5 20.5L3 15.03l1.47 2.58L11 13.85V6H8z"],reply:[24,24,[],"regular","M9 17L4 12L9 7M4 12H16A4 4 0 0 1 20 16V18",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],"reply-all":[24,24,[],"regular","M7 17L2 12L7 7M12 17L7 12L12 7M7 12H18A4 4 0 0 1 22 16V18",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],forward:[24,24,[],"regular","M15 17L20 12L15 7M4 18V16A4 4 0 0 1 8 12H20",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],rotate:[512,512,[],"solid","M142.9 142.9c-17.5 17.5-30.1 38-37.8 59.8c-5.9 16.7-24.2 25.4-40.8 19.5s-25.4-24.2-19.5-40.8C55.6 150.7 73.2 122 97.6 97.6c87.2-87.2 228.3-87.5 315.8-1L455 55c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 128c0 13.3-10.7 24-24 24l-8.4 0c0 0 0 0 0 0L344 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l41.1-41.1c-62.6-61.5-163.1-61.2-225.3 1zM16 312c0-13.3 10.7-24 24-24l7.6 0 .7 0L168 288c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-41.1 41.1c62.6 61.5 163.1 61.2 225.3-1c17.5-17.5 30.1-38 37.8-59.8c5.9-16.7 24.2-25.4 40.8-19.5s25.4 24.2 19.5 40.8c-10.8 30.6-28.4 59.3-52.9 83.8c-87.2 87.2-228.3 87.5-315.8 1L57 457c-6.9 6.9-17.2 8.9-26.2 5.2S16 449.7 16 440l0-119.6 0-.7 0-7.6z"],"rotate-right":[512,512,["rotate-forward"],"solid","M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z"],"rotate-left":[512,512,["rotate-back"],"solid","M48.5 224L40 224c-13.3 0-24-10.7-24-24L16 72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8L48.5 224z"],hand:[512,512,[],"regular","M256 0c-25.3 0-47.2 14.7-57.6 36c-7-2.6-14.5-4-22.4-4c-35.3 0-64 28.7-64 64l0 165.5-2.7-2.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5L106.5 437c48 48 113.1 75 181 75l8.5 0 8 0c1.5 0 3-.1 4.5-.4c91.7-6.2 165-79.4 171.1-171.1c.3-1.5 .4-3 .4-4.5l0-176c0-35.3-28.7-64-64-64c-5.5 0-10.9 .7-16 2l0-2c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4C303.2 14.7 281.3 0 256 0zM240 96.1l0-.1 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 31.9 0 .1 0 136c0 13.3 10.7 24 24 24s24-10.7 24-24l0-136c0 0 0 0 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16l0 55.9c0 0 0 .1 0 .1l0 80c0 13.3 10.7 24 24 24s24-10.7 24-24l0-71.9c0 0 0-.1 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16l0 172.9c-.1 .6-.1 1.3-.2 1.9c-3.4 69.7-59.3 125.6-129 129c-.6 0-1.3 .1-1.9 .2l-4.9 0-8.5 0c-55.2 0-108.1-21.9-147.1-60.9L52.7 315.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L119 336.4c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2L160 96c0-8.8 7.2-16 16-16c8.8 0 16 7.1 16 15.9L192 232c0 13.3 10.7 24 24 24s24-10.7 24-24l0-135.9z"],"hand-pointer":[448,512,[],"regular","M160 64c0-8.8 7.2-16 16-16s16 7.2 16 16l0 136c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c7.8 0 14.3 5.6 15.7 13c1.6 8.2 7.3 15.1 15.1 18s16.7 1.6 23.3-3.6c2.7-2.1 6.1-3.4 9.9-3.4c8.8 0 16 7.2 16 16l0 16 0 104c0 39.8-32.2 72-72 72l-56 0-59.8 0-.9 0c-37.4 0-72.4-18.7-93.2-49.9L50.7 312.9c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4L116 353.2c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23l0-19.9 0-256zM176 0c-35.3 0-64 28.7-64 64l0 197.7C91.2 238 55.5 232.8 28.5 250.7C-.9 270.4-8.9 310.1 10.8 339.5L78.3 440.8c29.7 44.5 79.6 71.2 133.1 71.2l.9 0 59.8 0 56 0c66.3 0 120-53.7 120-120l0-104 0-16c0-35.3-28.7-64-64-64c-4.5 0-8.8 .5-13 1.3c-11.7-15.4-30.2-25.3-51-25.3c-6.9 0-13.5 1.1-19.7 3.1C288.7 170.7 269.6 160 248 160c-2.7 0-5.4 .2-8 .5L240 64c0-35.3-28.7-64-64-64zm48 304c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96zm48-16c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96z"],"hand-point-right":[512,512,[],"regular","M448 128l-177.6 0c1 5.2 1.6 10.5 1.6 16l0 16 32 0 144 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM224 144c0-17.7-14.3-32-32-32c0 0 0 0 0 0l-24 0c-66.3 0-120 53.7-120 120l0 48c0 52.5 33.7 97.1 80.7 113.4c-.5-3.1-.7-6.2-.7-9.4c0-20 9.2-37.9 23.6-49.7c-4.9-9-7.6-19.4-7.6-30.3c0-15.1 5.3-29 14-40c-8.8-11-14-24.9-14-40l0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40c0 8.8 7.2 16 16 16s16-7.2 16-16l0-40 0-40zM192 64s0 0 0 0c18 0 34.6 6 48 16l208 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-82 0c1.3 5.1 2 10.5 2 16c0 25.3-14.7 47.2-36 57.6c2.6 7 4 14.5 4 22.4c0 20-9.2 37.9-23.6 49.7c4.9 9 7.6 19.4 7.6 30.3c0 35.3-28.7 64-64 64l-64 0-24 0C75.2 448 0 372.8 0 280l0-48C0 139.2 75.2 64 168 64l24 0zm64 336c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0zm16-176c0 5.5-.7 10.9-2 16l2 0 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0 16zm-24 64l-40 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-24 0z"],"hand-point-up":[384,512,[],"regular","M64 64l0 177.6c5.2-1 10.5-1.6 16-1.6l16 0 0-32L96 64c0-8.8-7.2-16-16-16s-16 7.2-16 16zM80 288c-17.7 0-32 14.3-32 32c0 0 0 0 0 0l0 24c0 66.3 53.7 120 120 120l48 0c52.5 0 97.1-33.7 113.4-80.7c-3.1 .5-6.2 .7-9.4 .7c-20 0-37.9-9.2-49.7-23.6c-9 4.9-19.4 7.6-30.3 7.6c-15.1 0-29-5.3-40-14c-11 8.8-24.9 14-40 14l-40 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l40 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-40 0-40 0zM0 320s0 0 0 0c0-18 6-34.6 16-48L16 64C16 28.7 44.7 0 80 0s64 28.7 64 64l0 82c5.1-1.3 10.5-2 16-2c25.3 0 47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c20 0 37.9 9.2 49.7 23.6c9-4.9 19.4-7.6 30.3-7.6c35.3 0 64 28.7 64 64l0 64 0 24c0 92.8-75.2 168-168 168l-48 0C75.2 512 0 436.8 0 344l0-24zm336-64c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48 0 16c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64zM160 240c5.5 0 10.9 .7 16 2l0-2 0-32c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32 16 0zm64 24l0 40c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 0-16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 24z"],"hand-point-down":[384,512,[],"regular","M64 448l0-177.6c5.2 1 10.5 1.6 16 1.6l16 0 0 32 0 144c0 8.8-7.2 16-16 16s-16-7.2-16-16zM80 224c-17.7 0-32-14.3-32-32c0 0 0 0 0 0l0-24c0-66.3 53.7-120 120-120l48 0c52.5 0 97.1 33.7 113.4 80.7c-3.1-.5-6.2-.7-9.4-.7c-20 0-37.9 9.2-49.7 23.6c-9-4.9-19.4-7.6-30.3-7.6c-15.1 0-29 5.3-40 14c-11-8.8-24.9-14-40-14l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-40 0-40 0zM0 192s0 0 0 0c0 18 6 34.6 16 48l0 208c0 35.3 28.7 64 64 64s64-28.7 64-64l0-82c5.1 1.3 10.5 2 16 2c25.3 0 47.2-14.7 57.6-36c7 2.6 14.5 4 22.4 4c20 0 37.9-9.2 49.7-23.6c9 4.9 19.4 7.6 30.3 7.6c35.3 0 64-28.7 64-64l0-64 0-24C384 75.2 308.8 0 216 0L168 0C75.2 0 0 75.2 0 168l0 24zm336 64c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 64zM160 272c5.5 0 10.9-.7 16-2l0 2 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32 16 0zm64-24l0-40c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-24z"],"hand-point-left":[512,512,[],"regular","M64 128l177.6 0c-1 5.2-1.6 10.5-1.6 16l0 16-32 0L64 160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm224 16c0-17.7 14.3-32 32-32c0 0 0 0 0 0l24 0c66.3 0 120 53.7 120 120l0 48c0 52.5-33.7 97.1-80.7 113.4c.5-3.1 .7-6.2 .7-9.4c0-20-9.2-37.9-23.6-49.7c4.9-9 7.6-19.4 7.6-30.3c0-15.1-5.3-29-14-40c8.8-11 14-24.9 14-40l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-40 0-40zm32-80s0 0 0 0c-18 0-34.6 6-48 16L64 80C28.7 80 0 108.7 0 144s28.7 64 64 64l82 0c-1.3 5.1-2 10.5-2 16c0 25.3 14.7 47.2 36 57.6c-2.6 7-4 14.5-4 22.4c0 20 9.2 37.9 23.6 49.7c-4.9 9-7.6 19.4-7.6 30.3c0 35.3 28.7 64 64 64l64 0 24 0c92.8 0 168-75.2 168-168l0-48c0-92.8-75.2-168-168-168l-24 0zM256 400c-8.8 0-16-7.2-16-16s7.2-16 16-16l48 0 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0zM240 224c0 5.5 .7 10.9 2 16l-2 0-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l32 0 0 16zm24 64l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l24 0z"],"hand-scissors":[512,512,[],"regular","M.2 276.3c-1.2-35.3 26.4-65 61.7-66.2l3.3-.1L57 208.1C22.5 200.5 .7 166.3 8.3 131.8S50.2 75.5 84.7 83.2l173 38.3c2.3-2.9 4.7-5.7 7.1-8.5l18.4-20.3C299.9 74.5 323.5 64 348.3 64l10.2 0c54.1 0 104.1 28.7 131.3 75.4l1.5 2.6c13.6 23.2 20.7 49.7 20.7 76.6L512 344c0 66.3-53.7 120-120 120l-8 0-96 0c-35.3 0-64-28.7-64-64c0-2.8 .2-5.6 .5-8.3c-19.4-11-32.5-31.8-32.5-55.7c0-.8 0-1.6 0-2.4L66.4 338c-35.3 1.2-65-26.4-66.2-61.7zm63.4-18.2c-8.8 .3-15.7 7.7-15.4 16.5s7.7 15.7 16.5 15.4l161.5-5.6c9.8-.3 18.7 5.3 22.7 14.2s2.2 19.3-4.5 26.4c-2.8 2.9-4.4 6.7-4.4 11c0 8.8 7.2 16 16 16c9.1 0 17.4 5.1 21.5 13.3s3.2 17.9-2.3 25.1c-2 2.7-3.2 6-3.2 9.6c0 8.8 7.2 16 16 16l96 0 8 0c39.8 0 72-32.2 72-72l0-125.4c0-18.4-4.9-36.5-14.2-52.4l-1.5-2.6c-18.6-32-52.8-51.6-89.8-51.6l-10.2 0c-11.3 0-22 4.8-29.6 13.1l-17.5-15.9 17.5 15.9-18.4 20.3c-.6 .6-1.1 1.3-1.7 1.9l57 13.2c8.6 2 14 10.6 12 19.2s-10.6 14-19.2 12l-85.6-19.7L74.3 130c-8.6-1.9-17.2 3.5-19.1 12.2s3.5 17.2 12.2 19.1l187.5 41.6c10.2 2.3 17.8 10.9 18.7 21.4l.1 1c.6 6.6-1.5 13.1-5.8 18.1s-10.6 7.9-17.2 8.2L63.6 258.1z"],"hand-spock":[576,512,[],"regular","M170.2 80.8C161 47 180.8 12 214.6 2.4c34-9.6 69.4 10.2 79 44.2l30.3 107.1L337.1 84c6.6-34.7 40.1-57.5 74.8-50.9c31.4 6 53 33.9 52 64.9c10-2.6 20.8-2.8 31.5-.1c34.3 8.6 55.1 43.3 46.6 77.6L486.7 397.2C469.8 464.7 409.2 512 339.6 512l-33.7 0c-56.9 0-112.2-19-157.2-53.9l-92-71.6c-27.9-21.7-32.9-61.9-11.2-89.8s61.9-32.9 89.8-11.2l17 13.2L100.5 167.5c-13-32.9 3.2-70.1 36-83c11.1-4.4 22.7-5.4 33.7-3.7zm77.1-21.2c-2.4-8.5-11.2-13.4-19.7-11s-13.4 11.2-11 19.7l54.8 182.4c3.5 12.3-3.3 25.2-15.4 29.3s-25.3-2-30-13.9L174.9 138.1c-3.2-8.2-12.5-12.3-20.8-9s-12.3 12.5-9 20.8l73.3 185.6c12 30.3-23.7 57-49.4 37l-63.1-49.1c-7-5.4-17-4.2-22.5 2.8s-4.2 17 2.8 22.5l92 71.6c36.5 28.4 81.4 43.8 127.7 43.8l33.7 0c47.5 0 89-32.4 100.5-78.5l55.4-221.6c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-26 104C435.6 271.8 425 280 413 280c-16.5 0-28.9-15-25.8-31.2L415.7 99c1.7-8.7-4-17.1-12.7-18.7s-17.1 4-18.7 12.7L352.5 260c-2.2 11.6-12.4 20-24.2 20c-11 0-20.7-7.3-23.7-17.9L247.4 59.6z"],"hand-back-fist":[448,512,["hand-rock"],"regular","M144 64c0-8.8 7.2-16 16-16s16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16l0 104c0 31.3-20 58-48 67.9c-9.6 3.4-16 12.5-16 22.6L304 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-117.8c38-20.1 64-60.1 64-106.2l0-104c0-35.3-28.7-64-64-64c-2.8 0-5.6 .2-8.3 .5C332.8 77.1 311.9 64 288 64c-2.8 0-5.6 .2-8.3 .5C268.8 45.1 247.9 32 224 32c-2.8 0-5.6 .2-8.3 .5C204.8 13.1 183.9 0 160 0C124.7 0 96 28.7 96 64l0 64.3c-11.7 7.4-22.5 16.4-32 26.9l17.8 16.1L64 155.2l-9.4 10.5C40 181.8 32 202.8 32 224.6l0 12.8c0 49.6 24.2 96.1 64.8 124.5l13.8-19.7L96.8 361.9l8.9 6.2c6.9 4.8 14.4 8.6 22.3 11.3L128 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-128.1c0-12.6-9.8-23.1-22.4-23.9c-7.3-.5-14.3-2.9-20.3-7.1l-13.1 18.7 13.1-18.7-8.9-6.2C96.6 303.1 80 271.3 80 237.4l0-12.8c0-9.9 3.7-19.4 10.3-26.8l9.4-10.5c3.8-4.2 7.9-8.1 12.3-11.6l0 32.3c0 8.8 7.2 16 16 16s16-7.2 16-16l0-65.7 0-14.3 0-64z"],"hand-lizard":[512,512,[],"regular","M72 112c-13.3 0-24 10.7-24 24s10.7 24 24 24l168 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-104 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l152 0c4.5 0 8.9 1.3 12.7 3.6l64 40c7 4.4 11.3 12.1 11.3 20.4l0 24c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-10.7L281.1 384 136 384c-39.8 0-72-32.2-72-72s32.2-72 72-72l104 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L72 208c-39.8 0-72-32.2-72-72S32.2 64 72 64l209.6 0c46.7 0 90.9 21.5 119.7 58.3l78.4 100.1c20.9 26.7 32.3 59.7 32.3 93.7L512 424c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-107.9c0-23.2-7.8-45.8-22.1-64.1L363.5 151.9c-19.7-25.2-49.9-39.9-81.9-39.9L72 112z"],"hand-peace":[512,512,[],"regular","M250.8 1.4c-35.2-3.7-66.6 21.8-70.3 57L174 119 156.7 69.6C145 36.3 108.4 18.8 75.1 30.5S24.2 78.8 35.9 112.1L88.7 262.2C73.5 276.7 64 297.3 64 320c0 0 0 0 0 0l0 24c0 92.8 75.2 168 168 168l48 0c92.8 0 168-75.2 168-168l0-72 0-16 0-32c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-.7 0-1.5 0-2.2 0l5.9-56.3c3.7-35.2-21.8-66.6-57-70.3zm-.2 155.4C243.9 166.9 240 179 240 192l0 48c0 .7 0 1.4 0 2c-5.1-1.3-10.5-2-16-2l-7.4 0-5.4-15.3 17-161.3c.9-8.8 8.8-15.2 17.6-14.2s15.2 8.8 14.2 17.6l-9.5 90.1zM111.4 85.6L165.7 240 144 240c-4 0-8 .3-11.9 .9L81.2 96.2c-2.9-8.3 1.5-17.5 9.8-20.4s17.5 1.5 20.4 9.8zM288 192c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48zm38.4 108c10.4 21.3 32.3 36 57.6 36c5.5 0 10.9-.7 16-2l0 10c0 66.3-53.7 120-120 120l-48 0c-66.3 0-120-53.7-120-120l0-24s0 0 0 0c0-17.7 14.3-32 32-32l80 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c35.3 0 64-28.7 64-64c0-.7 0-1.4 0-2c5.1 1.3 10.5 2 16 2c7.9 0 15.4-1.4 22.4-4zM400 272c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 0 16z"],"hands-asl-interpreting":[640,512,["asl"],"solid","M156.6 46.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L13.5 189.4C4.6 207.2 0 226.8 0 246.7L0 256c0 70.7 57.3 128 128 128l72 0 8 0 0-.3c35.2-2.7 65.4-22.8 82.1-51.7c8.8-15.3 3.6-34.9-11.7-43.7s-34.9-3.6-43.7 11.7c-7 12-19.9 20-34.7 20c-22.1 0-40-17.9-40-40s17.9-40 40-40c14.8 0 27.7 8 34.7 20c8.8 15.3 28.4 20.5 43.7 11.7s20.5-28.4 11.7-43.7c-12.8-22.1-33.6-39.1-58.4-47.1l80.8-22c17-4.6 27.1-22.2 22.5-39.3s-22.2-27.1-39.3-22.5L194.9 124.6l81.6-68c13.6-11.3 15.4-31.5 4.1-45.1S249.1-3.9 235.5 7.4L133.6 92.3l23-46zM483.4 465.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l85.9-171.7c8.9-17.8 13.5-37.4 13.5-57.2l0-9.3c0-70.7-57.3-128-128-128l-72 0-8 0 0 .3c-35.2 2.7-65.4 22.8-82.1 51.7c-8.9 15.3-3.6 34.9 11.7 43.7s34.9 3.6 43.7-11.7c7-12 19.9-20 34.7-20c22.1 0 40 17.9 40 40s-17.9 40-40 40c-14.8 0-27.7-8-34.7-20c-8.9-15.3-28.4-20.5-43.7-11.7s-20.5 28.4-11.7 43.7c12.8 22.1 33.6 39.1 58.4 47.1l-80.8 22c-17.1 4.7-27.1 22.2-22.5 39.3s22.2 27.1 39.3 22.5l100.7-27.5-81.6 68c-13.6 11.3-15.4 31.5-4.1 45.1s31.5 15.4 45.1 4.1l101.9-84.9-23 46z"],handshake:[640,512,[],"regular","M272.2 64.6l-51.1 51.1c-15.3 4.2-29.5 11.9-41.5 22.5L153 161.9C142.8 171 129.5 176 115.8 176L96 176l0 128c20.4 .6 39.8 8.9 54.3 23.4l35.6 35.6 7 7c0 0 0 0 0 0L219.9 397c6.2 6.2 16.4 6.2 22.6 0c1.7-1.7 3-3.7 3.7-5.8c2.8-7.7 9.3-13.5 17.3-15.3s16.4 .6 22.2 6.5L296.5 393c11.6 11.6 30.4 11.6 41.9 0c5.4-5.4 8.3-12.3 8.6-19.4c.4-8.8 5.6-16.6 13.6-20.4s17.3-3 24.4 2.1c9.4 6.7 22.5 5.8 30.9-2.6c9.4-9.4 9.4-24.6 0-33.9L340.1 243l-35.8 33c-27.3 25.2-69.2 25.6-97 .9c-31.7-28.2-32.4-77.4-1.6-106.5l70.1-66.2C303.2 78.4 339.4 64 377.1 64c36.1 0 71 13.3 97.9 37.2L505.1 128l38.9 0 40 0 40 0c8.8 0 16 7.2 16 16l0 208c0 17.7-14.3 32-32 32l-32 0c-11.8 0-22.2-6.4-27.7-16l-84.9 0c-3.4 6.7-7.9 13.1-13.5 18.7c-17.1 17.1-40.8 23.8-63 20.1c-3.6 7.3-8.5 14.1-14.6 20.2c-27.3 27.3-70 30-100.4 8.1c-25.1 20.8-62.5 19.5-86-4.1L159 404l-7-7-35.6-35.6c-5.5-5.5-12.7-8.7-20.4-9.3C96 369.7 81.6 384 64 384l-32 0c-17.7 0-32-14.3-32-32L0 144c0-8.8 7.2-16 16-16l40 0 40 0 19.8 0c2 0 3.9-.7 5.3-2l26.5-23.6C175.5 77.7 211.4 64 248.7 64L259 64c4.4 0 8.9 .2 13.2 .6zM544 320l0-144-48 0c-5.9 0-11.6-2.2-15.9-6.1l-36.9-32.8c-18.2-16.2-41.7-25.1-66.1-25.1c-25.4 0-49.8 9.7-68.3 27.1l-70.1 66.2c-10.3 9.8-10.1 26.3 .5 35.7c9.3 8.3 23.4 8.1 32.5-.3l71.9-66.4c9.7-9 24.9-8.4 33.9 1.4s8.4 24.9-1.4 33.9l-.8 .8 74.4 74.4c10 10 16.5 22.3 19.4 35.1l74.8 0zM64 336a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm528 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z"],"thumbs-down":[512,512,[],"regular","M323.8 477.2c-38.2 10.9-78.1-11.2-89-49.4l-5.7-20c-3.7-13-10.4-25-19.5-35l-51.3-56.4c-8.9-9.8-8.2-25 1.6-33.9s25-8.2 33.9 1.6l51.3 56.4c14.1 15.5 24.4 34 30.1 54.1l5.7 20c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7l-5.7-20c-5.7-19.9-14.7-38.7-26.6-55.5c-5.2-7.3-5.8-16.9-1.7-24.9s12.3-13 21.3-13L448 288c8.8 0 16-7.2 16-16c0-6.8-4.3-12.7-10.4-15c-7.4-2.8-13-9-14.9-16.7s.1-15.8 5.3-21.7c2.5-2.8 4-6.5 4-10.6c0-7.8-5.6-14.3-13-15.7c-8.2-1.6-15.1-7.3-18-15.2s-1.6-16.7 3.6-23.3c2.1-2.7 3.4-6.1 3.4-9.9c0-6.7-4.2-12.6-10.2-14.9c-11.5-4.5-17.7-16.9-14.4-28.8c.4-1.3 .6-2.8 .6-4.3c0-8.8-7.2-16-16-16l-97.5 0c-12.6 0-25 3.7-35.5 10.7l-61.7 41.1c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l61.7-41.1c18.4-12.3 40-18.8 62.1-18.8L384 32c34.7 0 62.9 27.6 64 62c14.6 11.7 24 29.7 24 50c0 4.5-.5 8.8-1.3 13c15.4 11.7 25.3 30.2 25.3 51c0 6.5-1 12.8-2.8 18.7C504.8 238.3 512 254.3 512 272c0 35.3-28.6 64-64 64l-92.3 0c4.7 10.4 8.7 21.2 11.8 32.2l5.7 20c10.9 38.2-11.2 78.1-49.4 89zM32 384c-17.7 0-32-14.3-32-32L0 128c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 224c0 17.7-14.3 32-32 32l-64 0z"],"thumbs-up":[512,512,[],"regular","M323.8 34.8c-38.2-10.9-78.1 11.2-89 49.4l-5.7 20c-3.7 13-10.4 25-19.5 35l-51.3 56.4c-8.9 9.8-8.2 25 1.6 33.9s25 8.2 33.9-1.6l51.3-56.4c14.1-15.5 24.4-34 30.1-54.1l5.7-20c3.6-12.7 16.9-20.1 29.7-16.5s20.1 16.9 16.5 29.7l-5.7 20c-5.7 19.9-14.7 38.7-26.6 55.5c-5.2 7.3-5.8 16.9-1.7 24.9s12.3 13 21.3 13L448 224c8.8 0 16 7.2 16 16c0 6.8-4.3 12.7-10.4 15c-7.4 2.8-13 9-14.9 16.7s.1 15.8 5.3 21.7c2.5 2.8 4 6.5 4 10.6c0 7.8-5.6 14.3-13 15.7c-8.2 1.6-15.1 7.3-18 15.2s-1.6 16.7 3.6 23.3c2.1 2.7 3.4 6.1 3.4 9.9c0 6.7-4.2 12.6-10.2 14.9c-11.5 4.5-17.7 16.9-14.4 28.8c.4 1.3 .6 2.8 .6 4.3c0 8.8-7.2 16-16 16l-97.5 0c-12.6 0-25-3.7-35.5-10.7l-61.7-41.1c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l61.7 41.1c18.4 12.3 40 18.8 62.1 18.8l97.5 0c34.7 0 62.9-27.6 64-62c14.6-11.7 24-29.7 24-50c0-4.5-.5-8.8-1.3-13c15.4-11.7 25.3-30.2 25.3-51c0-6.5-1-12.8-2.8-18.7C504.8 273.7 512 257.7 512 240c0-35.3-28.6-64-64-64l-92.3 0c4.7-10.4 8.7-21.2 11.8-32.2l5.7-20c10.9-38.2-11.2-78.1-49.4-89zM32 192c-17.7 0-32 14.3-32 32L0 448c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-224c0-17.7-14.3-32-32-32l-64 0z"],"log-in":[512,512,[],"solid","M352 96l64 0c17.7 0 32 14.3 32 32l0 256c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c53 0 96-43 96-96l0-256c0-53-43-96-96-96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm-9.4 182.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z"],"log-out":[512,512,[],"solid","M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 192 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128zM160 96c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 32C43 32 0 75 0 128L0 384c0 53 43 96 96 96l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l64 0z"],"menu-arrows":[512,512,[],"solid","M352 144l96 112-96 112M160 144L64 256l96 112","transform=rotate(90)","fill=none stroke-width=60 stroke-linejoin=round stroke-linecap=round"],more:[128,512,[],"solid","M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z"],minus:[448,512,[],"solid","M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"],"more-horizontal":[448,512,[],"solid","M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"],plus:[448,512,[],"solid","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"],equals:[448,512,[],"solid","M48 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l352 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48 128zm0 192c-17.7 0-32 14.3-32 32s14.3 32 32 32l352 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48 320z"],"circle-nodes":[512,512,[],"solid","M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z"],"circle-plus":[24,24,[],"regular","M12 8V16M8 12H16M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z",null,"fill=none stroke-width=2 stroke-linecap=round stroke-linejoin=round"],"circle-info":[24,24,[],"regular","M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20ZM12 8v4M12 16h.01",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],"circle-play":[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c7.6-4.2 16.8-4.1 24.3 .5l144 88c7.1 4.4 11.5 12.1 11.5 20.5s-4.4 16.1-11.5 20.5l-144 88c-7.4 4.5-16.7 4.7-24.3 .5s-12.3-12.2-12.3-20.9l0-176c0-8.7 4.7-16.7 12.3-20.9z"],"circle-check":[512,512,[],"regular","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z"],"circle-stop":[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm192-96l128 0c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32z"],"circle-pause":[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm224-72l0 144c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-144c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0l0 144c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-144c0-13.3 10.7-24 24-24s24 10.7 24 24z"],"circle-xmark":[512,512,[],"regular","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z"],"circle-user":[512,512,[],"regular","M406.5 399.6C387.4 352.9 341.5 320 288 320l-64 0c-53.5 0-99.4 32.9-118.5 79.6C69.9 362.2 48 311.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 55.7-21.9 106.2-57.5 143.6zm-40.1 32.7C334.4 452.4 296.6 464 256 464s-78.4-11.6-110.5-31.7c7.3-36.7 39.7-64.3 78.5-64.3l64 0c38.8 0 71.2 27.6 78.5 64.3zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-272a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm-88-40a88 88 0 1 0 176 0 88 88 0 1 0 -176 0z"],"circle-dot":[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"],"circle-right":[512,512,[],"regular","M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 151.2c-4.2-4.6-10.1-7.2-16.4-7.2C266 144 256 154 256 166.3l0 41.7-96 0c-17.7 0-32 14.3-32 32l0 32c0 17.7 14.3 32 32 32l96 0 0 41.7c0 12.3 10 22.3 22.3 22.3c6.2 0 12.1-2.6 16.4-7.2l84-91c3.5-3.8 5.4-8.7 5.4-13.9s-1.9-10.1-5.4-13.9l-84-91z"],"circle-up":[512,512,[],"regular","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM151.2 217.4c-4.6 4.2-7.2 10.1-7.2 16.4c0 12.3 10 22.3 22.3 22.3l41.7 0 0 96c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-96 41.7 0c12.3 0 22.3-10 22.3-22.3c0-6.2-2.6-12.1-7.2-16.4l-91-84c-3.8-3.5-8.7-5.4-13.9-5.4s-10.1 1.9-13.9 5.4l-91 84z"],"circle-question":[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm169.8-90.7c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"],"circle-left":[512,512,[],"regular","M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM217.4 376.9c4.2 4.5 10.1 7.1 16.3 7.1c12.3 0 22.3-10 22.3-22.3l0-57.7 96 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-96 0 0-57.7c0-12.3-10-22.3-22.3-22.3c-6.2 0-12.1 2.6-16.3 7.1L117.5 242.2c-3.5 3.8-5.5 8.7-5.5 13.8s2 10.1 5.5 13.8l99.9 107.1z"],"circle-down":[512,512,[],"regular","M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM376.9 294.6c4.5-4.2 7.1-10.1 7.1-16.3c0-12.3-10-22.3-22.3-22.3L304 256l0-96c0-17.7-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32l0 96-57.7 0C138 256 128 266 128 278.3c0 6.2 2.6 12.1 7.1 16.3l107.1 99.9c3.8 3.5 8.7 5.5 13.8 5.5s10.1-2 13.8-5.5l107.1-99.9z"],search:[512,512,[],"solid","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"],compass:[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm306.7 69.1L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"],clock:[512,512,[],"regular","M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"],hourglass:[384,512,[],"regular","M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48l8 0 0 19c0 40.3 16 79 44.5 107.5L158.1 256 76.5 337.5C48 366 32 404.7 32 445l0 19-8 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l336 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-19c0-40.3-16-79-44.5-107.5L225.9 256l81.5-81.5C336 146 352 107.3 352 67l0-19 8 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 0zM192 289.9l81.5 81.5C293 391 304 417.4 304 445l0 19L80 464l0-19c0-27.6 11-54 30.5-73.5L192 289.9zm0-67.9l-81.5-81.5C91 121 80 94.6 80 67l0-19 224 0 0 19c0 27.6-11 54-30.5 73.5L192 222.1z"],"hourglass-half":[384,512,[],"regular","M0 24C0 10.7 10.7 0 24 0L360 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 19c0 40.3-16 79-44.5 107.5L225.9 256l81.5 81.5C336 366 352 404.7 352 445l0 19 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 512c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0 0-19c0-40.3 16-79 44.5-107.5L158.1 256 76.5 174.5C48 146 32 107.3 32 67l0-19-8 0C10.7 48 0 37.3 0 24zM110.5 371.5c-3.9 3.9-7.5 8.1-10.7 12.5l184.4 0c-3.2-4.4-6.8-8.6-10.7-12.5L192 289.9l-81.5 81.5zM284.2 128C297 110.4 304 89 304 67l0-19L80 48l0 19c0 22.1 7 43.4 19.8 61l184.4 0z"],sidebar:[512,512,[],"regular","M64 64h384a32 32 0 0 1 32 32v320a32 32 0 0 1-32 32H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm128 0v384",null,"fill=none stroke-width=50 stroke-linejoin=round stroke-linecap=round"],"table-cells":[512,512,[],"solid","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm88 64l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0zM64 224l88 0 0 64-88 0 0-64zm232 0l0 64-88 0 0-64 88 0zm64 0l88 0 0 64-88 0 0-64zM152 352l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0z"],"table-cells-large":[512,512,[],"solid","M448 96l0 128-160 0 0-128 160 0zm0 192l0 128-160 0 0-128 160 0zM224 224L64 224 64 96l160 0 0 128zM64 288l160 0 0 128L64 416l0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"],lightbulb:[384,512,[],"regular","M297.2 248.9C311.6 228.3 320 203.2 320 176c0-70.7-57.3-128-128-128S64 105.3 64 176c0 27.2 8.4 52.3 22.8 72.9c3.7 5.3 8.1 11.3 12.8 17.7c0 0 0 0 0 0c12.9 17.7 28.3 38.9 39.8 59.8c10.4 19 15.7 38.8 18.3 57.5L109 384c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8c0 0 0 0 0 0s0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4c0 0 0 0 0 0s0 0 0 0c-12.3 16.8-24.6 33.7-34.5 51.8c-5.9 10.8-9.6 22.5-11.8 34.5l-48.6 0c2.6-18.7 7.9-38.6 18.3-57.5c11.5-20.9 26.9-42.1 39.8-59.8c0 0 0 0 0 0s0 0 0 0s0 0 0 0c4.7-6.4 9-12.4 12.7-17.7zM192 128c-26.5 0-48 21.5-48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16zm0 384c-44.2 0-80-35.8-80-80l0-16 160 0 0 16c0 44.2-35.8 80-80 80z"],flag:[448,512,[],"regular","M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24L0 64 0 350.5 0 400l0 88c0 13.3 10.7 24 24 24s24-10.7 24-24l0-100 80.3-20.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30l0-279.7c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L48 52l0-28zm0 77.5l96.6-24.2c27-6.7 55.5-3.6 80.4 8.8c54.9 27.4 118.7 29.7 175 6.8l0 241.8-24.4 9.1c-33.7 12.6-71.2 10.7-103.4-5.4c-48.2-24.1-103.3-30.1-155.6-17.1L48 338.5l0-237z"],newspaper:[512,512,[],"regular","M168 80c-13.3 0-24 10.7-24 24l0 304c0 8.4-1.4 16.5-4.1 24L440 432c13.3 0 24-10.7 24-24l0-304c0-13.3-10.7-24-24-24L168 80zM72 480c-39.8 0-72-32.2-72-72L0 112C0 98.7 10.7 88 24 88s24 10.7 24 24l0 296c0 13.3 10.7 24 24 24s24-10.7 24-24l0-304c0-39.8 32.2-72 72-72l272 0c39.8 0 72 32.2 72 72l0 304c0 39.8-32.2 72-72 72L72 480zM176 136c0-13.3 10.7-24 24-24l96 0c13.3 0 24 10.7 24 24l0 80c0 13.3-10.7 24-24 24l-96 0c-13.3 0-24-10.7-24-24l0-80zm200-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zM200 272l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z"],shuffle:[512,512,[],"solid","M403.8 34.4c12-5 25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-10.1 0-19.6 4.7-25.6 12.8L284 229.3 244 176l31.2-41.6C293.3 110.2 321.8 96 352 96l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6zM164 282.7L204 336l-31.2 41.6C154.7 401.8 126.2 416 96 416l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c10.1 0 19.6-4.7 25.6-12.8L164 282.7zm274.6 188c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-30.2 0-58.7-14.2-76.8-38.4L121.6 172.8c-6-8.1-15.5-12.8-25.6-12.8l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c30.2 0 58.7 14.2 76.8 38.4L326.4 339.2c6 8.1 15.5 12.8 25.6 12.8l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64z"],"shopping-cart":[24,24,[],"regular","M8 20a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM19 20a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",null,"fill=none stroke-width=2 stroke-linecap=round stroke-linejoin=round"],"credit-card":[576,512,[],"regular","M512 80c8.8 0 16 7.2 16 16l0 32L48 128l0-32c0-8.8 7.2-16 16-16l448 0zm16 144l0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192 480 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24l48 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l112 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-112 0z"],lock:[448,512,[],"solid","M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z"],"lock-open":[576,512,[],"solid","M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48C576 64.5 511.5 0 432 0S288 64.5 288 144l0 48L64 192c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-32 0 0-48z"],"trash-can":[448,512,[],"regular","M170.5 51.6L151.5 80l145 0-19-28.4c-1.5-2.2-4-3.6-6.7-3.6l-93.7 0c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80 368 80l48 0 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 304c0 44.2-35.8 80-80 80l-224 0c-44.2 0-80-35.8-80-80l0-304-8 0c-13.3 0-24-10.7-24-24S10.7 80 24 80l8 0 48 0 13.8 0 36.7-55.1C140.9 9.4 158.4 0 177.1 0l93.7 0c18.7 0 36.2 9.4 46.6 24.9zM80 128l0 304c0 17.7 14.3 32 32 32l224 0c17.7 0 32-14.3 32-32l0-304L80 128zm80 64l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16z"],user:[448,512,[],"regular","M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464l349.5 0c-8.9-63.3-63.3-112-129-112l-91.4 0c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3z"],"user-check":[640,512,[],"solid","M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"],"user-xmark":[640,512,[],"solid","M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM471 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"],"user-large":[512,512,[],"solid","M256 288A144 144 0 1 0 256 0a144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7l450.6 0c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320l-189.4 0z"],"user-large-slash":[640,512,[],"solid","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L381.9 274c48.5-23.2 82.1-72.7 82.1-130C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L38.8 5.1zM545.5 512L528 512 284.3 320l-59 0C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7l450.6 0 .3 0z"],"child-reaching":[384,512,[],"solid","M256 64A64 64 0 1 0 128 64a64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4L112 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 32 0 0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-258.4c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6c-12.6 0-24.9-2-36.6-5.8c-.9-.3-1.8-.7-2.7-.9z"],"person-walking-dashed-line-arrow-right":[640,512,[],"solid","M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224 384 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l146.7 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80zM392 0c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48c0-13.3-10.7-24-24-24zm24 152c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16zM392 320c-13.3 0-24 10.7-24 24l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16c0-13.3-10.7-24-24-24zm24 120c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48z"],"person-walking-arrow-loop-left":[640,512,[],"solid","M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zm347.7 119c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L461.3 384l18.7 0c88.4 0 160-71.6 160-160s-71.6-160-160-160L352 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c53 0 96 43 96 96s-43 96-96 96l-18.7 0 25.4-25.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3l80 80z"],"person-walking-arrow-right":[640,512,[],"solid","M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224 384 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l146.7 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80z"],"street-view":[512,512,[],"solid","M320 64A64 64 0 1 0 192 64a64 64 0 1 0 128 0zm-96 96c-35.3 0-64 28.7-64 64l0 48c0 17.7 14.3 32 32 32l1.8 0 11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5l38.7 0c16.3 0 30-12.3 31.8-28.5L318.2 304l1.8 0c17.7 0 32-14.3 32-32l0-48c0-35.3-28.7-64-64-64l-64 0zM132.3 394.2c13-2.4 21.7-14.9 19.3-27.9s-14.9-21.7-27.9-19.3c-32.4 5.9-60.9 14.2-82 24.8c-10.5 5.3-20.3 11.7-27.8 19.6C6.4 399.5 0 410.5 0 424c0 21.4 15.5 36.1 29.1 45c14.7 9.6 34.3 17.3 56.4 23.4C130.2 504.7 190.4 512 256 512s125.8-7.3 170.4-19.6c22.1-6.1 41.8-13.8 56.4-23.4c13.7-8.9 29.1-23.6 29.1-45c0-13.5-6.4-24.5-14-32.6c-7.5-7.9-17.3-14.3-27.8-19.6c-21-10.6-49.5-18.9-82-24.8c-13-2.4-25.5 6.3-27.9 19.3s6.3 25.5 19.3 27.9c30.2 5.5 53.7 12.8 69 20.5c3.2 1.6 5.8 3.1 7.9 4.5c3.6 2.4 3.6 7.2 0 9.6c-8.8 5.7-23.1 11.8-43 17.3C374.3 457 318.5 464 256 464s-118.3-7-157.7-17.9c-19.9-5.5-34.2-11.6-43-17.3c-3.6-2.4-3.6-7.2 0-9.6c2.1-1.4 4.8-2.9 7.9-4.5c15.3-7.7 38.8-14.9 69-20.5z"],"closed-captioning":[576,512,["cc"],"regular","M512 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l448 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z"],bone:[576,512,[],"solid","M153.7 144.8c6.9 16.3 20.6 31.2 38.3 31.2l192 0c17.7 0 31.4-14.9 38.3-31.2C434.4 116.1 462.9 96 496 96c44.2 0 80 35.8 80 80c0 30.4-17 56.9-42 70.4c-3.6 1.9-6 5.5-6 9.6s2.4 7.7 6 9.6c25 13.5 42 40 42 70.4c0 44.2-35.8 80-80 80c-33.1 0-61.6-20.1-73.7-48.8C415.4 350.9 401.7 336 384 336l-192 0c-17.7 0-31.4 14.9-38.3 31.2C141.6 395.9 113.1 416 80 416c-44.2 0-80-35.8-80-80c0-30.4 17-56.9 42-70.4c3.6-1.9 6-5.5 6-9.6s-2.4-7.7-6-9.6C17 232.9 0 206.4 0 176c0-44.2 35.8-80 80-80c33.1 0 61.6 20.1 73.7 48.8z"],sun:[512,512,[],"regular","M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 18.1 98.5c1.5 8 6.9 14.7 14.4 17.8s16.1 2.2 22.8-2.4L256 450.9l82.5 56.9c6.7 4.6 15.3 5.5 22.8 2.4s12.9-9.8 14.4-17.8l18.1-98.5 98.5-18.1c8-1.5 14.7-6.9 17.8-14.4s2.2-16.1-2.4-22.8L450.9 256l56.9-82.5c4.6-6.7 5.5-15.3 2.4-22.8s-9.8-12.9-17.8-14.4l-98.5-18.1L375.7 19.7zM269.6 110l65.6-45.2 14.4 78.3c1.8 9.8 9.5 17.5 19.3 19.3l78.3 14.4L402 242.4c-5.7 8.2-5.7 19 0 27.2l45.2 65.6-78.3 14.4c-9.8 1.8-17.5 9.5-19.3 19.3l-14.4 78.3L269.6 402c-8.2-5.7-19-5.7-27.2 0l-65.6 45.2-14.4-78.3c-1.8-9.8-9.5-17.5-19.3-19.3L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0zM256 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM192 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"],moon:[384,512,[],"regular","M144.7 98.7c-21 34.1-33.1 74.3-33.1 117.3c0 98 62.8 181.4 150.4 211.7c-12.4 2.8-25.3 4.3-38.6 4.3C126.6 432 48 353.3 48 256c0-68.9 39.4-128.4 96.8-157.3zm62.1-66C91.1 41.2 0 137.9 0 256C0 379.7 100 480 223.5 480c47.8 0 92-15 128.4-40.6c1.9-1.3 3.7-2.7 5.5-4c4.8-3.6 9.4-7.4 13.9-11.4c2.7-2.4 5.3-4.8 7.9-7.3c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-3.7 .6-7.4 1.2-11.1 1.6c-5 .5-10.1 .9-15.3 1c-1.2 0-2.5 0-3.7 0l-.3 0c-96.8-.2-175.2-78.9-175.2-176c0-54.8 24.9-103.7 64.1-136c1-.9 2.1-1.7 3.2-2.6c4-3.2 8.2-6.2 12.5-9c3.1-2 6.3-4 9.6-5.8c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-3.6-.3-7.1-.5-10.7-.6c-2.7-.1-5.5-.1-8.2-.1c-3.3 0-6.5 .1-9.8 .2c-2.3 .1-4.6 .2-6.9 .4z"],heart:[512,512,[],"regular","M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8l0-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9c0 0 0 0 0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5l0 3.3c0 41.9-17.4 81.9-48.1 110.4L288.7 465.9l-2.5 2.3c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM239.1 145c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1s0 0 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5l0 3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7 431.2 268c20.9-19.4 32.8-46.7 32.8-75.2l0-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2c0 0 0 0-.1 .1s0 0-.1 .1l-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7z"],"face-smile":[512,512,["smile"],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"],xmark:[384,512,[],"solid","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"],"wand-sparkles":[512,512,[],"solid","M464 6.1c9.5-8.5 24-8.1 33 .9l8 8c9 9 9.4 23.5 .9 33l-85.8 95.9c-2.6 2.9-4.1 6.7-4.1 10.7l0 21.4c0 8.8-7.2 16-16 16l-15.8 0c-4.6 0-8.9 1.9-11.9 5.3L100.7 500.9C94.3 508 85.3 512 75.8 512c-8.8 0-17.3-3.5-23.5-9.8L9.7 459.7C3.5 453.4 0 445 0 436.2c0-9.5 4-18.5 11.1-24.8l111.6-99.8c3.4-3 5.3-7.4 5.3-11.9l0-27.6c0-8.8 7.2-16 16-16l34.6 0c3.9 0 7.7-1.5 10.7-4.1L464 6.1zM432 288c3.6 0 6.7 2.4 7.7 5.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8-14.8 51.7c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8l-14.8-51.7-51.7-14.8c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8 14.8-51.7c1-3.4 4.1-5.8 7.7-5.8zM87.7 69.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8L87.7 218.2c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8L57.5 166.5 5.8 151.7c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8L72.3 69.8c1-3.4 4.1-5.8 7.7-5.8s6.7 2.4 7.7 5.8zM208 0c3.7 0 6.9 2.5 7.8 6.1l6.8 27.3 27.3 6.8c3.6 .9 6.1 4.1 6.1 7.8s-2.5 6.9-6.1 7.8l-27.3 6.8-6.8 27.3c-.9 3.6-4.1 6.1-7.8 6.1s-6.9-2.5-7.8-6.1l-6.8-27.3-27.3-6.8c-3.6-.9-6.1-4.1-6.1-7.8s2.5-6.9 6.1-7.8l27.3-6.8 6.8-27.3c.9-3.6 4.1-6.1 7.8-6.1z"],star:[576,512,[],"regular","M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z"],"puzzle-piece":[512,512,[],"solid","M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8c0 12.8 10.4 23.2 23.2 23.2l56.8 0c26.5 0 48 21.5 48 48l0 56.8c0 12.8 10.4 23.2 23.2 23.2c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2c-12.8 0-23.2 10.4-23.2 23.2L384 464c0 26.5-21.5 48-48 48l-56.8 0c-12.8 0-23.2-10.4-23.2-23.2c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8c0 12.8-10.4 23.2-23.2 23.2L48 512c-26.5 0-48-21.5-48-48L0 343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256C10.4 256 0 245.6 0 232.8L0 176c0-26.5 21.5-48 48-48l120.8 0c12.8 0 23.2-10.4 23.2-23.2z"],discord:[640,512,[],"brands","M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"],github:[496,512,[],"brands","M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"],"square-js":[448,512,[],"brands","M448 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM180.9 444.9c-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6c13.8 0 22.6-5.4 22.6-26.5V237.7h42.1V381.4c0 43.6-25.6 63.5-62.9 63.5zm85.8-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6c17.4 0 28.6-8.7 28.6-20.8c0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5c0-31.6 24.1-55.6 61.6-55.6c26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18c-12.3 0-20.1 7.8-20.1 18c0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2c0 37.8-29.8 58.6-69.7 58.6c-39.1 0-64.4-18.6-76.7-43z"],python:[448,512,[],"brands","M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"],microsoft:[448,512,[],"brands","M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z"],apple:[384,512,[],"brands","M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"],youtube:[576,512,[],"brands","M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"],"x-twitter":[512,512,[],"brands","M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"],chrome:[512,512,[],"brands","M0 256C0 209.4 12.47 165.6 34.27 127.1L144.1 318.3C166 357.5 207.9 384 256 384C270.3 384 283.1 381.7 296.8 377.4L220.5 509.6C95.9 492.3 0 385.3 0 256zM365.1 321.6C377.4 302.4 384 279.1 384 256C384 217.8 367.2 183.5 340.7 160H493.4C505.4 189.6 512 222.1 512 256C512 397.4 397.4 511.1 256 512L365.1 321.6zM477.8 128H256C193.1 128 142.3 172.1 130.5 230.7L54.19 98.47C101 38.53 174 0 256 0C350.8 0 433.5 51.48 477.8 128V128zM168 256C168 207.4 207.4 168 256 168C304.6 168 344 207.4 344 256C344 304.6 304.6 344 256 344C207.4 344 168 304.6 168 256z"],reddit:[512,512,[],"brands","M0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256L37.1 512c-13.7 0-20.5-16.5-10.9-26.2L75 437C28.7 390.7 0 326.7 0 256zM349.6 153.6c23.6 0 42.7-19.1 42.7-42.7s-19.1-42.7-42.7-42.7c-20.6 0-37.8 14.6-41.8 34c-34.5 3.7-61.4 33-61.4 68.4l0 .2c-37.5 1.6-71.8 12.3-99 29.1c-10.1-7.8-22.8-12.5-36.5-12.5c-33 0-59.8 26.8-59.8 59.8c0 24 14.1 44.6 34.4 54.1c2 69.4 77.6 125.2 170.6 125.2s168.7-55.9 170.6-125.3c20.2-9.6 34.1-30.2 34.1-54c0-33-26.8-59.8-59.8-59.8c-13.7 0-26.3 4.6-36.4 12.4c-27.4-17-62.1-27.7-100-29.1l0-.2c0-25.4 18.9-46.5 43.4-49.9l0 0c4.4 18.8 21.3 32.8 41.5 32.8zM177.1 246.9c16.7 0 29.5 17.6 28.5 39.3s-13.5 29.6-30.3 29.6s-31.4-8.8-30.4-30.5s15.4-38.3 32.1-38.3zm190.1 38.3c1 21.7-13.7 30.5-30.4 30.5s-29.3-7.9-30.3-29.6c-1-21.7 11.8-39.3 28.5-39.3s31.2 16.6 32.1 38.3zm-48.1 56.7c-10.3 24.6-34.6 41.9-63 41.9s-52.7-17.3-63-41.9c-1.2-2.9 .8-6.2 3.9-6.5c18.4-1.9 38.3-2.9 59.1-2.9s40.7 1 59.1 2.9c3.1 .3 5.1 3.6 3.9 6.5z"],ubuntu:[576,512,[],"brands","M469.2 75A75.6 75.6 0 1 0 317.9 75a75.6 75.6 0 1 0 151.2 0zM154.2 240.7A75.6 75.6 0 1 0 3 240.7a75.6 75.6 0 1 0 151.2 0zM57 346C75.6 392.9 108 433 150 461.1s91.5 42.6 142 41.7c-14.7-18.6-22.9-41.5-23.2-65.2c-6.8-.9-13.3-2.1-19.5-3.4c-26.8-5.7-51.9-17.3-73.6-34s-39.3-38.1-51.7-62.5c-20.9 9.9-44.5 12.8-67.1 8.2zm395.1 89.8a75.6 75.6 0 1 0 -151.2 0 75.6 75.6 0 1 0 151.2 0zM444 351.6c18.5 14.8 31.6 35.2 37.2 58.2c33.3-41.3 52.6-92.2 54.8-145.2s-12.5-105.4-42.2-149.4c-8.6 21.5-24 39.6-43.8 51.6c15.4 28.6 22.9 60.8 21.9 93.2s-10.7 64-28 91.6zM101.1 135.4c12.4 2.7 24.3 7.5 35.1 14.3c16.6-24.2 38.9-44.1 64.8-58S255.8 70.4 285.2 70c.2-5.9 .9-11.9 2-17.7c3.6-16.7 11.1-32.3 21.8-45.5c-47.7-3.8-95.4 6-137.6 28.5S94.3 91.7 70.8 133.4c2.7-.2 5.3-.3 8-.3c7.5 0 15 .8 22.4 2.3z"],whatsapp:[448,512,[],"brands","M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"],linux:[448,512,[],"brands","M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"],instagram:[448,512,[],"brands","M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"],facebook:[512,512,[],"brands","M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"],safari:[512,512,[],"brands","M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z"],google:[488,512,[],"brands","M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z"],npm:[576,512,[],"brands","M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z"],"bluetooth-b":[320,512,[],"brands","M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z"],vr:"vr-cardboard","sticky-note":"note-sticky","file-text":"file-lines",script:"scroll",save:"floppy-disk",media:"photo-film","arrows-up-down-left-right":"arrows","rotate-forward":"rotate-right","rotate-back":"rotate-left",cc:"closed-captioning",asl:"hands-asl-interpreting",smile:"face-smile","hand-rock":"hand-back-fist"}}("undefined"==typeof window&&"undefined"==typeof self&&global);
|
|
1
|
+
"use strict";console.warn("Script _build/lexgui.js_ is depracated and will be removed soon. Please use ES Modules or alternatives: https://jxarco.github.io/lexgui.js/docs/"),function(){var T={version:"0.5.7",ready:!1,components:[],signals:{},extraCommandbarEntries:[],activeDraggable:null};function g(e,t,s){return Math.min(Math.max(e,t),s)}function f(e,t){return 0==t?Math.floor(e):+e.toFixed(t??2).replace(/([0-9]+(\.[0-9]+[1-9])?)(\.?0+$)/,"$1")}function u(e,t,s,l,a){return(e-t)*(a-l)/(s-t)+l}T.MOUSE_LEFT_CLICK=0,T.MOUSE_MIDDLE_CLICK=1,T.MOUSE_RIGHT_CLICK=2,T.MOUSE_DOUBLE_CLICK=2,T.MOUSE_TRIPLE_CLICK=3,T.CURVE_MOVEOUT_CLAMP=0,T.CURVE_MOVEOUT_DELETE=1,T.DRAGGABLE_Z_INDEX=101,T.clamp=g,T.round=f,T.remapRange=u,"undefined"!=typeof performance?T.getTime=performance.now.bind(performance):"undefined"!=typeof Date&&Date.now?T.getTime=Date.now.bind(Date):"undefined"!=typeof process?T.getTime=function(){var e=process.hrtime();return.001*e[0]+1e-6*e[1]}:T.getTime=function(){return(new Date).getTime()};function N(e,t){setTimeout(e,t??0)}function d(e){return e.replace(/\s/g,"").replaceAll("@","_").replaceAll("+","_plus_").replaceAll(".","")}function o(e){return e.includes(".")?e.split(".").pop():null}function H(e){var t=document.createElement("div");return t.innerHTML=e,t.textContent||t.innerText||""}function L(e){return JSON.parse(JSON.stringify(e))}function t(e){if(!/^#(?:[A-Fa-f0-9]{3,4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/.test(e))throw"Invalid Hex Color: "+e;3!==(e=e.replace(/^#/,"")).length&&4!==e.length||(e=e.split("").map(e=>e+e).join(""));var t=parseInt(e,16);return{r:(t>>(8===e.length?24:16)&255)/255,g:(t>>(8===e.length?16:8)&255)/255,b:(t>>(8===e.length?8:0)&255)/255,a:(8===e.length?255&t:4===e.length?parseInt(e.slice(-2),16):255)/255}}function s(e,t=255){var s=[e.r,e.g,e.b];return null!=e.a&&s.push(e.a),"#"+s.map(e=>{e=(e=Math.floor(e*t)).toString(16);return 1===e.length?"0"+e:e}).join("")}function l(e){return{r:Math.floor(255*e.r),g:Math.floor(255*e.g),b:Math.floor(255*e.b),a:e.a}}function a(e){var{r:e,g:t,b:s,a:l}=e,l=l??1,a=Math.max(e,t,s),i=a-Math.min(e,t,s);let n=0;return 0!=i&&(n=a===e?(t-s)/i%6:a===t?(s-e)/i+2:(e-t)/i+4,(n*=60)<0)&&(n+=360),{h:n,s:0===a?0:i/a,v:a,a:l}}function B(e){var{h:e,s:t,v:s,a:l}=e,t=s*t,a=t*(1-Math.abs(e/60%2-1)),s=s-t;let i=0,n=0,c=0;return c=e<60?(i=t,n=a,0):e<120?(i=a,n=t,0):e<180?(i=0,n=t,a):e<240?(i=0,n=a,t):e<300?(i=a,n=0,t):(i=t,n=0,a),{r:i+s,g:n+s,b:c+s,a:l}}function p(e,t=8){var s=document.createElement("span"),e=(s.className="lexinputmeasure",s.innerHTML=e,document.body.appendChild(s),s.getBoundingClientRect());return T.UTILS.deleteElement(s),e.width+t}function b(){function e(){return(65536*(1+Math.random())|0).toString(16).substring(1)}return e()+"-"+e()+"-"+e()}function h(i,t={}){let n=0,c=0,l=null,s=t.targetClass,r=t.dragMargin??3,a=(e,t,s)=>{var l=i.parentElement?i.parentElement.getBoundingClientRect():{x:0,y:0,width:0,height:0},a="fixed"==i.style.position?new T.vec2(l.x,l.y):new T.vec2;s=s??e.clientX-n-l.x,t=t??e.clientY-c-l.y,i.style.left=g(s,r+a.x,a.x+l.width-i.offsetWidth-r)+"px",i.style.top=g(t,r+a.y,a.y+l.height-i.offsetHeight-r)+"px",i.style.translate="none"};t.autoAdjust&&a(null,parseInt(i.style.left),parseInt(i.style.top));var e=T.UTILS.uidGenerator();i["draggable-id"]=e;let o=t.onMove?e=>{l&&t.onMove&&t.onMove(l)}:e=>{l&&a(e)},d=t.onDragStart;i.setAttribute("draggable",!0),i.addEventListener("mousedown",function(e){l=e.target.classList.contains(s)||!s?e.target:null}),i.addEventListener("dragstart",function(e){var t,s;e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),l&&((t=new Image).src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=",e.dataTransfer.setDragImage(t,0,0),e.dataTransfer.effectAllowed="move",t=e.target.getBoundingClientRect(),s=l.parentElement.getBoundingClientRect(),s="fixed"==l.style.position?new T.vec2(s.x,s.y):new T.vec2,n=e.clientX-t.x-s.x,c=e.clientY-t.y-s.y,document.addEventListener("mousemove",o),l.eventCatched=!0,T.activeDraggable&&(T.activeDraggable.style.zIndex=T.DRAGGABLE_Z_INDEX),T.activeDraggable=i,T.activeDraggable.style.zIndex=T.DRAGGABLE_Z_INDEX+1,d)&&d(l,e)},!1),document.addEventListener("mouseup",e=>{l&&(l=null,document.removeEventListener("mousemove",o))})}T.doAsync=N,T.getSupportedDOMName=d,T.has=function(e){return-1<T.components.indexOf(e)},T.getExtension=o,T.stripHTML=H,T.deepCopy=L,T.setTheme=function(e){e="light"==e?"light":"dark",document.documentElement.setAttribute("data-theme",e),T.emit("@on_new_color_scheme",e)},T.setThemeColor=function(e,t){document.querySelector(":root").style.setProperty("--"+e,t)},T.getThemeColor=function(e){var t=getComputedStyle(document.querySelector(":root"));return(e=t.getPropertyValue("--"+e)).includes("light-dark")?("light"==t.getPropertyValue("color-scheme")?e.substring(e.indexOf("(")+1,e.indexOf(",")):e.substring(e.indexOf(",")+1,e.indexOf(")"))).replace(/\s/g,""):e},T.getBase64Image=function(e){var t=document.createElement("canvas");return t.width=e.width,t.height=e.height,t.getContext("2d").drawImage(e,0,0),t.toDataURL("image/png")},T.hexToRgb=t,T.hexToHsv=function(e){return a(t(e))},T.rgbToHex=s,T.rgbToCss=l,T.rgbToHsv=a,T.hsvToRgb=B,T.measureRealWidth=p,T.guidGenerator=b,T.buildTextPattern=function(e={}){var t=[],s=(e.lowercase&&t.push("(?=.*[a-z])"),e.uppercase&&t.push("(?=.*[A-Z])"),e.digit&&t.push("(?=.*\\d)"),e.specialChar&&t.push("(?=.*[@#$%^&+=!])"),e.noSpaces&&t.push("(?!.*\\s)"),e.minLength||0),l=e.maxLength||"",t=`^${t.join("")}.{${s},${l}}$`;return e.asRegExp?new RegExp(t):t},T.makeDraggable=h,T.makeCollapsible=function(e,t,s,l={}){e.classList.add("collapsible");var l=l.collapsed??!0,a=T.makeIcon("right");a.classList.add("collapser"),a.dataset.collapsed=l,a.style.marginLeft="auto",a.style.marginRight="0.2rem",a.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),this.dataset.collapsed?(delete this.dataset.collapsed,t.style.display="block"):(this.dataset.collapsed=!0,t.style.display="none")}),e.appendChild(a),(s=s??e.parentElement).appendChild(t)},T.makeCodeSnippet=function(t,e,s={}){if(T.has("CodeEditor")){var l,a,i,n=document.createElement("div"),e=(n.className="lexcodesnippet "+(s.className??""),n.style.width=e?e[0]:"auto",n.style.height=e?e[1]:"auto",new x({noAppend:!0})),c=new T.CodeEditor(e,{skipInfo:!0,disableEdition:!0,allowAddScripts:!1,name:s.tabName});if(c.setText(t,s.language??"Plain Text"),s.linesAdded){const t=c.root.querySelector(".code");for(var r of s.linesAdded)if(r.constructor==Number)t.childNodes[r-1].classList.add("added");else if(r.constructor==Array)for(let e=r[0]-1;e<=r[1]-1;e++)t.childNodes[e].classList.add("added")}if(s.linesRemoved){const t=c.root.querySelector(".code");for(var o of s.linesRemoved)if(o.constructor==Number)t.childNodes[o-1].classList.add("removed");else if(o.constructor==Array)for(let e=o[0]-1;e<=o[1]-1;e++)t.childNodes[e].classList.add("removed")}return s.windowMode&&((t=document.createElement("div")).className="lexwindowbuttons",(l=document.createElement("span")).style.background="#ee4f50",(a=document.createElement("span")).style.background="#f5b720",(i=document.createElement("span")).style.background="#53ca29",t.appendChild(l),t.appendChild(a),t.appendChild(i),c.root.querySelector(".lexareatabs").prepend(t)),(s.lineNumbers??!0)||c.root.classList.add("no-gutter"),n.appendChild(e.root),n}console.error("Import the CodeEditor component to create snippets!")},T.makeKbd=function(e,t=0){var s={Ctrl:"⌃",Enter:"↩",Shift:"⇧",CapsLock:"⇪",Meta:"⌘",Option:"⌥",Alt:"⌥",Tab:"⇥",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Space:"␣"},l=T.makeContainer(["auto","auto"],"flex flex-row ml-auto");for(const a of e)T.makeContainer(["auto","auto"],"self-center text-xs fg-secondary select-none",s[a]??a,l);return l},T.makeIcon=function(e,t={}){let s=T.ICONS[e];console.assert(s,`No icon named _${e}_`);var e=t.iconTitle,l=t.iconClass,t=t.svgClass,a=(s.constructor==String&&(s=T.ICONS[s]),document.createElementNS("http://www.w3.org/2000/svg","svg"));a.setAttribute("viewBox",`0 0 ${s[0]} `+s[1]),t&&a.classList.add(t),s[5]&&(t=s[5].split("="),a.setAttribute(t[0],t[1]));const i=document.createElement("path");return i.setAttribute("fill","var(--color)"),i.setAttribute("d",s[4]),a.appendChild(i),s[6]&&s[6].split(" ").forEach(e=>{e=e.split("=");i.setAttribute(e[0],e[1])}),a.innerHTML+="\x3c!-- This icon might belong to a collection from Iconify - https://iconify.design/ - or !Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --\x3e",(t=document.createElement("a")).title=e??"",t.className="lexicon "+(l??""),t.appendChild(a),t},T.registerIcon=function(e,t,s="none",l=[]){var a=(t=(new DOMParser).parseFromString(t,"image/svg+xml").documentElement).querySelector("path"),i=t.getAttribute("viewBox").split(" "),n=a.getAttribute("d"),c=[],r=[];for(const o of t.attributes)switch(o.name){case"transform":case"fill":case"stroke-width":case"stroke-linecap":case"stroke-linejoin":c.push(o.name+"="+o.value)}for(const d of a.attributes)switch(d.name){case"transform":case"fill":case"stroke-width":case"stroke-linecap":case"stroke-linejoin":r.push(d.name+"="+d.value)}t=[parseInt(i[2]),parseInt(i[3]),l,s,n,c.length?c.join(" "):null,r.length?r.join(" "):null],T.ICONS[e]&&console.warn(e+" will be replaced in LX.ICONS"),T.ICONS[e]=t},T.registerCommandbarEntry=function(e,t){T.extraCommandbarEntries.push({name:e,callback:t})};T.vec2=class O{constructor(e,t){this.x=e??0,this.y=t??e??0}get xy(){return[this.x,this.y]}get yx(){return[this.y,this.x]}set(e,t){this.x=e,this.y=t}add(e,t=new O){return t.set(this.x+e.x,this.y+e.y),t}sub(e,t=new O){return t.set(this.x-e.x,this.y-e.y),t}mul(e,t=new O){return e.constructor==Number&&(e=new O(e)),t.set(this.x*e.x,this.y*e.y),t}div(e,t=new O){return e.constructor==Number&&(e=new O(e)),t.set(this.x/e.x,this.y/e.y),t}abs(e=new O){return e.set(Math.abs(this.x),Math.abs(this.y)),e}dot(e){return this.x*e.x+this.y*e.y}len2(){return this.dot(this)}len(){return Math.sqrt(this.len2())}nrm(e=new O){return e.set(this.x,this.y),e.mul(1/this.len(),e)}dst(e){return e.sub(this).len()}clp(e,t,s=new O){return s.set(g(this.x,e,t),g(this.y,e,t)),s}};class m{constructor(e){Object.defineProperty(m.prototype,"rgb",{get:function(){return this._rgb},set:function(e){this._fromRGB(e)},enumerable:!0,configurable:!0}),Object.defineProperty(m.prototype,"hex",{get:function(){return this._hex},set:function(e){this._fromHex(e)},enumerable:!0,configurable:!0}),Object.defineProperty(m.prototype,"hsv",{get:function(){return this._hsv},set:function(e){this._fromHSV(e)},enumerable:!0,configurable:!0}),this.set(e)}set(e){if("string"==typeof e&&e.startsWith("#"))this._fromHex(e);else if("r"in e&&"g"in e&&"b"in e)e.a=e.a??1,this._fromRGB(e);else{if(!("h"in e&&"s"in e&&"v"in e))throw e;e.a=e.a??1,this._fromHSV(e)}}setHSV(e){this._fromHSV(e)}setRGB(e){this._fromRGB(e)}setHex(e){this._fromHex(e)}_fromHex(e){this._fromRGB(t(e))}_fromRGB(e){this._rgb=e,this._hsv=a(e),this._hex=s(e),this.css=l(this._rgb)}_fromHSV(e){this._hsv=e,this._rgb=B(e),this._hex=s(this._rgb),this.css=l(this._rgb)}}T.Color=m,T.init=function(e={}){var t,s;return this.ready||((s=document.createElement("div")).id="lexroot",s.className="lexcontainer",s.tabIndex=-1,e.rootClass&&(s.className+=" "+e.rootClass),(t=document.createElement("div")).id="modal",this.modal=t,this.root=s,this.container=document.body,this.modal.classList.add("hidden-opacity"),this.modal.toggle=function(e){this.classList.toggle("hidden-opacity",e)},e.container&&(this.container=e.container.constructor===String?document.getElementById(e.container):e.container),this.usingStrictViewport=e.strictViewport??!0,document.documentElement.setAttribute("data-strictVP",this.usingStrictViewport?"true":"false"),this.usingStrictViewport||document.addEventListener("scroll",e=>{document.body.querySelectorAll(".lexmenubox").forEach(e=>{e._updatePosition()})}),this.commandbar=function(e){let n=document.createElement("dialog"),c=(n.className="commandbar",n.tabIndex=-1,e.appendChild(n),[]),r=null;n.addEventListener("keydown",function(e){var t,s;e.stopPropagation(),e.stopImmediatePropagation(),r=r??-1,"Escape"==e.key?(this.close(),h(!0)):"Enter"==e.key?(t=c[r])&&(s=t.item.type&&"checkbox"===t.item.type,this.close(),s?(t.item.checked=!t.item.checked,t.callback.call(window,t.item.checked,t.entry_name)):t.callback.call(window,t.entry_name)):"ArrowDown"==e.key&&r<c.length-1?(r++,n.querySelectorAll(".hovered").forEach(e=>e.classList.remove("hovered")),c[r].classList.add("hovered"),0<(s=c[r].offsetHeight*(r+1)-o.offsetHeight)&&o.scrollTo({top:s,behavior:"smooth"})):"ArrowUp"==e.key&&0<r&&(r--,n.querySelectorAll(".hovered").forEach(e=>e.classList.remove("hovered")),c[r].classList.add("hovered"))}),n.addEventListener("focusout",function(e){e.relatedTarget!=e.currentTarget&&(e.stopPropagation(),e.stopImmediatePropagation(),this.close(),h(!0))}),e.addEventListener("keydown",e=>{if(" "==e.key&&e.ctrlKey)e.stopImmediatePropagation(),e.stopPropagation(),T.setCommandbarState(!0);else for(var t of T.components){var s;if(T[t]&&T[t].prototype.onKeyPressed)for(s of T.CodeEditor.getInstances())s.onKeyPressed(e)}});(e=document.createElement("div")).className="gs-header";var t=document.createElement("a");t.className="fa-solid fa-magnifying-glass",e.appendChild(t);const s=document.createElement("input");s.placeholder="Search...",s.value="",e.appendChild(s);var l=(t=new x({width:"100%",skipAppend:!0,className:"gs-tabs"})).addTabs({parentClass:"p-2"});let a;l.add("All",document.createElement("div"),{selected:!0,onSelect:(e,t)=>{a=t}});const o=document.createElement("div");o.className="searchitembox";let d=null;const h=e=>{o.innerHTML="",c.length=0,r=null,e&&(s.value="")},u=(e,t,s,l)=>{var a,i;e.length&&(d&&d.classList.remove("last"),(a=document.createElement("div")).className="searchitem last",i=l&&l.type&&"checkbox"===l.type,a.innerHTML=i?"<a class='fa fa-check'></a><span>"+(s+e)+"</span>":s+e,a.entry_name=e,a.callback=t,a.item=l,a.addEventListener("click",function(e){this.callback.call(window,this.entry_name),T.setCommandbarState(!1),h(!0)}),a.addEventListener("mouseenter",function(e){n.querySelectorAll(".hovered").forEach(e=>e.classList.remove("hovered")),this.classList.add("hovered"),r=c.indexOf(this)}),a.addEventListener("mouseleave",function(e){this.classList.remove("hovered")}),c.push(a),o.appendChild(a),d=a)},p=(e,t,s)=>{var l=Object.keys(e)[0],a=e.name??s+l;if(a.toLowerCase().includes(t)&&e.callback&&u(e.name??l,e.callback,s,e),!e.name){s+=l+" > ";for(var i of e[l])p(i,t,s)}};return n._addElements=e=>{h();for(var t of T.menubars)for(var s of t.items)p(s,e,"");for(var l of T.extraCommandbarEntries){var a=l.name;a.toLowerCase().includes(e)&&u(a,l.callback,"",{})}if(T.has("CodeEditor")){const r=T.CodeEditor.getInstances();if(r.length){var i=r[0].languages;for(let t of Object.keys(i)){var n="Language: "+t,c=r[0]._getFileIcon(null,i[t].ext),c=c.includes("fa-")?"<i class='"+c+"'></i>":"<img src='https://raw.githubusercontent.com/jxarco/lexgui.js/master/"+c+"'>";c+=n+" <span class='lang-ext'>("+i[t].ext+")</span>",n.toLowerCase().includes(e)&&u(c,()=>{for(var e of r)e._changeLanguage(t)},"",{})}}}},s.addEventListener("input",function(e){n._addElements(this.value.toLowerCase())}),n.appendChild(e),n.appendChild(t.root),n.appendChild(o),n}(this.container),this.container.appendChild(t),e.skipRoot?this.root=document.body:this.container.appendChild(s),(t=document.createElement("section")).className="notifications",this.notifications=document.createElement("ol"),this.notifications.className="",this.notifications.iWidth=0,t.appendChild(this.notifications),document.body.appendChild(t),this.notifications.addEventListener("mouseenter",()=>{this.notifications.classList.add("list")}),this.notifications.addEventListener("mouseleave",()=>{this.notifications.classList.remove("list")}),s.addEventListener("dragover",function(e){e.preventDefault()},!1),document.addEventListener("contextmenu",function(e){e.preventDefault()},!1),t=document.getElementsByTagName("HEAD")[0],(s=document.createElement("link")).rel="stylesheet",s.type="text/css",s.crossOrigin="anonymous",s.href="https://use.fontawesome.com/releases/v6.7.2/css/all.css",t.appendChild(s),this.DEFAULT_NAME_WIDTH="30%",this.DEFAULT_SPLITBAR_SIZE=4,this.OPEN_CONTEXTMENU_ENTRY="click",this.widgetResizeObserver=new ResizeObserver(e=>{for(const s of e){var t=s.target?.jsInstance;t&&t.onResize&&t.onResize(s.contentRect)}}),this.ready=!0,this.menubars=[],e.skipRoot||e.skipDefaultArea||(this.main_area=new x({id:e.id??"mainarea"})),(e.autoTheme??!0)&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches&&(T.setTheme("light"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{T.setTheme(e.matches?"dark":"light")}))),this.main_area},T.setStrictViewport=function(e){this.usingStrictViewport=e??!0,document.documentElement.setAttribute("data-strictVP",this.usingStrictViewport?"true":"false")},T.setCommandbarState=function(e,t=!0){var s=this.commandbar;e?(s.show(),s.querySelector("input").focus(),t&&s._addElements(void 0)):s.close()},T.message=function(t,e,s={}){if(t)return s.modal=!0,new _(e,e=>{e.addTextArea(null,t,null,{disabled:!0,fitHeight:!0})},s);throw"No message to show"},T.popup=function(t,e,s={}){if(!t)throw"No message to show";s.size=s.size??["max-content","auto"],s.class="lexpopup";var l=s.timeout||3e3;const a=new _(e,e=>{e.addTextArea(null,t,null,{disabled:!0,fitHeight:!0})},s);return setTimeout(()=>{a.close()},Math.max(l,150)),a},T.prompt=function t(s,l,a,i={}){i.modal=!0,i.className="prompt";let n="";const c=new _(l,e=>{e.addTextArea(null,s,null,{disabled:!0,fitHeight:!0}),(i.input??!0)&&e.addText(null,i.input||n,e=>n=e,{placeholder:"..."}),e.sameLine(2),e.addButton(null,"Cancel",()=>{i.on_cancel&&i.on_cancel(),c.close()}),e.addButton(null,i.accept||"Continue",()=>{i.required&&""===n?(s+=s.includes("You must fill the input text.")?"":"\nYou must fill the input text.",c.close(),t(s,l,a,i)):(a&&a.call(this,n),c.close())},{buttonClass:"primary"})},i);return(i.input??!0)&&c.root.querySelector("input").focus(),c},T.toast=function(e,t,s={}){if(!e)throw"The toast needs at least a title!";console.assert(this.notifications);const l=document.createElement("li");l.className="lextoast",l.style.translate="0 calc(100% + 30px)",this.notifications.prepend(l),N(()=>{this.notifications.offsetWidth>this.notifications.iWidth&&(this.notifications.iWidth=Math.min(this.notifications.offsetWidth,480),this.notifications.style.width=this.notifications.iWidth+"px"),l.dataset.open=!0},10);var a=document.createElement("div"),i=(a.className="lextoastcontent",l.appendChild(a),document.createElement("div"));i.className="title",i.innerHTML=e,a.appendChild(i),t&&((e=document.createElement("div")).className="desc",e.innerHTML=t,a.appendChild(e)),s.action&&((i=new k).addButton(null,s.action.name??"Accept",s.action.callback.bind(this,l),{width:"auto",maxWidth:"150px",className:"right",buttonClass:"outline"}),l.appendChild(i.root.childNodes[0]));const n=this;l.close=function(){this.dataset.closed=!0,N(()=>{this.remove(),n.notifications.childElementCount||(n.notifications.style.width="unset",n.notifications.iWidth=0)},500)},(s.closable??!0)&&((t=document.createElement("a")).className="fa fa-xmark lexicon closer",t.addEventListener("click",()=>{l.close()}),l.appendChild(t)),-1!=(a=s.timeout??3e3)&&N(()=>{l.close()},a)},T.badge=function(e,t,s={}){var l=document.createElement("div");return l.innerHTML=e,l.className="lexbadge "+(t??""),Object.assign(l.style,s.style??{}),s.asElement?l:l.outerHTML},T.makeContainer=function(e,t,s,l,a={}){var i=document.createElement("div");return i.className="lexcontainer "+(t??""),i.innerHTML=s??"",i.style.width=e&&e[0]?e[0]:"100%",i.style.height=e&&e[1]?e[1]:"100%",Object.assign(i.style,a),l&&(l.attach?l.attach(i):l.appendChild(i)),i},T.asTooltip=function(t,s,a={}){console.assert(t,"You need a trigger to generate a tooltip!"),t.dataset.disableTooltip=!(a.active??!0);let i=null;t.addEventListener("mouseenter",function(e){"true"!=t.dataset.disableTooltip&&(T.root.querySelectorAll(".lextooltip").forEach(e=>e.remove()),(i=document.createElement("div")).className="lextooltip",i.innerHTML=s,N(()=>{var e=[0,0],t=this.getBoundingClientRect(),s=a.offset??6;let l=!0;switch(a.side??"top"){case"left":e[0]+=t.x-i.offsetWidth-s,l=!1;break;case"right":e[0]+=t.x+t.width+s,l=!1;break;case"top":e[1]+=t.y-i.offsetHeight-s,l=!0;break;case"bottom":e[1]+=t.y+t.height+s,l=!0}l?e[0]+=t.x+.5*t.width-.5*i.offsetWidth:e[1]+=t.y+.5*t.height-.5*i.offsetHeight,e[0]=T.clamp(e[0],0,window.innerWidth-i.offsetWidth-4),e[1]=T.clamp(e[1],0,window.innerHeight-i.offsetHeight-4),i.style.left=e[0]+"px",i.style.top=e[1]+"px"}),T.root.appendChild(i))}),t.addEventListener("mouseleave",function(e){i&&(i.dataset.closed=!0,N(()=>{i.remove()},300))})};class C{constructor(e,t,s){this.name=e,this.value=t,this.domEvent=s}}T.IEvent=C;class y{static NONE=0;static NODE_SELECTED=1;static NODE_DELETED=2;static NODE_DBLCLICKED=3;static NODE_CONTEXTMENU=4;static NODE_DRAGGED=5;static NODE_RENAMED=6;static NODE_VISIBILITY=7;static NODE_CARETCHANGED=8;constructor(e,t,s){this.type=e||y.NONE,this.node=t,this.value=s,this.multiple=!1,this.panel=null}string(){switch(this.type){case y.NONE:return"tree_event_none";case y.NODE_SELECTED:return"tree_event_selected";case y.NODE_DELETED:return"tree_event_deleted";case y.NODE_DBLCLICKED:return"tree_event_dblclick";case y.NODE_CONTEXTMENU:return"tree_event_contextmenu";case y.NODE_DRAGGED:return"tree_event_dragged";case y.NODE_RENAMED:return"tree_event_renamed";case y.NODE_VISIBILITY:return"tree_event_visibility";case y.NODE_CARETCHANGED:return"tree_event_caretchanged"}}}T.TreeEvent=y,T.emit=function(e,t,s={}){var l=T.signals[e];if(l){var a,i=s.target;if(i)i[e]&&i[e].call(i,t);else for(var n of l)n instanceof w?n.set(t,s.skipCallback??!0):n.constructor===Function?n(null,t):(a=n[e],console.assert(a,`No callback registered with _${e}_ signal`),a.bind(n)(t))}},T.addSignal=function(e,t,s){t[e]=s,T.signals[e]||(T.signals[e]=[]),-1<T.signals[e].indexOf(t)||T.signals[e].push(t)};class A{static currentMenu=!1;constructor(e,t,s={}){console.assert(e,"DropdownMenu needs a DOM element as trigger!"),A.currentMenu?A.currentMenu.destroy():((this._trigger=e).classList.add("triggered"),(e.ddm=this)._items=t,this._windowPadding=4,this.side=s.side??"bottom",this.align=s.align??"center",this.avoidCollisions=s.avoidCollisions??!0,this.root=document.createElement("div"),this.root.id="root",this.root.dataset.side=this.side,this.root.tabIndex="1",this.root.className="lexdropdownmenu",T.root.appendChild(this.root),this._create(this._items),A.currentMenu=this,N(()=>{this._adjustPosition(),this.root.focus(),this._onClick=e=>{e.target&&(this.root.contains(e.target)||e.target==this._trigger)||this.destroy()},document.body.addEventListener("click",this._onClick)},10))}destroy(){this._trigger.classList.remove("triggered"),delete this._trigger.ddm,document.body.removeEventListener("click",this._onClick),T.root.querySelectorAll(".lexdropdownmenu").forEach(e=>{e.remove()}),A.currentMenu=null}_create(e,a){if(a){const l=a.getBoundingClientRect();let t=document.createElement("div");t.tabIndex="1",t.className="lexdropdownmenu",t.id=a.id,t.dataset.side="right",T.root.appendChild(t),t.currentParent=a,a=t,N(()=>{var e=[l.x+l.width,l.y];this.avoidCollisions&&(e[0]=T.clamp(e[0],0,window.innerWidth-t.offsetWidth-this._windowPadding),e[1]=T.clamp(e[1],0,window.innerHeight-t.offsetHeight-this._windowPadding)),t.style.left=e[0]+"px",t.style.top=e[1]+"px"},10)}else a=this.root;for(let l of e)if(l){const n=l.name??l;var t,s,i=n.replace(/\s/g,"").replaceAll(".","");if(!a.querySelector("#"+i)){const c=document.createElement("div");if(c.className="lexdropdownmenuitem"+(l.name?"":" label")+(l.disabled?" disabled":"")+" "+(l.className??""),c.id=i,c.innerHTML=`<span>${n}</span>`,c.tabIndex="1",a.appendChild(c),l.constructor!==String&&!l.disabled){if(l.submenu?((t=document.createElement("a")).className="fa-solid fa-angle-right fa-xs",c.appendChild(t)):l.kbd&&(l.kbd=[].concat(l.kbd),t=T.makeKbd(l.kbd),c.appendChild(t)),l.icon&&(s=T.makeIcon(l.icon),c.prepend(s)),null!=l.checked){const r=new Q(i+"_entryChecked",l.checked,e=>{var t=l.callback;t&&t.call(this,n,c,e)},{className:"accent"}),o=r.root.querySelector("input");c.prepend(o),c.addEventListener("click",e=>{"checkbox"!=e.target.type&&(o.checked=!o.checked,r.set(o.checked))})}else c.addEventListener("click",()=>{var e=l.callback;e&&e.call(this,n,c),this.destroy()});c.addEventListener("mouseover",e=>{let t=c.id,s=a;for(;s;)t+="/"+s.id,s=s.currentParent?.parentElement;if(T.root.querySelectorAll(".lexdropdownmenu").forEach(e=>{t.includes(e.id)||(e.currentParent.built=!1,e.remove())}),l.submenu){if(c.built)return;c.built=!0,this._create(l.submenu,c)}e.stopPropagation()})}}}else this._addSeparator(a)}_adjustPosition(){var t=[0,0];{var s=this._trigger.getBoundingClientRect();let e=!0;switch(this.side){case"left":t[0]+=s.x-this.root.offsetWidth,e=!1;break;case"right":t[0]+=s.x+s.width,e=!1;break;case"top":t[1]+=s.y-this.root.offsetHeight,e=!0;break;case"bottom":t[1]+=s.y+s.height,e=!0}switch(this.align){case"start":e?t[0]+=s.x:t[1]+=s.y;break;case"center":e?t[0]+=s.x+.5*s.width-.5*this.root.offsetWidth:t[1]+=s.y+.5*s.height-.5*this.root.offsetHeight;break;case"end":e?t[0]+=s.x-this.root.offsetWidth+s.width:t[1]+=s.y-this.root.offsetHeight+s.height}}this.avoidCollisions&&(t[0]=T.clamp(t[0],0,window.innerWidth-this.root.offsetWidth-this._windowPadding),t[1]=T.clamp(t[1],0,window.innerHeight-this.root.offsetHeight-this._windowPadding)),this.root.style.left=t[0]+"px",this.root.style.top=t[1]+"px"}_addSeparator(e){var t=document.createElement("div");t.className="separator",(e=e??this.root).appendChild(t)}}T.DropdownMenu=A;class E{static currentPicker=!1;constructor(e,t,s={}){if(console.assert(t,"ColorPicker needs a DOM element as trigger!"),this._windowPadding=4,this.side=s.side??"bottom",this.align=s.align??"center",this.avoidCollisions=s.avoidCollisions??!0,this.colorModel=s.colorModel??"Hex",this.useAlpha=s.useAlpha??!1,this.callback=s.onChange,this.callback||console.warn("Define a callback in _options.onChange_ to allow getting new Color values!"),E.currentPicker)return void E.currentPicker.destroy();(this._trigger=t).classList.add("triggered"),(t.picker=this).root=document.createElement("div"),this.root.tabIndex="1",this.root.className="lexcolorpicker",this.root.dataset.side=this.side,T.root.appendChild(this.root),this.root.addEventListener("keydown",e=>{"Escape"==e.key&&(e.preventDefault(),e.stopPropagation(),this.destroy())}),(E.currentPicker=this).markerHalfSize=8,this.markerSize=2*this.markerHalfSize,this.currentColor=new m(e);s=new m({h:this.currentColor.hsv.h,s:1,v:1});this.colorPickerBackground=document.createElement("div"),this.colorPickerBackground.className="lexcolorpickerbg",this.colorPickerBackground.style.backgroundColor=`rgb(${s.css.r}, ${s.css.g}, ${s.css.b})`,this.root.appendChild(this.colorPickerBackground),this.intSatMarker=document.createElement("div"),this.intSatMarker.className="lexcolormarker",this.intSatMarker.style.backgroundColor=this.currentColor.hex,this.colorPickerBackground.appendChild(this.intSatMarker),N(this._svToPosition.bind(this,this.currentColor.hsv.s,this.currentColor.hsv.v));let l=e=>{var t=e.movementX,s=e.movementY,l=this.colorPickerBackground.getBoundingClientRect(),a=e.offsetX-l.x,l=e.offsetY-l.y;0!=t&&(0<=a||t<0)&&(a<this.colorPickerBackground.offsetWidth||0<t)&&(this.intSatMarker.style.left=T.clamp(parseInt(this.intSatMarker.style.left)+t,-this.markerHalfSize,this.colorPickerBackground.offsetWidth-this.markerHalfSize)+"px"),0!=s&&(0<=l||s<0)&&(l<this.colorPickerBackground.offsetHeight||0<s)&&(this.intSatMarker.style.top=T.clamp(parseInt(this.intSatMarker.style.top)+s,-this.markerHalfSize,this.colorPickerBackground.offsetHeight-this.markerHalfSize)+"px"),this._positionToSv(parseInt(this.intSatMarker.style.left),parseInt(this.intSatMarker.style.top)),this._updateColorValue(),e.stopPropagation(),e.preventDefault()},a=e=>{var t=this.root.ownerDocument;t.removeEventListener("mousemove",l),t.removeEventListener("mouseup",a),document.body.classList.remove("noevents")};this.colorPickerBackground.addEventListener("mousedown",e=>{var t=this.root.ownerDocument,t=(t.addEventListener("mousemove",l),t.addEventListener("mouseup",a),document.body.classList.add("noevents"),e.stopImmediatePropagation(),e.stopPropagation(),e.offsetX-this.markerHalfSize),e=(this.intSatMarker.style.left=t+"px",e.offsetY-this.markerHalfSize);this.intSatMarker.style.top=e+"px",this._positionToSv(t,e),this._updateColorValue()});t=T.makeContainer(["100%","auto"],"flex flex-row gap-1 items-center","",this.root),window.EyeDropper&&t.appendChild(new D(null,"eyedrop",async()=>{var e=new EyeDropper;try{var t=await e.open();this.fromHexColor(t.sRGBHex)}catch(e){}},{icon:"eye-dropper",buttonClass:"bg-none",title:"Sample Color"}).root),t=T.makeContainer(["100%","100%"],"flex flex-col gap-2","",t);this.colorPickerTracker=document.createElement("div"),this.colorPickerTracker.className="lexhuetracker",t.appendChild(this.colorPickerTracker),this.hueMarker=document.createElement("div"),this.hueMarker.className="lexcolormarker",this.hueMarker.style.backgroundColor=`rgb(${s.css.r}, ${s.css.g}, ${s.css.b})`,this.colorPickerTracker.appendChild(this.hueMarker),N(()=>{var e=T.remapRange(this.currentColor.hsv.h,0,360,0,this.colorPickerTracker.offsetWidth-this.markerSize);this.hueMarker.style.left=e+"px"});const i=e=>{this.hueMarker.style.left=e+"px",this.currentColor.hsv.h=T.remapRange(e,0,this.colorPickerTracker.offsetWidth-this.markerSize,0,360);e=new m({h:this.currentColor.hsv.h,s:1,v:1});this.hueMarker.style.backgroundColor=`rgb(${e.css.r}, ${e.css.g}, ${e.css.b})`,this.colorPickerBackground.style.backgroundColor=`rgb(${e.css.r}, ${e.css.g}, ${e.css.b})`,this._updateColorValue()};let n=e=>{var t=e.movementX,s=this.colorPickerTracker.getBoundingClientRect(),s=e.offsetX-s.x;0!=t&&(0<=s||t<0)&&(s<this.colorPickerTracker.offsetWidth||0<t)&&(s=T.clamp(parseInt(this.hueMarker.style.left)+t,0,this.colorPickerTracker.offsetWidth-this.markerSize),i(s)),e.stopPropagation(),e.preventDefault()},c=e=>{var t=this.root.ownerDocument;t.removeEventListener("mousemove",n),t.removeEventListener("mouseup",c),document.body.classList.remove("noevents")};if(this.colorPickerTracker.addEventListener("mousedown",e=>{var t=this.root.ownerDocument,t=(t.addEventListener("mousemove",n),t.addEventListener("mouseup",c),document.body.classList.add("noevents"),e.stopImmediatePropagation(),e.stopPropagation(),g(e.offsetX-this.markerHalfSize,0,this.colorPickerTracker.offsetWidth-this.markerSize));i(t)}),this.useAlpha){this.alphaTracker=document.createElement("div"),this.alphaTracker.className="lexalphatracker",this.alphaTracker.style.color=`rgb(${this.currentColor.css.r}, ${this.currentColor.css.g}, ${this.currentColor.css.b})`,t.appendChild(this.alphaTracker),this.alphaMarker=document.createElement("div"),this.alphaMarker.className="lexcolormarker",this.alphaMarker.style.backgroundColor=`rgb(${this.currentColor.css.r}, ${this.currentColor.css.g}, ${this.currentColor.css.b},${this.currentColor.css.a})`,this.alphaTracker.appendChild(this.alphaMarker),N(()=>{var e=T.remapRange(this.currentColor.hsv.a,0,1,0,this.alphaTracker.offsetWidth-this.markerSize);this.alphaMarker.style.left=e+"px"});const r=e=>{this.alphaMarker.style.left=e+"px",this.currentColor.hsv.a=T.remapRange(e,0,this.alphaTracker.offsetWidth-this.markerSize,0,1),this._updateColorValue(),this.alphaMarker.style.backgroundColor=`rgb(${this.currentColor.css.r}, ${this.currentColor.css.g}, ${this.currentColor.css.b},${this.currentColor.css.a})`};let s=e=>{var t=e.movementX,s=this.alphaTracker.getBoundingClientRect(),s=e.offsetX-s.x;0!=t&&(0<=s||t<0)&&(s<this.alphaTracker.offsetWidth||0<t)&&(s=T.clamp(parseInt(this.alphaMarker.style.left)+t,0,this.alphaTracker.offsetWidth-this.markerSize),r(s)),e.stopPropagation(),e.preventDefault()},l=e=>{var t=this.root.ownerDocument;t.removeEventListener("mousemove",s),t.removeEventListener("mouseup",l),document.body.classList.remove("noevents")};this.alphaTracker.addEventListener("mousedown",e=>{var t=this.root.ownerDocument,t=(t.addEventListener("mousemove",s),t.addEventListener("mouseup",l),document.body.classList.add("noevents"),e.stopImmediatePropagation(),e.stopPropagation(),g(e.offsetX-this.markerHalfSize,0,this.alphaTracker.offsetWidth-this.markerSize));r(t)})}s=T.makeContainer(["100%","auto"],"flex flex-row gap-1","",this.root);s.appendChild(new M(null,["CSS","Hex","HSV","RGB"],this.colorModel,e=>{this.colorModel=e,this._updateColorValue(null,!0)}).root),this.labelWidget=new z(null,"",null,{inputClass:"bg-none",fit:!0,disabled:!0}),s.appendChild(this.labelWidget.root);{const o=new D(null,"copy",async()=>{navigator.clipboard.writeText(this.labelWidget.value()),o.root.querySelector("input[type='checkbox']").style.pointerEvents="none",N(()=>{o.root.swap(!0),o.root.querySelector("input[type='checkbox']").style.pointerEvents="auto"},3e3)},{swap:"check",icon:"copy",buttonClass:"bg-none",className:"ml-auto",title:"Copy"});o.root.querySelector(".swap-on svg path").style.fill="#42d065",s.appendChild(o.root)}this._updateColorValue(e,!0),N(()=>{this._adjustPosition(),this.root.focus(),this._onClick=e=>{e.target&&(this.root.contains(e.target)||e.target==this._trigger)||this.destroy()},document.body.addEventListener("mousedown",this._onClick,!0),document.body.addEventListener("focusin",this._onClick,!0)},10)}fromHexColor(e){this.currentColor.setHex(e);var{h:t,s,v:l}=this.currentColor.hsv,s=(this._svToPosition(s,l),new m({h:t,s:1,v:1}));this.hueMarker.style.backgroundColor=this.colorPickerBackground.style.backgroundColor=`rgb(${s.css.r}, ${s.css.g}, ${s.css.b})`,this.hueMarker.style.left=T.remapRange(t,0,360,-this.markerHalfSize,this.colorPickerTracker.offsetWidth-this.markerHalfSize)+"px",this._updateColorValue(e)}destroy(){this._trigger.classList.remove("triggered"),delete this._trigger.picker,document.body.removeEventListener("mousedown",this._onClick,!0),document.body.removeEventListener("focusin",this._onClick,!0),T.root.querySelectorAll(".lexcolorpicker").forEach(e=>{e.remove()}),E.currentPicker=null}_svToPosition(e,t){this.intSatMarker.style.left=T.remapRange(e,0,1,-this.markerHalfSize,this.colorPickerBackground.offsetWidth-this.markerHalfSize)+"px",this.intSatMarker.style.top=T.remapRange(1-t,0,1,-this.markerHalfSize,this.colorPickerBackground.offsetHeight-this.markerHalfSize)+"px"}_positionToSv(e,t){this.currentColor.hsv.s=T.remapRange(e,-this.markerHalfSize,this.colorPickerBackground.offsetWidth-this.markerHalfSize,0,1),this.currentColor.hsv.v=1-T.remapRange(t,-this.markerHalfSize,this.colorPickerBackground.offsetHeight-this.markerHalfSize,0,1)}_updateColorValue(e,t=!1){this.currentColor.set(e??this.currentColor.hsv),this.callback&&!t&&this.callback(this.currentColor),this.intSatMarker.style.backgroundColor=this.currentColor.hex,this.useAlpha&&(this.alphaTracker.style.color=`rgb(${this.currentColor.css.r}, ${this.currentColor.css.g}, ${this.currentColor.css.b})`);var s,l,a,e=(e,t=2)=>e.toFixed(t).replace(/([0-9]+(\.[0-9]+[1-9])?)(\.?0+$)/,"$1");"CSS"==this.colorModel?({r:t,g:a,b:s,a:l}=this.currentColor.css,this.labelWidget.set(`rgb${this.useAlpha?"a":""}(${t},${a},${s}${this.useAlpha?","+e(l):""})`)):"Hex"==this.colorModel?this.labelWidget.set((this.useAlpha?this.currentColor.hex:this.currentColor.hex.substr(0,7)).toUpperCase()):"HSV"==this.colorModel?({h:t,s:a,v:s,a:l}=this.currentColor.hsv,t=[Math.floor(t)+"º",Math.floor(100*a)+"%",Math.floor(100*s)+"%"],this.useAlpha&&t.push(e(l)),this.labelWidget.set(t.join(" "))):({r:a,g:s,b:l,a:t}=this.currentColor.rgb,a=[e(a),e(s),e(l)],this.useAlpha&&a.push(e(t)),this.labelWidget.set(a.join(" ")))}_adjustPosition(){var t=[0,0];{var s=this._trigger.getBoundingClientRect();let e=!0;switch(this.side){case"left":t[0]+=s.x-this.root.offsetWidth,e=!1;break;case"right":t[0]+=s.x+s.width,e=!1;break;case"top":t[1]+=s.y-this.root.offsetHeight,e=!0;break;case"bottom":t[1]+=s.y+s.height,e=!0}switch(this.align){case"start":e?t[0]+=s.x:t[1]+=s.y;break;case"center":e?t[0]+=s.x+.5*s.width-.5*this.root.offsetWidth:t[1]+=s.y+.5*s.height-.5*this.root.offsetHeight;break;case"end":e?t[0]+=s.x-this.root.offsetWidth+s.width:t[1]+=s.y-this.root.offsetHeight+s.height}}this.avoidCollisions&&(t[0]=T.clamp(t[0],0,window.innerWidth-this.root.offsetWidth-this._windowPadding),t[1]=T.clamp(t[1],0,window.innerHeight-this.root.offsetHeight-this._windowPadding)),this.root.style.left=t[0]+"px",this.root.style.top=t[1]+"px"}}T.ColorPicker=E;class x{constructor(e={}){var t=document.createElement("div"),s=(t.className="lexarea",e.id&&(t.id=e.id),e.className&&(t.className+=" "+e.className),e.width||"100%"),a=e.height||"100%",s=(this.setLimitBox(e.minWidth,e.minHeight,e.maxWidth,e.maxHeight),s.constructor==Number&&(s+="px"),a.constructor==Number&&(a+="px"),t.style.width=s,t.style.height=a,this.offset=0,this.root=t,this.size=[this.root.offsetWidth,this.root.offsetHeight],this.sections=[],this.panels=[],document.getElementById("lexroot")),a=(s&&!e.skipAppend&&s.appendChild(this.root),e.overlay);if(a&&(this.root.classList.add("overlay-"+a),e.left?this.root.style.left=e.left:e.right?this.root.style.right=e.right:e.top?this.root.style.top=e.top:e.bottom&&(this.root.style.bottom=e.bottom),(e.draggable??!0)&&h(t,e),e.resizeable&&t.classList.add("resizeable"),e.resize)){this.splitBar=document.createElement("div");s="left"==a||"right"==a?"horizontal":"vertical";this.type=a,this.splitBar.className="lexsplitbar "+s,"right"==a?(this.splitBar.style.width=T.DEFAULT_SPLITBAR_SIZE+"px",this.splitBar.style.left=-T.DEFAULT_SPLITBAR_SIZE/2+"px"):"left"==a?(t=Math.min(document.body.clientWidth-T.DEFAULT_SPLITBAR_SIZE,this.root.clientWidth),this.splitBar.style.width=T.DEFAULT_SPLITBAR_SIZE+"px",this.splitBar.style.left=t+T.DEFAULT_SPLITBAR_SIZE/2+"px"):"top"==a?(e=Math.min(document.body.clientHeight-T.DEFAULT_SPLITBAR_SIZE,this.root.clientHeight),this.splitBar.style.height=T.DEFAULT_SPLITBAR_SIZE+"px",this.splitBar.style.top=e+T.DEFAULT_SPLITBAR_SIZE/2+"px"):"bottom"==a&&(this.splitBar.style.height=T.DEFAULT_SPLITBAR_SIZE+"px",this.splitBar.style.top=-T.DEFAULT_SPLITBAR_SIZE/2+"px"),this.splitBar.addEventListener("mousedown",function(e){var t=c.root.ownerDocument;t.addEventListener("mousemove",i),t.addEventListener("mouseup",n),l[0]=e.x,l[1]=e.y,e.stopPropagation(),e.preventDefault(),document.body.classList.add("nocursor"),c.splitBar.classList.add("nocursor")}),this.root.appendChild(this.splitBar);const c=this;let l=[0,0];function i(e){switch(c.type){case"right":var t=l[0]-e.x,s=c.root.offsetWidth+t;c.root.style.width=s+"px";break;case"left":t=l[0]-e.x,s=Math.min(document.body.clientWidth-T.DEFAULT_SPLITBAR_SIZE,c.root.offsetWidth-t);c.root.style.width=s+"px",c.splitBar.style.left=s+T.DEFAULT_SPLITBAR_SIZE/2+"px";break;case"top":t=l[1]-e.y,s=Math.min(document.body.clientHeight-T.DEFAULT_SPLITBAR_SIZE,c.root.offsetHeight-t);c.root.style.height=s+"px",c.splitBar.style.top=s+T.DEFAULT_SPLITBAR_SIZE/2+"px";break;case"bottom":t=l[1]-e.y,s=c.root.offsetHeight+t;c.root.style.height=s+"px"}l[0]=e.x,l[1]=e.y,e.stopPropagation(),e.preventDefault(),c.onresize&&c.onresize(c.root.getBoundingClientRect())}function n(e){var t=c.root.ownerDocument;t.removeEventListener("mousemove",i),t.removeEventListener("mouseup",n),document.body.classList.remove("nocursor"),c.splitBar.classList.remove("nocursor")}}}attach(e){if(this.sections.length)this.sections[1].attach(e);else{if(!e)throw"no content to attach";(e.parent=this).root.appendChild(e.root||e)}}split(t={}){this.sections.length&&(this.offset=this.root.childNodes[0].offsetHeight,this._root=this.sections[0].root,this.root=this.sections[1].root);const s=t.type||"horizontal";var l=t.sizes||["50%","50%"],e="auto"===t.sizes||t.sizes&&"auto"==t.sizes[0]&&"auto"==t.sizes[1];if(!l[1]){let e=l[0];var a=t.top||0;e.constructor==Number&&(e=e+a+"px"),l[1]="calc( 100% - "+e+" )"}a=new x({skipAppend:!0,className:"split"+(t.menubar||t.sidebar?"":" origin")});let i=new x({skipAppend:!0,className:"split"});a.parentArea=this,i.parentArea=this;var n=t.minimizable??!1,t=(t.resize??!0)||n;let c="0px";if(this.offset=0,t&&(this.resize=t,this.splitBar=document.createElement("div"),this.splitBar.className="lexsplitbar "+s,"horizontal"==s?this.splitBar.style.width=T.DEFAULT_SPLITBAR_SIZE+"px":this.splitBar.style.height=T.DEFAULT_SPLITBAR_SIZE+"px",this.splitBar.addEventListener("mousedown",function(e){var t=hf.root.ownerDocument;t.addEventListener("mousemove",r),t.addEventListener("mouseup",o),e.stopPropagation(),e.preventDefault(),document.body.classList.add("nocursor"),hf.splitBar.classList.add("nocursor")}),c=T.DEFAULT_SPLITBAR_SIZE/2+"px",n)&&(this.splitExtended=!1,i.root.addEventListener("animationend",e=>{var t=getComputedStyle(i.root).opacity;i.root.classList.remove(e.animationName+"-"+s),i.root.style.opacity=t,P(i.root)}),this.splitBar.addEventListener("contextmenu",e=>{e.preventDefault(),S(null,e,e=>{e.add("Extend",{disabled:this.splitExtended,callback:()=>{this.extend()}}),e.add("Reduce",{disabled:!this.splitExtended,callback:()=>{this.reduce()}})})})),"horizontal"==s){let e=l[0],t=l[1];e.constructor==Number&&(e+="px"),t.constructor==Number&&(t+="px"),a.root.style.width="calc( "+e+" - "+c+" )",a.root.style.height="calc(100% - 0px)",i.root.style.width="calc( "+t+" - "+c+" )",i.root.style.height="calc(100% - 0px)",this.root.style.display="flex"}else if(a.root.style.width="100%",i.root.style.width="100%",e)a.root.style.height="auto",new ResizeObserver(e=>{for(const s of e){var t=s.target.getComputedSize();i.root.style.height="calc(100% - "+t.height+"px )"}}).observe(a.root);else{let e=l[0],t=l[1];e.constructor==Number&&(e+="px"),t.constructor==Number&&(t+="px"),a.root.style.width="100%",a.root.style.height="auto"==e?e:"calc( "+e+" - "+c+" )",i.root.style.height="auto"==t?t:"calc( "+t+" - "+c+" )"}if(this.root.appendChild(a.root),t&&this.root.appendChild(this.splitBar),this.root.appendChild(i.root),this.sections=[a,i],this.type=s,this._update(),t){const hf=this;function r(e){"horizontal"==hf.type?hf._moveSplit(-e.movementX):hf._moveSplit(-e.movementY),e.stopPropagation(),e.preventDefault()}function o(e){var t=hf.root.ownerDocument;t.removeEventListener("mousemove",r),t.removeEventListener("mouseup",o),document.body.classList.remove("nocursor"),hf.splitBar.classList.remove("nocursor")}}return this.sections}setLimitBox(e=0,t=0,s=1/0,l=1/0){this.minWidth=e,this.minHeight=t,this.maxWidth=s,this.maxHeight=l}setSize(e){let[t,s]=e;null!=t&&t.constructor==Number&&(t+="px"),null!=s&&s.constructor==Number&&(s+="px"),t&&(this.root.style.width=t),s&&(this.root.style.height=s),this.onresize&&this.onresize(this.root.getBoundingClientRect()),N(()=>{this.size=[this.root.clientWidth,this.root.clientHeight],this.propagateEvent("onresize")},150)}extend(){var e,t;this.splitExtended||([e,t]=this.sections,this.splitExtended=!0,"vertical"==this.type?(this.offset=t.root.offsetHeight,t.root.classList.add("fadeout-vertical"),this._moveSplit(-1/0,!0)):(this.offset=t.root.offsetWidth-8,t.root.classList.add("fadeout-horizontal"),this._moveSplit(-1/0,!0,8)),N(()=>this.propagateEvent("onresize"),150))}reduce(){var e,t;this.splitExtended&&(this.splitExtended=!1,[e,t]=this.sections,"vertical"==this.type?t.root.classList.add("fadein-vertical"):t.root.classList.add("fadein-horizontal"),this._moveSplit(this.offset),N(()=>this.propagateEvent("onresize"),150))}hide(){this.root.classList.add("hidden")}show(){this.root.classList.remove("hidden")}toggle(e){this.root.classList.toggle("hidden",e)}propagateEvent(t){for(let e=0;e<this.sections.length;e++){var s=this.sections[e];s[t]&&s[t].call(this,s.root.getBoundingClientRect()),s.propagateEvent(t)}}addPanel(e){e=new k(e);return this.attach(e),this.panels.push(e),e}addMenubar(e,t={}){var s=new W(t),[e,l]=(e&&e(s),T.menubars.push(s),this.split({type:"vertical",sizes:[48,null],resize:!1,menubar:!0}));return s.siblingArea=l,e.attach(s),e.isMenubar=!0,(t.sticky??!0)&&(e.root.className+=" sticky top-0"),t.parentClass&&(e.root.className+=" "+t.parentClass),s}addSidebar(e,t={}){var s=new i(t),e=(e&&e(s),s.update(),T.menubars.push(s),t.width??"16rem"),[e,l]=this.split({type:"horizontal",sizes:[e,null],resize:!1,sidebar:!0});return s.siblingArea=l,e.attach(s),e.isSidebar=!0,t.parentClass&&(e.root.className+=" "+t.parentClass),s}addOverlayButtons(e,t={}){if(this.sections.length)this.sections[1].addOverlayButtons(e,t);else{console.assert(e.constructor==Array&&e.length),this.root.style.position="relative",t.className="lexoverlaybuttons";let n=this.addPanel(t),c=null;const a=document.createElement("div"),i=(a.className="lexoverlaybuttonscontainer",a.appendChild(n.root),this.attach(a),t.float);if(i)for(let e=0;e<i.length;e++)switch(i[e]){case"h":break;case"v":a.className+=" vertical";break;case"t":break;case"m":a.className+=" middle";break;case"b":a.className+=" bottom";break;case"l":break;case"c":a.className+=" center";break;case"r":a.className+=" right"}const r=function(l,e,t){var s={width:"auto",selectable:l.selectable,selected:l.selected,icon:l.icon,img:l.img,className:l.class??"",title:l.name,overflowContainerX:n.root};e&&(c||((c=document.createElement("div")).className="lexoverlaygroup",n.queuedContainer=c),s.parent=c);let a=l.callback;if(l.options)n.addSelect(null,l.options,l.name,a,s);else{const i=n.addButton(null,l.name,function(e,t){var s;l.selectable&&(l.group?(s=l.selected,l.group.forEach(e=>e.selected=!1),l.selected=!s):l.selected=!l.selected),a&&a(e,t,i.root)},s)}c&&t&&(n.root.appendChild(c),c=null,n.clearQueue())};!function(){n.clear();for(var t of e)if(t.constructor===Array)for(let e=0;e<t.length;++e){var s=t[e];s.group=t,r(s,!0,e==t.length-1)}else r(t);var l;i&&(l=0,n.root.childNodes.forEach(e=>{l+=e.offsetHeight}),a.className.includes("middle"))&&(a.style.top="-moz-calc( 50% - "+.5*l+"px )",a.style.top="-webkit-calc( 50% - "+.5*l+"px )",a.style.top="calc( 50% - "+.5*l+"px )")}()}}addTabs(e={}){var t=new n(this,e);return e.folding&&(this.parentArea._disableSplitResize(),this.root.style.paddingTop="4px"),t}_moveSplit(t,s=!1,l=0){if(!this.type)throw"No split area";if(void 0!==t){var a,i=this.sections[0],n=i.root,c=(n.classList.contains("origin")||(n=n.parentElement),this.sections[1]),r=c.root,o=" - "+T.DEFAULT_SPLITBAR_SIZE+"px";let e=null;s||(e=n.style.transition,n.style.transition=r.style.transition="none",P(n),P(r)),"horizontal"==this.type?(a=Math.max(r.offsetWidth+t,parseInt(c.minWidth)),n.style.width="-moz-calc( 100% - "+(a=l?l:a)+"px "+o+" )",n.style.width="-webkit-calc( 100% - "+a+"px "+o+" )",n.style.width="calc( 100% - "+a+"px "+o+" )",n.style.minWidth=parseInt(i.minWidth)+"px",r.style.width=a+"px",i.maxWidth!=1/0&&(r.style.minWidth="calc( 100% - "+parseInt(i.maxWidth)+"px )")):(a=Math.max(r.offsetHeight+t+c.offset,parseInt(c.minHeight)),n.style.height="-moz-calc( 100% - "+(a=l?l:a)+"px "+o+" )",n.style.height="-webkit-calc( 100% - "+a+"px "+o+" )",n.style.height="calc( 100% - "+a+"px "+o+" )",n.style.minHeight=i.minHeight+"px",r.style.height=a-c.offset+"px"),s||(n.style.transition=r.style.transition=e),this._update(),this.propagateEvent("onresize")}}_disableSplitResize(){this.resize=!1,this.splitBar.remove(),delete this.splitBar}_update(){var e=this.root.getBoundingClientRect();this.size=[e.width,e.height];for(var t=0;t<this.sections.length;t++)this.sections[t]._update()}}function P(e){e.offsetHeight}T.Area=x;class n{static TAB_ID=0;constructor(l,e={}){this.onclose=e.onclose;var t=document.createElement("div"),s=(t.className="lexareatabs "+(e.fit?"fit":"row"),e.folding??!1);s&&t.classList.add("folding");let n=this;t.addEventListener("dragenter",function(e){e.preventDefault(),this.classList.add("dockingtab")}),t.addEventListener("dragleave",function(e){e.preventDefault(),this.contains(e.relatedTarget)||this.classList.remove("dockingtab")}),t.addEventListener("drop",function(e){e.preventDefault();var t,s,l,a=e.dataTransfer.getData("source"),i=document.getElementById(a);i&&(t=i.parentElement,s=(l=e.target).getBoundingClientRect(),e.offsetX<.5*s.width?this.insertBefore(i,l):l.nextElementSibling?this.insertBefore(i,l.nextElementSibling):this.appendChild(i),t.childNodes.forEach((e,t)=>e.childIndex=t-1),s=/true/.test(e.dataTransfer.getData("fit")),(t.childElementCount==(s?2:1)?t.lastChild:t.querySelector(".selected")??t.childNodes[s?1:0]).click(),this.childNodes.forEach((e,t)=>e.childIndex=t-1),l=document.getElementById(a+"_content"),n.area.attach(l),this.classList.remove("dockingtab"),i.instance=n,i.click(),n.tabs[i.dataset.name]=l)}),l.root.classList.add("lexareatabscontainer");var[a,i]=l.split({type:"vertical",sizes:e.sizes??"auto",resize:!1,top:2});a.attach(t),e.parentClass&&(t.parentElement.className+=" "+e.parentClass),this.area=i,this.area.root.className+=" lexareatabscontent",e.contentClass&&(this.area.root.className+=" "+e.contentClass),this.selected=null,this.root=t,this.tabs={},this.tabDOMs={},e.fit&&((a=document.createElement("span")).className="lexareatab thumb",this.thumb=a,this.root.appendChild(a),new ResizeObserver(e=>{var t,s=this.thumb.item;s&&(t=this.thumb.style.transition,this.thumb.style.transition="none",this.thumb.style.transform="translate( "+s.childIndex*s.offsetWidth+"px )",this.thumb.style.width=s.offsetWidth+"px",P(this.thumb),this.thumb.style.transition=t)}).observe(this.area.root)),s&&(this.folded=!0,"up"==(this.folding=s)&&l.root.insertChildAtIndex(l.sections[1].root,0),new ResizeObserver(e=>{for(const s of e){var t=s.contentRect;l.parentArea.sections[0].root.style.height="calc(100% - "+(42+t.height)+"px )"}}).observe(this.area.root),this.area.root.classList.add("folded"))}add(e,t,l={}){let s=l.selected??!1;s&&(this.root.querySelectorAll("span").forEach(e=>e.classList.remove("selected")),(this.area.root.querySelector(":scope > .pseudoparent-tabs")??this.area.root).querySelectorAll(":scope > .lextabcontent").forEach(e=>e.style.display="none")),s=!Object.keys(this.tabs).length&&!this.folding||s;let a=t.root||t,i=(a.originalDisplay=a.style.display,a.style.display=s?a.originalDisplay:"none",a.classList.add("lextabcontent"),l.icon&&(l.icon.includes("fa-")?l.icon="<i class='"+l.icon+"'></i>":l.icon="<img src='https://raw.githubusercontent.com/jxarco/lexgui.js/master/"+l.icon+"'>"),document.createElement("span"));i.dataset.name=e,i.className="lexareatab"+(s?" selected":""),i.innerHTML=(l.icon??"")+e,i.id=e.replace(/\s/g,"")+n.TAB_ID++,i.title=l.title??"",i.selected=s??!1,i.fixed=l.fixed,i.instance=this,a.id=i.id+"_content",i.selected&&(this.selected=e),i.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();var t,s=i.instance;i.fixed||(t=i.selected,i.parentElement.querySelectorAll("span").forEach(e=>e.selected=!1),i.selected=!t,i.parentElement.querySelectorAll("span").forEach(e=>e.classList.remove("selected")),i.classList.toggle("selected",s.folding&&i.selected),(s.area.root.querySelector(":scope > .pseudoparent-tabs")??s.area.root).querySelectorAll(":scope > .lextabcontent").forEach(e=>e.style.display="none"),a.style.display=a.originalDisplay,s.selected=i.dataset.name),s.folding&&(s.folded=i.selected,s.area.root.classList.toggle("folded",!s.folded)),l.onSelect&&l.onSelect(e,i.dataset.name),s.thumb&&(s.thumb.style.transform="translate( "+i.childIndex*i.offsetWidth+"px )",s.thumb.style.width=i.offsetWidth+"px",s.thumb.item=i)}),i.addEventListener("contextmenu",e=>{e.preventDefault(),e.stopPropagation(),l.onContextMenu&&l.onContextMenu(e,i.dataset.name)}),l.allowDelete&&(i.addEventListener("mousedown",e=>{e.button==T.MOUSE_MIDDLE_CLICK&&e.preventDefault()}),i.addEventListener("mouseup",e=>{e.preventDefault(),e.stopPropagation(),e.button==T.MOUSE_MIDDLE_CLICK&&this.delete(i.dataset.name)})),i.setAttribute("draggable",!0),i.addEventListener("dragstart",e=>{var t=!!this.thumb;i.parentElement.childNodes.length==(t?2:1)?e.preventDefault():(e.dataTransfer.setData("source",e.target.id),e.dataTransfer.setData("fit",t))}),i.childIndex=this.root.childElementCount-1,this.root.appendChild(i),this.area.attach(a),this.tabDOMs[e]=i,this.tabs[e]=t,setTimeout(()=>{l.onCreate&&l.onCreate.call(this,this.area.root.getBoundingClientRect()),s&&this.thumb&&(this.thumb.style.transform="translate( "+i.childIndex*i.offsetWidth+"px )",this.thumb.style.width=i.offsetWidth+"px",this.thumb.item=i)},10)}select(e){this.tabDOMs[e]&&this.tabDOMs[e].click()}delete(e){var t=this.tabDOMs[e];t&&!t.fixed&&(this.onclose&&this.onclose(e),this.tabDOMs[e].remove(),delete this.tabDOMs[e],this.tabs[e].remove(),delete this.tabs[e],t=this.root.lastChild)&&!t.fixed&&this.root.lastChild.click()}}T.Tabs=n;class W{constructor(e={}){this.root=document.createElement("div"),this.root.className="lexmenubar",e.float&&(this.root.style.justifyContent=e.float),this.items=[],this.buttons=[],this.icons={},this.shorts={}}_resetMenubar(e){this.root.querySelectorAll(".lexmenuentry").forEach(e=>{e.classList.remove("selected"),e.built=!1}),T.root.querySelectorAll(".lexmenubox").forEach(e=>e.remove()),this.focused=e??!1}_createSubmenu(e,t,s,a){let i=document.createElement("div");i.className="lexmenubox",i.tabIndex="0";const l=((s.currentMenu=i).parentEntry=s).classList.contains("lexmenuboxentry");l&&(i.dataset.submenu=!0),i._updatePosition=()=>{const t=i.style.transition;i.style.transition="none",P(i),N(()=>{var e=s.getBoundingClientRect();i.style.left=(l?e.x+e.width:e.x)+"px",i.style.top=(l?e.y:e.y+e.height-4)+"px",i.style.transition=t})},i._updatePosition(),N(()=>{i.dataset.open=!0},10),T.root.appendChild(i);for(var n=0;n<e[t].length;++n){const h=e[t][n],u=Object.keys(h)[0];var c,r,o=h[u].length,d="checkbox"==h.type;let s=document.createElement("div"),l=(s.tabIndex="-1",s.className="lexmenuboxentry",s.className+=(n==e[t].length-1?" last":"")+(h.disabled?" disabled":""),""==u?s.className=" lexseparator":(s.id=u,(c=document.createElement("div")).innerHTML="",c.classList="lexmenuboxentrycontainer",s.appendChild(c),r=this.icons[u],d?c.innerHTML+="<input type='checkbox' >":r?c.innerHTML+="<a class='"+r+" fa-sm'></a>":(c.innerHTML+="<a class='fa-solid fa-sm noicon'></a>",c.classList.add("noicon")),c.innerHTML+="<div class='lexentryname'>"+u+"</div>"),s.querySelector("input"));l&&(l.checked=h.checked??!1,l.addEventListener("change",e=>{h.checked=l.checked;var t=h.callback;t&&(t.call(this,h.checked,u,s),this._resetMenubar()),e.stopPropagation(),e.stopImmediatePropagation()})),i.appendChild(s),""!=u&&(i.addEventListener("keydown",e=>{e.preventDefault();let t=this.shorts[u];t&&(t=1==t.length?t.toLowerCase():t)==e.key&&s.click()}),s.addEventListener("click",e=>{l&&(h.checked=!h.checked);var t=h.callback;t&&(t.call(this,l?h.checked:u,l?u:s),this._resetMenubar()),e.stopPropagation(),e.stopImmediatePropagation()}),s.addEventListener("blur",e=>{e.relatedTarget&&!e.relatedTarget.className.includes("lexmenu")&&this._resetMenubar()}),o?((d=document.createElement("a")).className="fa-solid fa-angle-right fa-xs",s.appendChild(d),s.addEventListener("mouseover",e=>{s.built||(s.built=!0,this._createSubmenu(h,u,s,++a),e.stopPropagation())}),s.addEventListener("mouseleave",e=>{s.currentMenu&&s.currentMenu!=e.toElement&&!s.currentMenu.contains(e.toElement)&&(a=-1,delete s.built,s.currentMenu.remove(),delete s.currentMenu)})):this.shorts[u]&&((r=document.createElement("div")).className="lexentryshort",r.innerText=this.shorts[u],s.appendChild(r)))}i.style.width=i.offsetWidth+"px"}add(e,i={}){i.constructor==Function&&(i={callback:i});const n=e.split("/");e=n[n.length-1];this.icons[e]=i.icon,this.shorts[e]=i.short;let c=0;const r=(l,e)=>{if(null!=l){let s=null;var t,a;e.forEach(e=>{var t=Object.keys(e).find(e=>e==l);t&&(s=e[t])}),s?r(n[c++],s):((t={})[l]=[],(a=n[c++])||(t.callback=i.callback,t.disabled=i.disabled,t.type=i.type,t.checked=i.checked),e.push(t),r(a,t[l]))}};r(n[c++],this.items);for(let l of this.items){let s=Object.keys(l)[0];var a=s.replace(/\s/g,"").replaceAll(".","");if(!this.root.querySelector("#"+a)){let t=document.createElement("div");t.className="lexmenuentry",t.id=a,t.innerHTML="<span>"+s+"</span>",t.tabIndex="1","left"==i.position?this.root.prepend(t):("right"==i.position&&(t.right=!0),this.root.lastChild&&this.root.lastChild.right?this.root.lastChild.before(t):this.root.appendChild(t));const o=()=>{this._resetMenubar(!0),t.classList.add("selected"),t.built=!0,this._createSubmenu(l,s,t,-1)};t.addEventListener("click",()=>{var e=l.callback;e?e.call(this,s,t):(o(),this.focused=!0)}),t.addEventListener("mouseover",e=>{this.focused&&!t.built&&o()}),t.addEventListener("blur",e=>{e.relatedTarget&&e.relatedTarget.className.includes("lexmenubox")||this._resetMenubar()})}}}getButton(e){return this.buttons[e]}getSubitem(t,s){var l=s[0];for(let e=0;e<t.length;e++)if(t[e][l])return 1==s.length?t[e]:(s.splice(0,1),this.getSubitem(t[e][l],s))}getItem(e){e=e.split("/");return this.getSubitem(this.items,e)}setButtonIcon(e,t,s,l={}){if(!e)throw"Set Button Name!";let a=this.buttons[e];if(a)a.querySelector("a").className="fa-solid "+t+" lexicon";else{a=document.createElement("div");const i=l.disabled??!1,n=(a.className="lexmenubutton main"+(i?" disabled":""),a.title=e,a.innerHTML="<a class='"+t+" lexicon'></a>","right"==l.float&&(a.right=!0),this.root.lastChild&&this.root.lastChild.right?this.root.lastChild.before(a):"left"==l.float?this.root.prepend(a):this.root.appendChild(a),a.querySelector("a"));n.addEventListener("click",e=>{s&&!i&&s.call(this,n,e)}),this.buttons[e]=a}}setButtonImage(e,t,s,l={}){if(!e)throw"Set Button Name!";let a=this.buttons[e];if(a)a.querySelector("img").src=t;else{a=document.createElement("div");const i=l.disabled??!1,n=(a.className="lexmenubutton main"+(i?" disabled":""),a.title=e,a.innerHTML="<a><image src='"+t+"' class='lexicon' style='height:32px;'></a>","right"==l.float&&(a.right=!0),this.root.lastChild&&this.root.lastChild.right?this.root.lastChild.before(a):"left"==l.float?this.root.prepend(a):this.root.appendChild(a),a.querySelector("a"));n.addEventListener("click",e=>{s&&!i&&s.call(this,n,e)}),this.buttons[e]=a}}addButtons(t,e={}){if(!t)throw"No buttons to add!";this.buttonContainer||(this.buttonContainer=document.createElement("div"),this.buttonContainer.className="lexmenubuttons",this.buttonContainer.classList.add(e.float??"center"),"right"==e.position&&(this.buttonContainer.right=!0),this.root.lastChild&&this.root.lastChild.right?this.root.lastChild.before(this.buttonContainer):this.root.appendChild(this.buttonContainer));for(let e=0;e<t.length;++e){var s=t[e],l=s.title,s=new D(l,"",s.callback,{title:l,buttonClass:"bg-none",disabled:s.disabled,icon:s.icon,hideName:!0,swap:s.swap});this.buttonContainer.appendChild(s.root),l&&(this.buttons[l]=s.root)}}}T.Menubar=W;class i{constructor(e={}){var t;this.root=document.createElement("div"),this.root.className="lexsidebar "+(e.className??""),this._displaySelected=e.displaySelected??!1,Object.defineProperty(i.prototype,"displaySelected",{get:function(){return this._displaySelected},set:function(e){this._displaySelected=e,this._displaySelected||this.root.querySelectorAll(".lexsidebarentry").forEach(e=>e.classList.remove("selected"))},enumerable:!0,configurable:!0}),this.collapsable=e.collapsable??!0,this._collapseWidth=e.collapseToIcons??!0?"58px":"0px",this.collapsed=!1,this.filterString="",N(()=>{this.root.parentElement.ogWidth=this.root.parentElement.style.width,this.root.parentElement.style.transition="width 0.25s ease-out",this.resizeObserver=new ResizeObserver(e=>{for(const t of e)this.siblingArea.setSize(["calc(100% - "+t.contentRect.width+"px )",null])})},10),e.skipHeader||(this.header=e.header??this._generateDefaultHeader(e),console.assert(this.header.constructor===HTMLDivElement,"Use an HTMLDivElement to build your custom header"),this.header.className="lexsidebarheader",this.root.appendChild(this.header),this.collapsable&&(t=T.makeIcon("sidebar",{title:"Toggle Sidebar",iconClass:"toggler"}),this.header.appendChild(t),t.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),this.toggleCollapsed()}))),e.filter&&(t=new z(null,"",(e,t)=>{this.filterString=e,this.update()},{inputClass:"outline",placeholder:"Search...",icon:"fa-solid fa-magnifying-glass",className:"lexsidebarfilter"}),this.filter=t.root,this.root.appendChild(this.filter)),this.content=document.createElement("div"),this.content.className="lexsidebarcontent",this.root.appendChild(this.content),e.skipFooter||(this.footer=e.footer??this._generateDefaultFooter(e),console.assert(this.footer.constructor===HTMLDivElement,"Use an HTMLDivElement to build your custom footer"),this.footer.className="lexsidebarfooter",this.root.appendChild(this.footer)),N(()=>{var e=(parseInt(this.header?.getComputedSize().height)??0)+(parseInt(this.filter?.getComputedSize().height)??0)+(parseInt(this.footer?.getComputedSize().height)??0);this.content.style.height=`calc(100% - ${e}px)`},10),this.items=[],this.icons={},this.groups={}}_generateDefaultHeader(t){var e=document.createElement("div"),s=(e.addEventListener("click",e=>{this.collapsed?(e.preventDefault(),e.stopPropagation(),this.toggleCollapsed()):t.onHeaderPressed&&t.onHeaderPressed(e)}),document.createElement("span")),s=(s.className="lexavatar",e.appendChild(s),t.headerImage?((l=document.createElement("img")).src=t.headerImage,s.appendChild(l)):t.headerIcon&&(l=T.makeIcon(t.headerIcon),s.appendChild(l)),document.createElement("div")),l=(s.className="infodefault",e.appendChild(s),document.createElement("span")),l=(l.innerHTML=t.headerTitle??"",s.appendChild(l),document.createElement("span"));return l.innerHTML=t.headerSubtitle??"",s.appendChild(l),e}_generateDefaultFooter(t){const s=document.createElement("div");s.addEventListener("click",e=>{t.onFooterPressed&&t.onFooterPressed(e,s)});var e=document.createElement("span"),e=(e.className="lexavatar",s.appendChild(e),t.footerImage?((l=document.createElement("img")).src=t.footerImage,e.appendChild(l)):t.footerIcon&&(l=T.makeIcon(t.footerIcon),e.appendChild(l)),document.createElement("div")),l=(e.className="infodefault",s.appendChild(e),document.createElement("span")),l=(l.innerHTML=t.footerTitle??"",e.appendChild(l),document.createElement("span")),e=(l.innerHTML=t.footerSubtitle??"",e.appendChild(l),T.makeIcon("menu-arrows"));return s.appendChild(e),s}toggleCollapsed(e){if(this.collapsable){if(this.collapsed=e??!this.collapsed,this.collapsed?(this.root.classList.add("collapsing"),this.root.parentElement.style.width=this._collapseWidth):(this.root.classList.remove("collapsing"),this.root.classList.remove("collapsed"),this.root.parentElement.style.width=this.root.parentElement.ogWidth),!this.resizeObserver)throw"Wait until ResizeObserver has been created!";this.resizeObserver.observe(this.root.parentElement),N(()=>{this.root.classList.toggle("collapsed",this.collapsed),this.resizeObserver.unobserve(this.root.parentElement),this.root.querySelectorAll(".lexsidebarentrycontent").forEach(e=>e.dataset.disableTooltip=!this.collapsed)},250)}}separator(){this.currentGroup=null,this.add("")}group(e,t){this.currentGroup=e,this.groups[e]=t}add(e,i={}){i.constructor==Function&&(i={callback:i});const n=e.split("/");e=n[n.length-1];this.icons[e]=i.icon;let c=0;const r=(l,e)=>{if(null!=l){let s=null;var t,a;e.forEach(e=>{var t=Object.keys(e).find(e=>e==l);t&&(s=e[t])}),s?r(n[c++],s):((t={})[l]=[],(a=n[c++])||(t.callback=i.callback,t.group=this.currentGroup,t.options=i),e.push(t),r(a,t[l]))}};r(n[c++],this.items)}select(e){let t=e.replace(/\s/g,"").replaceAll(".","");e=this.items.find(e=>e.name===t);e&&e.dom.click()}update(){this.content.innerHTML="";for(var e of this.items)delete e.dom;for(let i of this.items){const o=i.options??{};if(!i.dom){let a=Object.keys(i)[0];if(!this.filterString.length||a.toLowerCase().includes(this.filterString.toLowerCase())){var t=a.replace(/\s/g,"").replaceAll(".","");let e=null,l=document.createElement("div");if(l.id=i.name=t,l.className="lexsidebarentry "+(o.className??""),this.displaySelected&&o.selected&&l.classList.add("selected"),i.group){var s=i.group.replace(/\s/g,"").replaceAll(".","");if(e=this.content.querySelector("#"+s)){if(!e.classList.contains("lexsidebargroup"))throw"Bad id: "+i.group}else{(e=document.createElement("div")).id=s,e.className="lexsidebargroup",this.content.appendChild(e);var s=document.createElement("div"),n=(s.className="lexsidebargrouptitle",e.appendChild(s),document.createElement("div"));n.innerHTML=i.group,s.appendChild(n),null!=this.groups[i.group]&&((n=document.createElement("a")).className=(this.groups[i.group].icon??"")+" lexicon",s.appendChild(n),n.addEventListener("click",e=>{this.groups[i.group].callback&&this.groups[i.group].callback(i.group,e)}))}}if(""==t){s=document.createElement("div");s.className="lexsidebarseparator",this.content.appendChild(s)}else{this.collapseContainer?(this.collapseContainer.appendChild(l),this.collapseQueue--,this.collapseQueue||delete this.collapseContainer):(e||this.content).appendChild(l);let s=document.createElement("div");if(s.className="lexsidebarentrycontent",l.appendChild(s),i.dom=l,"checkbox"==o.type){i.value=o.value??!1;n=new k;i.checkbox=n.addCheckbox(null,i.value,(e,t)=>{t.preventDefault(),t.stopPropagation();var s=o.callback;i.value=e,s&&s.call(this,a,e,t)},{className:"accent",label:a,signal:"@checkbox_"+a}),s.appendChild(n.root.childNodes[0])}else{if(o.icon){let e=null;o.icon.includes("fa-")?(e=document.createElement("i")).className=o.icon:e=T.makeIcon(o.icon),e.classList.add("lexsidebarentryicon"),s.appendChild(e),T.asTooltip(s,a,{side:"right",offset:16,active:!1})}var t=document.createElement("a");t.innerHTML=a,s.appendChild(t),o.content&&s.appendChild(o.content)}const d=null!=o.collapsable?o.collapsable:o.collapsable||i[a].length;if(l.addEventListener("click",e=>{var t;e.target&&e.target.classList.contains("lexcheckbox")||(d?s.querySelector(".collapser").click():((t=o.callback)&&t.call(this,a,i.value,e),i.checkbox&&(i.value=!i.value,i.checkbox.set(i.value,!0))),this.displaySelected&&(this.root.querySelectorAll(".lexsidebarentry").forEach(e=>e.classList.remove("selected")),l.classList.add("selected")))}),o.action?(t=T.makeIcon(o.action.icon??"more-horizontal",{title:o.action.name}),s.appendChild(t),t.addEventListener("click",e=>{e.preventDefault(),e.stopImmediatePropagation();var t=o.action.callback;t&&t.call(this,a,e)})):d&&((t=document.createElement("div")).className="collapsablecontainer",Object.assign(t.style,{width:"100%",display:"none"}),T.makeCollapsible(s,t,e??this.content),this.collapseQueue=o.collapsable,this.collapseContainer=t),i[a].length){var c=document.createElement("div");c.className="lexsidebarsubentrycontainer",d?(this.collapseContainer.appendChild(c),delete this.collapseContainer):(e?(c.classList.add("collapsablecontainer"),e):this.content).appendChild(c);for(let e=0;e<i[a].length;++e){var r=i[a][e];const h=r.options??{},u=Object.keys(r)[0];if(!this.filterString.length||u.toLowerCase().includes(this.filterString.toLowerCase())){let s=document.createElement("div");s.innerHTML=`<span>${u}</span>`,h.action&&(r=T.makeIcon(h.action.icon??"more-horizontal",{title:h.action.name}),s.appendChild(r),r.addEventListener("click",e=>{e.preventDefault(),e.stopImmediatePropagation();var t=h.action.callback;t&&t.call(this,u,e)})),s.className="lexsidebarentry",s.id=u,c.appendChild(s),s.addEventListener("click",e=>{var t=h.callback;t&&t.call(this,u,s,e),this.displaySelected&&(this.root.querySelectorAll(".lexsidebarentry").forEach(e=>e.classList.remove("selected")),l.classList.add("selected"))})}}}}}}}}}T.SideBar=i;class w{static NONE=0;static TEXT=1;static TEXTAREA=2;static BUTTON=3;static SELECT=4;static CHECKBOX=5;static TOGGLE=6;static RADIO=7;static BUTTONS=8;static COLOR=9;static RANGE=10;static NUMBER=11;static TITLE=12;static VECTOR=13;static TREE=14;static PROGRESS=15;static FILE=16;static LAYERS=17;static ARRAY=18;static LIST=19;static TAGS=20;static CURVE=21;static CARD=22;static IMAGE=23;static CONTENT=24;static CUSTOM=25;static SEPARATOR=26;static KNOB=27;static SIZE=28;static OTP=29;static PAD=30;static FORM=31;static DIAL=32;static COUNTER=33;static TABLE=34;static TABS=35;static LABEL=36;static BLANK=37;static NO_CONTEXT_TYPES=[w.BUTTON,w.LIST,w.FILE,w.PROGRESS];constructor(e,t,s,l={}){this.type=e,this.name=t,this.options=l,this._initialValue=s;var a=document.createElement("div");if(a.className="lexwidget",l.id&&(a.id=l.id),l.title&&(a.title=l.title),l.className&&(a.className+=" "+l.className),e!=w.TITLE&&(l.width&&(a.style.width=a.style.minWidth=l.width),l.maxWidth&&(a.style.maxWidth=l.maxWidth),l.minWidth&&(a.style.minWidth=l.minWidth),l.height&&(a.style.height=a.style.minHeight=l.height),T.widgetResizeObserver.observe(a)),null!=t){if(!l.hideName){e=document.createElement("div");e.className="lexwidgetname",l.justifyName&&e.classList.add("float-"+l.justifyName),e.innerHTML=t,e.title=l.title??e.innerHTML,e.style.width=l.nameWidth||T.DEFAULT_NAME_WIDTH,e.style.minWidth=e.style.width,a.appendChild(e),a.domName=e;const i=this;e.addEventListener("contextmenu",function(e){e.preventDefault(),i.oncontextmenu(e)}),l.skipReset||null==s||this._addResetProperty(e,function(e){i.set(i._initialValue,!1,e),this.style.display="none"})}}else l.hideName=!0;l.signal&&T.addSignal(l.signal,this),this.root=a,(this.root.jsInstance=this).options=l}static _dispatchEvent(e,t,s,l,a){t=new CustomEvent(t,{detail:s,bubbles:l,cancelable:a});e.dispatchEvent(t)}_addResetProperty(e,t){var s=T.makeIcon("rotate-left",{title:"Reset"});return s.style.display="none",s.style.marginRight="6px",s.style.marginLeft="0",s.style.paddingInline="6px",s.addEventListener("click",t),e.appendChild(s),s}_canPaste(){return this.type===w.CUSTOM?void 0!==navigator.clipboard.customIdx&&this.customIdx==navigator.clipboard.customIdx:navigator.clipboard.type===this.type}_trigger(e,t,s=this){t&&t.call(s,e.value,e.domEvent,e.name)}value(){if(this.onGetValue)return this.onGetValue();console.warn("Can't get value of "+this.typeName())}set(e,t,s){var l,a;if(this.onSetValue)return(l=this.root.querySelector(".lexwidgetname .lexicon"))&&(l.style.display=e!=this.value()?"block":"none",a=e.constructor===Array?function(e,t){if(e!==t){if(null==e||null==t)return!1;if(e.length!==t.length)return!1;for(var s=0;s<e.length;++s)if(e[s]!==t[s])return!1}return!0}(e,this._initialValue):e==this._initialValue,l.style.display=a?"none":"block"),this.onSetValue(e,t??!1,s);console.warn("Can't set value of "+this.typeName())}oncontextmenu(e){w.NO_CONTEXT_TYPES.includes(this.type)||S(this.typeName(),e,e=>{e.add("Copy",()=>{this.copy()}),e.add("Paste",{disabled:!this._canPaste(),callback:()=>{this.paste()}})})}copy(){navigator.clipboard.type=this.type,navigator.clipboard.customIdx=this.customIdx,navigator.clipboard.data=this.value(),navigator.clipboard.writeText(navigator.clipboard.data)}paste(){this._canPaste()&&this.set(navigator.clipboard.data)}typeName(){switch(this.type){case w.TEXT:return"Text";case w.TEXTAREA:return"TextArea";case w.BUTTON:return"Button";case w.SELECT:return"Select";case w.CHECKBOX:return"Checkbox";case w.TOGGLE:return"Toggle";case w.RADIO:return"Radio";case w.COLOR:return"Color";case w.RANGE:return"Range";case w.NUMBER:return"Number";case w.VECTOR:return"Vector";case w.TREE:return"Tree";case w.PROGRESS:return"Progress";case w.FILE:return"File";case w.LAYERS:return"Layers";case w.ARRAY:return"Array";case w.LIST:return"List";case w.TAGS:return"Tags";case w.CURVE:return"Curve";case w.KNOB:return"Knob";case w.SIZE:return"Size";case w.PAD:return"Pad";case w.FORM:return"Form";case w.DIAL:return"Dial";case w.COUNTER:return"Counter";case w.TABLE:return"Table";case w.TABS:return"Tabs";case w.LABEL:return"Label";case w.BLANK:return"Blank";case w.CUSTOM:return this.customName}console.error("Unknown Widget type: "+this.type)}refresh(){}}T.Widget=w,T.ADD_CUSTOM_WIDGET=function(p,m={}){let e=b();k.prototype["add"+p]=function(a,i,n){m.nameWidth="100%";let c=new w(w.CUSTOM,a,null,m);this._attachWidget(c),c.customName=p,c.customIdx=e,c.onGetValue=()=>i,c.onSetValue=(e,t,s)=>{i=e,u(),r.querySelector(".lexcustomitems").toggleAttribute("hidden",!1),t||c._trigger(new C(a,i,s),n)};const r=c.root;let o,d,h=m.default??{};const u=()=>{i&&(c.instance=i=Object.assign(L(h),i)),o&&o.remove(),d&&d.remove(),(o=document.createElement("div")).className="lexcustomcontainer",o.style.width="100%",r.appendChild(o),r.dataset.opened=!1;var e="<a class='fa-solid "+(m.icon??"fa-cube")+"'></a>",e=(e=e+(p+(i?"":" [empty]"))+("<a class='fa-solid "+(i?"fa-bars-staggered":" ")+" menu'></a>"),this.addButton(null,e,(e,t)=>{i?(r.querySelector(".lexcustomitems").toggleAttribute("hidden"),r.dataset.opened=!r.querySelector(".lexcustomitems").hasAttribute("hidden")):S(null,t,e=>{e.add("New "+p,()=>{i={},u(),r.querySelector(".lexcustomitems").toggleAttribute("hidden",!1),r.dataset.opened=!r.querySelector(".lexcustomitems").hasAttribute("hidden")})})},{buttonClass:"custom"}));if(o.appendChild(e.root),i&&e.root.querySelector("a.menu").addEventListener("click",e=>{e.stopImmediatePropagation(),e.stopPropagation(),S(null,e,e=>{e.add("Clear",()=>{i=null,u()})})}),(d=document.createElement("div")).className="lexcustomitems",d.toggleAttribute("hidden",!0),r.appendChild(d),i){this.queue(d);var t,s=(e,t,s)=>{i[e]=t,c._trigger(new C(a,i,s),n)};for(t in h){var l=i[t]??h[t];switch(l.constructor){case String:"#"===l[0]?this.addColor(t,l,s.bind(this,t)):this.addText(t,l,s.bind(this,t));break;case Number:this.addNumber(t,l,s.bind(this,t));break;case Boolean:this.addCheckbox(t,l,s.bind(this,t));break;case Array:4<l.length?this.addArray(t,l,s.bind(this,t)):this._addVector(l.length,t,l,s.bind(this,t))}}this.clearQueue()}};u()}};class V{constructor(e,t,s){if(this.domEl=e,this.data=t,this.onevent=s.onevent,this.options=s,this.selected=[],this._forceClose=!1,t.constructor===Object)this._createItem(null,t);else for(var l of t)this._createItem(null,l)}_createItem(e,i,t=0,s){const n=this;var l=this.domEl.querySelector(".lexnodetree_filter");if(i.children=i.children??[],l&&""!=l.value&&!i.id.includes(l.value)){for(var a=0;a<i.children.length;++a)this._createItem(i,i.children[a],t+1,s);return}const c=this.domEl.querySelector("ul");i.visible=i.visible??!0,i.parent=e;let r=0<i.children.length;l=-1<this.selected.indexOf(i)||i.selected;if(this.options.onlyFolders){let t=!1;i.children.forEach(e=>t|="folder"==e.type),r=!!t}let o=document.createElement("li"),d=(o.className="lextreeitem datalevel"+t+(r?" parent":"")+(l?" selected":""),o.id=T.getSupportedDOMName(i.id),o.tabIndex="0",o.treeData=i,this.options.skip_default_icon??!0?"":"fa-solid fa-square");r&&(d=i.closed?"fa-solid fa-caret-right":"fa-solid fa-caret-down",o.innerHTML="<a class='"+d+" hierarchy'></a>"),d=i.icon,i.icon&&(i.icon.includes("fa-")?o.innerHTML+="<a class='"+i.icon+" tree-item-icon'></a>":o.innerHTML+="<img src='https://raw.githubusercontent.com/jxarco/lexgui.js/master/"+i.icon+"'>"),o.innerHTML+=i.rename?"":i.id,o.setAttribute("draggable",!0),o.style.paddingLeft=3+15*(t+1)+"px",c.appendChild(o),o.addEventListener("click",e=>{var t;h?h=!1:(e.shiftKey||(c.querySelectorAll("li").forEach(e=>{e.classList.remove("selected")}),this.selected.length=0),-1<(t=this.selected.indexOf(i))?(o.classList.remove("selected"),this.selected.splice(t,1)):(o.classList.add("selected"),this.selected.push(i)),r&&1<i.id.length&&(i.closed=!1,n.onevent&&(t=new y(y.NODE_CARETCHANGED,i,i.closed),n.onevent(t)),n.frefresh(i.id)),n.onevent&&((t=new y(y.NODE_SELECTED,e.shiftKey?this.selected:i)).multiple=e.shiftKey,n.onevent(t)))}),o.addEventListener("dblclick",function(){var e;(n.options.rename??!0)&&(i.rename=!0,n.refresh()),n.onevent&&(e=new y(y.NODE_DBLCLICKED,i),n.onevent(e))}),o.addEventListener("contextmenu",s=>{if(s.preventDefault(),n.onevent){const t=new y(y.NODE_CONTEXTMENU,1<this.selected.length?this.selected:i,s);t.multiple=1<this.selected.length,T.addContextMenu(t.multiple?"Selected Nodes":t.node.id,t.value,e=>{t.panel=e}),n.onevent(t),this.options.addDefault&&(t.panel.items&&t.panel.add(""),t.panel.add("Select Children",()=>{const s=e=>{if(!e.closed)for(var t of e.children??[])t&&(this.domEl.querySelector("#"+t.id).classList.add("selected"),this.selected.push(t),s(t))};this.domEl.querySelectorAll(".selected").forEach(e=>e.classList.remove("selected")),this.selected.length=0,s(i)}),t.panel.add("Delete",{callback:()=>{var e,t;i.parent&&(n.onevent&&(e=new y(y.NODE_DELETED,i,s),n.onevent(e)),t=(e=i.parent.children).indexOf(i),e.splice(t,1),this.refresh())}}))}}),o.addEventListener("keydown",e=>{if(!i.rename)if(e.preventDefault(),"Delete"==e.key){var t;n.onevent&&((a=new y(y.NODE_DELETED,1<this.selected.length?this.selected:i,e)).multiple=1<this.selected.length,n.onevent(a));for(t of this.selected){var s=t.parent.children,l=s.indexOf(t);s.splice(l,1)}this.selected.length=0,this.refresh()}else{var a;("ArrowUp"==e.key||"ArrowDown"==e.key)&&(a=1<this.selected.length?"ArrowUp"==e.key?this.selected.shift():this.selected.pop():this.selected[0],a=this.domEl.querySelector("#"+T.getSupportedDOMName(a.id)),e="ArrowUp"==e.key?a.previousSibling:a.nextSibling)&&e.click()}});l=document.createElement("input");l.toggleAttribute("hidden",!i.rename),l.className="bg-none",l.value=i.id,o.appendChild(l),i.rename&&(o.classList.add("selected"),l.focus()),l.addEventListener("keyup",function(e){var t;"Enter"==e.key?(this.value=this.value.replace(/\s/g,"_"),n.onevent&&(t=new y(y.NODE_RENAMED,i,this.value),n.onevent(t)),i.id=T.getSupportedDOMName(this.value),delete i.rename,n.frefresh(i.id),c.querySelector("#"+i.id).classList.add("selected")):"Escape"==e.key&&(delete i.rename,n.frefresh(i.id))}),l.addEventListener("blur",function(e){delete i.rename,n.refresh()}),(this.options.draggable??!0)&&(e&&o.addEventListener("dragstart",e=>{window.__tree_node_dragged=i}),o.addEventListener("dragover",e=>{e.preventDefault()},!1),o.addEventListener("dragenter",e=>{e.target.classList.add("draggingover")}),o.addEventListener("dragleave",e=>{e.target.classList.remove("draggingover")}),o.addEventListener("drop",e=>{e.preventDefault();let t=window.__tree_node_dragged;if(t){var s,e=i;if(t.id==e.id)console.warn("Cannot parent node to itself!");else{const a=function(e,t){var s,l=!1;for(s of t.children){if(s.id==e.id)return!0;l|=a(e,s)}return l};a(e,t)?console.warn("Cannot parent node to a current child!"):(n.onevent&&(s=new y(y.NODE_DRAGGED,t,e),n.onevent(s)),s=t.parent.children.findIndex(e=>e.id==t.id),s=t.parent.children.splice(s,1),e.children.push(s[0]),n.refresh(),delete window.__tree_node_dragged)}}}));let h=!1;r&&o.querySelector("a.hierarchy").addEventListener("click",function(e){if(h=!0,e.stopImmediatePropagation(),e.stopPropagation(),e.altKey){const s=function(e){e.closed=!e.closed;for(var t of e.children)s(t)};s(i)}else i.closed=!i.closed;n.onevent&&(e=new y(y.NODE_CARETCHANGED,i,i.closed),n.onevent(e)),n.frefresh(i.id)});var u=document.createElement("div");if(o.appendChild(u),i.actions)for(let e=0;e<i.actions.length;++e){let t=i.actions[e],s=document.createElement("a");s.className="lexicon "+t.icon,s.title=t.name,s.addEventListener("click",function(e){t.callback(i,s),e.stopPropagation()}),u.appendChild(s)}i.skipVisibility||((l=document.createElement("a")).className="lexicon fa-solid fa-eye"+(i.visible?"":"-slash"),l.title="Toggle visible",l.addEventListener("click",function(e){e.stopPropagation(),i.visible=void 0!==i.visible&&!i.visible,this.className="lexicon fa-solid fa-eye"+(i.visible?"":"-slash"),n.onevent&&(e=new y(y.NODE_VISIBILITY,i,i.visible),n.onevent(e))}),u.appendChild(l));const p=function(e,t){if(e.length)for(var s of e.children)return s.id==t||p(s,t)};e=p(i,s);if(!i.closed||e)for(a=0;a<i.children.length;++a){var m=i.children[a];this.options.onlyFolders&&"folder"!=m.type||this._createItem(i,m,t+1,s)}}refresh(e,t){this.data=e??this.data,this.domEl.querySelector("ul").innerHTML="",this._createItem(null,this.data,0,t)}frefresh(e){this.refresh();e=this.domEl.querySelector("#"+e);e&&e.focus()}select(e){this.refresh(null,e),this.domEl.querySelectorAll(".selected").forEach(e=>e.classList.remove("selected")),this.selected.length=0;e=this.domEl.querySelector("#"+e);e&&(e.classList.add("selected"),this.selected=[e.treeData],e.focus())}}class c extends w{constructor(e,t){super(w.BLANK),this.root.style.width=e??"auto",this.root.style.height=t??"8px"}}T.Blank=c;class q extends w{constructor(e,t={}){console.assert(e,"Can't create Title Widget without text!"),super(w.TITLE,null,null,t),this.root.className="lextitle",t.icon&&((s=document.createElement("a")).className=t.icon,s.style.color=t.iconColor||"",this.root.appendChild(s));var s=document.createElement("span");s.innerText=e,this.root.appendChild(s),Object.assign(this.root.style,t.style??{}),null!=t.link&&((s=document.createElement("a")).innerText=e,s.href=t.link,s.target=t.target??"",s.className="lextitle link",Object.assign(s.style,t.style??{}),this.root.replaceWith(s))}}T.Title=q;class z extends w{constructor(l,a,i,s={}){super(w.TEXT,l,String(a),s),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{this.valid(e)&&this._lastValueTriggered!=e&&(this._lastValueTriggered=a=e,c.value=e,t||this._trigger(new C(l,e,s),i))},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=s.inputWidth??`calc( 100% - ${t}px)`},this.valid=e=>!(e=e??this.value()).length||""==c.pattern||new RegExp(c.pattern).test(e);let n=document.createElement("div"),c=(n.className=s.warning?" lexwarning":"",n.style.display="flex",n.style.position="relative",this.root.appendChild(n),this.disabled=(s.disabled||s.warning)??!!s.url,null);var e;this.disabled?s.url?((c=document.createElement("a")).href=s.url,c.target="_blank",c.innerHTML=(s.warning?'<i class="fa-solid fa-triangle-exclamation"></i>':"")+a||"",c.style.textAlign=s.float??"",c.className="lextext ellipsis-overflow"):(c=document.createElement("input"),e=s.warning?'<i class="fa-solid fa-triangle-exclamation"></i>':"",c.disabled=!0,c.innerHTML=e,c.value=a,c.style.textAlign=s.float??"",c.className="lextext ellipsis-overflow "+(s.inputClass??"")):((c=document.createElement("input")).className="lextext "+(s.inputClass??""),c.type=s.type||"",c.value=a||"",c.style.textAlign=s.float??"",c.setAttribute("placeholder",s.placeholder??""),s.required&&c.setAttribute("required",s.required),s.pattern&&c.setAttribute("pattern",s.pattern),"default"==(e=s.trigger??"default")?(c.addEventListener("keyup",e=>{"Enter"==e.key&&c.blur()}),c.addEventListener("focusout",e=>{this.set(e.target.value,!1,e)})):"input"==e&&c.addEventListener("input",e=>{this.set(e.target.value,!1,e)}),c.addEventListener("mousedown",function(e){e.stopImmediatePropagation(),e.stopPropagation()}),s.icon&&(c.style.paddingLeft="1.75rem",(e=document.createElement("a")).className="inputicon "+s.icon,n.appendChild(e))),s.fit&&c.classList.add("size-content"),Object.assign(c.style,s.style??{}),n.appendChild(c),N(this.onResize.bind(this))}}T.TextInput=z;class F extends w{constructor(l,a,i,s={}){super(w.TEXTAREA,l,a,s),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{c.value=a=e,t||this._trigger(new C(l,e,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=s.inputWidth??`calc( 100% - ${t}px)`};let n=document.createElement("div"),c=(n.className="lextextarea",n.style.display="flex",this.root.appendChild(n),document.createElement("textarea"));c.value=a??"",c.className=s.inputClass??"",c.style.textAlign=s.float??"",Object.assign(c.style,s.style??{}),s.fitHeight&&c.classList.add("size-content"),(s.resize??!0)||c.classList.add("resize-none"),n.appendChild(c),s.disabled&&c.setAttribute("disabled",!0),s.placeholder&&c.setAttribute("placeholder",s.placeholder);var e=s.trigger??"default";"default"==e?(c.addEventListener("keyup",function(e){"Enter"==e.key&&c.blur()}),c.addEventListener("focusout",e=>{this.set(e.target.value,!1,e)})):"input"==e&&c.addEventListener("input",e=>{this.set(e.target.value,!1,e)}),s.icon&&((e=document.createElement("a")).className="inputicon "+s.icon,n.appendChild(e)),N(()=>{n.style.height=s.height??"",this.onResize()},10)}}T.TextArea=F;class D extends w{constructor(s,l,a,i={}){super(w.BUTTON,s,null,i),this.onGetValue=()=>n.querySelector("input")?.checked,this.onSetValue=(e,t,s)=>{i.swap&&this.root.setState(e,t)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=`calc( 100% - ${t}px)`};var n=document.createElement("button");if(n.title=i.tooltip?"":i.title??"",n.className="lexbutton "+(i.buttonClass??""),i.icon&&n.classList.add("justify-center"),this.root.appendChild(n),i.selected&&n.classList.add("selected"),i.icon){let e=null;i.icon.includes("fa-")?(e=document.createElement("a")).className=i.icon+" lexicon":e=T.makeIcon(i.icon),n.prepend(e)}else i.img?((t=document.createElement("img")).src=i.img,n.prepend(t)):n.innerHTML=`<span>${l||""}</span>`;i.disabled&&n.setAttribute("disabled",!0);let c=n;if(i.swap){n.classList.add("swap"),n.querySelector("a").classList.add("swap-off");var t=document.createElement("input");t.type="checkbox",n.prepend(t);let e=null;i.swap.includes("fa-")?(e=document.createElement("a")).className=i.swap+" swap-on lexicon":e=T.makeIcon(i.swap,{iconClass:"swap-on"}),n.appendChild(e),this.root.swap=function(e){var t=n.querySelector("input");t.checked=!t.checked,e||c.click()},this.root.setState=function(e,t){n.querySelector("input").checked=e,t||c.click()}}c.addEventListener("click",e=>{i.selectable&&(i.parent&&i.parent.querySelectorAll(".lexbutton.selected").forEach(e=>{e!=n&&e.classList.remove("selected")}),n.classList.toggle("selected"));var t=n.querySelector("input");this._trigger(new C(s,t?.checked??l,e),a)}),i.tooltip&&T.asTooltip(n,i.title??s),N(this.onResize.bind(this))}}T.Button=D;class U extends w{constructor(l,a,e={}){const i=!e.noSelection;let n=i&&(e.toggle??!1),c=document.createElement("div"),r=(c.className="lexcombobuttons ",e.skipReset=!0,e.float&&(c.className+=e.float),[]);var o=document.createElement("div");o.className="lexcombobuttonsbox ",c.appendChild(o);for(let s of a){if(!s.value)throw"Set 'value' for each button!";let t=document.createElement("button");t.className="lexbutton combo",t.title=s.icon?s.value:"",t.id=s.id??"",t.dataset.value=s.value,e.buttonClass&&t.classList.add(e.buttonClass),i&&(s.selected||e.selected==s.value)&&(t.classList.add("selected"),r=r.concat([s.value])),t.innerHTML=(s.icon?"<a class='"+s.icon+"'></a>":"")+"<span>"+(s.icon?"":s.value)+"</span>",s.disabled&&t.setAttribute("disabled",!0),t.addEventListener("click",e=>{r=[],i&&(n?t.classList.toggle("selected"):(c.querySelectorAll("button").forEach(e=>e.classList.remove("selected")),t.classList.add("selected"))),c.querySelectorAll("button").forEach(e=>{e.classList.contains("selected")&&r.push(e.dataset.value)}),!n&&1<r.length?console.error("Enable _options.toggle_ to allow selecting multiple options in ComboButtons."):(r=r[0],this.set(s.value,!1,t.classList.contains("selected")))}),o.appendChild(t)}1<r.length?(e.toggle=!0,n=i,console.warn(`Multiple options selected in '${l}' ComboButtons. Enabling _toggle_ mode.`)):r=r[0],super(w.BUTTONS,l,null,e),this.onGetValue=()=>r,this.onSetValue=(t,e,s)=>{i&&null==s&&(c.querySelectorAll("button").forEach(e=>e.classList.remove("selected")),c.querySelectorAll("button").forEach(e=>{r&&-1<r.indexOf(e.dataset.value)&&e.classList.add("selected")})),e||t.constructor==Array||(e=s,s=a.filter(e=>e.value==t)[0]?.callback,this._trigger(new C(l,n?[t,e]:t,null),s))},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;c.style.width=`calc( 100% - ${t}px)`},this.root.appendChild(c),N(this.onResize.bind(this))}}T.ComboButtons=U;class j extends w{constructor(t,s={}){s.hideName=!0,super(w.CARD,t,null,s);let l=document.createElement("div");l.className="lexcard",l.style.width="100%",this.root.appendChild(l),s.img&&((a=document.createElement("img")).src=s.img,l.appendChild(a),null!=s.link)&&(a.style.cursor="pointer",a.addEventListener("click",function(){var e=l.querySelector("a");e&&e.click()}));var e,a=document.createElement("span");a.innerText=t,l.appendChild(a),null!=s.link&&((e=document.createElement("a")).innerText=t,e.href=s.link,e.target=s.target??"",a.innerText="",a.appendChild(e)),s.callback&&(l.style.cursor="pointer",l.addEventListener("click",e=>{this._trigger(new C(t,null,e),s.callback)}))}}T.Card=j;class G extends w{constructor(e,l,a,t={}){if(l.constructor!=Object)return void console.error("Form data must be an Object");t.hideName=!0,super(w.FORM,e,null,t),this.onGetValue=()=>n.formData,this.onSetValue=(t,s,e)=>{n.formData=t;var l,a,i=n.querySelectorAll(".lexwidget");for(let e=0;e<i.length;++e)i[e].jsInstance.type==T.Widget.TEXT&&(l=i[e].querySelector(".lexwidgetname").innerText,(a=i[e].querySelector(".lextext input")).value=t[l]??"",w._dispatchEvent(a,"focusout",s))};let n=document.createElement("div");n.className="lexformdata",n.style.width="100%",n.formData={},this.root.appendChild(n);for(let t in l){let e=l[t];(e=e.constructor!=Object?{}:e).placeholder=e.placeholder??t,e.width="100%",e.textWidget=new z(null,e.constructor==Object?e.value:e,e=>{n.formData[t]=e},e),n.appendChild(e.textWidget.root),n.formData[t]=e.constructor==Object?e.value:e}n.appendChild((new c).root);e=new D(null,t.actionName??"Submit",(e,t)=>{for(var s in l)if(!l[s].textWidget.valid())return;a&&a(n.formData,t)},{buttonClass:"primary"});n.appendChild(e.root)}}T.Form=G;class M extends w{constructor(i,n,r,c,o={}){super(w.SELECT,i,r,o),this.onGetValue=()=>r,this.onSetValue=(t,e,s)=>{r=t;let l=null;var a;g.childNodes.forEach(e=>{e.classList.remove("selected"),e.getAttribute("value")==t&&(l=e)}),console.assert(l,`Item ${t} does not exist in the Select.`),l.classList.add("selected"),h.refresh(r),m&&(m.root.querySelector("input").value="",a=this._filterOptions(n,""),p.refresh(a)),e||this._trigger(new C(i,r,s),c)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=o.inputWidth??`calc( 100% - ${t}px)`};let s=document.createElement("div"),d=(s.className="lexselect",this.root.appendChild(s),document.createElement("div"));d.className="lexselect lexoption",d.name=i;var e=d.iValue=r;e+="<a class='fa-solid fa-angle-down'></a>",o.overflowContainer&&(o.overflowContainerX=o.overflowContainerY=o.overflowContainer);let h=new D(null,e,(e,t)=>{p.unfocus_event?delete p.unfocus_event:(u.classList.remove("place-above"),u.hasAttribute("open")?u.close():(u.show(),(s=>{var l=h.root;const a=l.getBoundingClientRect();var i=s.parentElement.closest("dialog")??s.parentElement.closest(".lexcolorpicker");{var n=o.overflowContainerY??s.getParentArea(),c=s.offsetHeight;let e=a.y,t=window.innerHeight;if(n&&(n=n.getBoundingClientRect(),t=n.y+n.height),i){const a=i.getBoundingClientRect();e-=a.y,t-=a.y}s.style.top=e+l.offsetHeight+"px",e+c>t&&(s.style.top=e-c+"px",s.classList.add("place-above"))}{n=o.overflowContainerX??s.getParentArea(),l=s.offsetWidth;let e=a.x;if(s.style.minWidth=a.width+"px",i){const a=i.getBoundingClientRect();e-=a.x}s.style.left=e+"px";let t=window.innerWidth;n&&(c=n.getBoundingClientRect(),t=c.x+c.width),e+l>t&&(s.style.left=e-(l-a.width)+"px")}})(u)),m&&m.root.querySelector("input").focus())},{buttonClass:"array",skipInlineCount:!0,disabled:o.disabled});s.appendChild(h.root),h.root.style.width="100%",h.refresh=e=>{var t=h.root.querySelector("span");""==t.innerText?t.innerText=e:t.innerHTML=t.innerHTML.replaceAll(t.innerText,e)};const u=document.createElement("dialog");u.className="lexselectoptions";let p=document.createElement("ul"),m=(p.tabIndex=-1,p.className="lexoptions",u.appendChild(p),p.addEventListener("focusout",function(e){if(e.stopPropagation(),e.stopImmediatePropagation(),e.relatedTarget===h.root.querySelector("button"))this.unfocus_event=!0,setTimeout(()=>delete this.unfocus_event,200);else{if(e.relatedTarget&&("INPUT"==e.relatedTarget.tagName||e.relatedTarget.classList.contains("lexoptions")))return;if("lexinput-filter"==e.target.className)return}u.close()}),null);o.filter&&((e=T.deepCopy(o)).placeholder=e.placeholder??"Search...",e.skipWidget=e.skipWidget??!0,e.trigger="input",e.icon="fa-solid fa-magnifying-glass",e.className="lexfilter",e.inputClass="outline",(m=new z(null,o.filterValue??"",e=>{e=this._filterOptions(n,e);p.refresh(e)},e)).root.querySelector(".lextext").style.border="1px solid transparent",m.root.querySelector("input").addEventListener("focusout",function(e){e.relatedTarget&&"UL"==e.relatedTarget.tagName&&e.relatedTarget.classList.contains("lexoptions")||u.close()}),p.appendChild(m.root));const g=document.createElement("span");g.className="lexselectinnerlist",p.appendChild(g),p.refresh=t=>{var e,s;if(g.innerHTML="",t.length)for(let e=0;e<t.length;e++){var l,a=t[e],i=document.createElement("li"),n=document.createElement("div"),c=(n.className="option",i.appendChild(n),e=>{this.set(e.currentTarget.getAttribute("value"),!1,e),u.close()});i.addEventListener("click",c),a.constructor!=Object?((l="@"===a[0])?(n.innerHTML="<span>"+a.substr(1)+"</span>",i.removeEventListener("click",c)):(n.innerHTML="</a><span>"+a+"</span><a class='fa-solid fa-check'>",n.value=a,i.setAttribute("value",a),a==r&&(i.classList.add("selected"),d.innerHTML=a)),i.classList.add(l?"lexselectlabel":"lexselectitem")):((c=document.createElement("img")).src=a.src,i.setAttribute("value",a.value),i.className="lexlistitem",n.innerText=a.value,n.className+=" media",n.prepend(c),n.setAttribute("value",a.value),n.setAttribute("data-index",e),n.setAttribute("data-src",a.src),n.setAttribute("title",a.value),r==a.value&&i.classList.add("selected")),g.appendChild(i)}else s=o.emptyMsg??"No options found.",(e=document.createElement("div")).className="option",e.innerHTML=s,(s=document.createElement("li")).className="lexselectitem empty",s.appendChild(e),g.appendChild(s)},p.refresh(n),s.appendChild(u),N(this.onResize.bind(this))}_filterOptions(t,s){var l=!s.length,a=[];for(let e=0;e<t.length;e++){var i=t[e];if(!l){var n="string"==typeof i?i:i.value,c=s.toLowerCase();if(!n.toLowerCase().includes(c))continue}a.push(i)}return a}}T.Select=M;class $ extends w{constructor(l,e,a,t={}){var s=JSON.parse(JSON.stringify(e)),i=(super(w.CURVE,l,s,t),this.onGetValue=()=>JSON.parse(JSON.stringify(n.element.value)),this.onSetValue=(e,t,s)=>{n.element.value=JSON.parse(JSON.stringify(e)),n.redraw(),t||this._trigger(new C(l,n.element.value,s),a)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;i.style.width=`calc( 100% - ${t}px)`,n.canvas.width=i.offsetWidth,n.redraw()},document.createElement("div"));i.className="lexcurve",this.root.appendChild(i),t.callback=(e,t)=>{this._trigger(new C(l,e,t),a)},t.name=l;let n=new ve(e,t);i.appendChild(n.element),this.curveInstance=n,N(this.onResize.bind(this))}}T.Curve=$;class X extends w{constructor(l,e,a,t={}){var s=JSON.parse(JSON.stringify(e)),i=(super(w.DIAL,l,s,t),this.onGetValue=()=>JSON.parse(JSON.stringify(n.element.value)),this.onSetValue=(e,t,s)=>{n.element.value=JSON.parse(JSON.stringify(e)),n.redraw(),t||this._trigger(new C(l,n.element.value,s),a)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;i.style.width=`calc( 100% - ${t}px)`,n.element.style.height=n.element.offsetWidth+"px",n.canvas.width=n.element.offsetWidth,i.style.width=n.element.offsetWidth+"px",n.canvas.height=n.canvas.width,n.redraw()},document.createElement("div"));i.className="lexcurve",this.root.appendChild(i),t.callback=(e,t)=>{this._trigger(new C(l,e,t),a)},t.name=l;let n=new Le(this,e,t);i.appendChild(n.element),this.dialInstance=n,N(this.onResize.bind(this))}}T.Curve=$;class Y extends w{constructor(l,a,i,e={}){super(w.LAYERS,l,a,e),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{a=e,this.setLayers(a),t||this._trigger(new C(l,a,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=`calc( 100% - ${t}px)`};var n=document.createElement("div");n.className="lexlayers",this.root.appendChild(n),this.setLayers=l=>{n.innerHTML="";let t=l.toString(2);var s=t.length;for(let e=0;e<16-s;++e)t="0"+t;for(let s=0;s<16;++s){var e,a=document.createElement("div");a.className="lexlayer",null!=l&&null!=(e=t[16-s-1])&&"1"==e&&a.classList.add("selected"),a.innerText=s+1,a.title="Bit "+s+", value "+(1<<s),n.appendChild(a),a.addEventListener("click",e=>{e.stopPropagation(),e.stopImmediatePropagation(),e.target.classList.toggle("selected");var t=l^1<<s;this.set(t,!1,e)})}},this.setLayers(a),N(this.onResize.bind(this))}}T.Layers=Y;class K extends w{constructor(a,i=[],n,c={}){c.nameWidth="100%",super(w.ARRAY,a,null,c),this.onGetValue=()=>i,this.onSetValue=(e,t,s)=>{i=e,this._updateItems(),t||this._trigger(new C(a,i,s),n)};var e=document.createElement("div");e.className="lexarray",e.style.width="100%",this.root.appendChild(e),this.root.dataset.opened=!1;const s="<a class='fa-solid fa-angle-down'></a>";let r="Array (size "+i.length+")";r+=s;var t=new D(null,r,()=>{this.root.dataset.opened="true"!=this.root.dataset.opened,this.root.querySelector(".lexarrayitems").toggleAttribute("hidden")},{buttonClass:"array"});e.appendChild(t.root);let o=document.createElement("div");o.className="lexarrayitems",o.toggleAttribute("hidden",!0),this.root.appendChild(o),this._updateItems=()=>{var e=this.root.querySelector(".lexbutton.array span");e.innerHTML="Array (size "+i.length+")",e.innerHTML+=s,o.innerHTML="";for(let s=0;s<i.length;++s){const l=i[s];var t=c.innerValues?"select":l.constructor;let e=null;switch(t){case String:e=new z(s+"",l,function(e,t){i[s]=e,n(i)},{nameWidth:"4%",inputWidth:"95%",skipReset:!0});break;case Number:e=new ae(s+"",l,function(e,t){i[s]=e,n(i)},{nameWidth:"4%",inputWidth:"95%",skipReset:!0});break;case"select":e=new M(s+"",c.innerValues,l,function(e,t){i[s]=e,n(i)},{nameWidth:"4%",inputWidth:"95%",skipReset:!0})}console.assert(e,`Value of type ${t} cannot be modified in ItemArray`),o.appendChild(e.root);t=new D(null,"<a class='lexicon fa-solid fa-trash'></a>",(e,t)=>{i.splice(i.indexOf(l),1),this._updateItems(),this._trigger(new C(a,i,t),n)},{title:"Remove item",className:"micro"});e.root.appendChild(t.root)}r="Add item",r+="<a class='fa-solid fa-plus'></a>";e=new D(null,r,(e,t)=>{i.push(c.innerValues?c.innerValues[0]:""),this._updateItems(),this._trigger(new C(a,i,t),n)},{buttonClass:"array"});o.appendChild(e.root)},this._updateItems()}}T.ItemArray=K;class Z extends w{constructor(i,n,c,r,e={}){super(w.LIST,i,c,e),this.onGetValue=()=>c,this.onSetValue=(t,e,s)=>{o.querySelectorAll(".lexlistitem").forEach(e=>e.classList.remove("selected"));let l=null;for(let e=0;e<n.length;++e){var a=n[e];if(a==t||a.constructor==Array&&a[0]==t){l=e;break}}l?(o.children[l].classList.toggle("selected"),c=t,e||this._trigger(new C(i,t,s),r)):console.error(`Cannot find item ${t} in List.`)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;o.style.width=`calc( 100% - ${t}px)`},this._updateValues=e=>{n=e,o.innerHTML="";for(let l=0;l<n.length;++l){let e=null,t=n[l],s=(t.constructor===Array&&(e=t[1],t=t[0]),document.createElement("div"));s.className="lexlistitem"+(c==t?" selected":""),s.innerHTML="<span>"+t+"</span>"+(e?"<a class='"+e+"'></a>":""),s.addEventListener("click",e=>{o.querySelectorAll(".lexlistitem").forEach(e=>e.classList.remove("selected")),s.classList.toggle("selected"),c=t,this._trigger(new C(i,t,e),r)}),o.appendChild(s)}};let o=document.createElement("div");o.className="lexlist",this.root.appendChild(o),this._updateValues(n),N(this.onResize.bind(this))}}T.List=Z;class J extends w{constructor(l,a,i,e={}){a=a.replace(/\s/g,"").split(",");var t=[].concat(a);super(w.TAGS,l,t,e),this.onGetValue=()=>[].concat(a),this.onSetValue=(e,t,s)=>{a=[].concat(e),this.generateTags(a),t||this._trigger(new C(l,a,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=`calc( 100% - ${t}px)`};const n=document.createElement("div");n.className="lextags",this.root.appendChild(n),this.generateTags=s=>{n.innerHTML="";for(let e=0;e<s.length;++e){const a=s[e],i=document.createElement("span");i.className="lextag",i.innerHTML=a;var t=document.createElement("a");t.className="lextagrmb fa-solid fa-xmark lexicon",i.appendChild(t),t.addEventListener("click",e=>{i.remove(),s.splice(s.indexOf(a),1),this.set(s,!1,e)}),n.appendChild(i)}let l=document.createElement("input");l.value="",l.placeholder="Add tag...",n.appendChild(l),l.onkeydown=e=>{var t=l.value.replace(/\s/g,"");" "!=e.key&&"Enter"!=e.key||(e.preventDefault(),!t.length)||-1<s.indexOf(t)||(s.push(t),this.set(s,!1,e))},l.focus()},this.generateTags(a),N(this.onResize.bind(this))}}T.Tags=J;class Q extends w{constructor(l,a,i,s={}){if(!l&&!s.label)throw"Set Widget Name or at least a label!";super(w.CHECKBOX,l,a,s),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{e==a||(c.checked=a=e,this.root.querySelector(".lexcheckboxsubmenu")?.toggleAttribute("hidden",!e),t)||this._trigger(new C(l,e,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=s.inputWidth??`calc( 100% - ${t}px)`};var n=document.createElement("div");n.className="lexcheckboxcont",this.root.appendChild(n);let c=document.createElement("input");c.type="checkbox",c.className="lexcheckbox "+(s.className??"primary"),c.checked=a,c.disabled=s.disabled??!1,n.appendChild(c);var e,t=document.createElement("span");t.className="checkboxtext",t.innerHTML=s.label??"On",n.appendChild(t),c.addEventListener("change",e=>{this.set(c.checked,!1,e)}),s.suboptions&&((t=document.createElement("div")).className="lexcheckboxsubmenu",t.toggleAttribute("hidden",!c.checked),(e=new k).queue(t),s.suboptions.call(this,e),e.clearQueue(),this.root.appendChild(t)),N(this.onResize.bind(this))}}T.Checkbox=Q;class ee extends w{constructor(l,a,i,s={}){if(!l&&!s.label)throw"Set Widget Name or at least a label!";super(w.TOGGLE,l,a,s),this.onGetValue=()=>c.checked,this.onSetValue=(e,t,s)=>{e==a||(c.checked=a=e,this.root.querySelector(".lextogglesubmenu")?.toggleAttribute("hidden",!e),t)||this._trigger(new C(l,e,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=s.inputWidth??`calc( 100% - ${t}px)`};var n=document.createElement("div");n.className="lextogglecont",this.root.appendChild(n);let c=document.createElement("input");c.type="checkbox",c.className="lextoggle "+(s.className??""),c.checked=a,c.iValue=a,c.disabled=s.disabled??!1,n.appendChild(c);var e,t=document.createElement("span");t.className="toggletext",t.innerHTML=s.label??"On",n.appendChild(t),c.addEventListener("change",e=>{this.set(c.checked,!1,e)}),s.suboptions&&((t=document.createElement("div")).className="lextogglesubmenu",t.toggleAttribute("hidden",!c.checked),(e=new k).queue(t),s.suboptions.call(this,e),e.clearQueue(),this.root.appendChild(t)),N(this.onResize.bind(this))}}T.Toggle=ee;class te extends w{constructor(e,t,a,i,s={}){super(w.RADIO,e,null,s);let l=null;this.onGetValue=()=>{var e=n.querySelectorAll("button");return l?[l,e[l]]:void 0},this.onSetValue=(e,t,s)=>{e=e[0]??e,console.assert(e.constructor==Number,"RadioGroup _value_ must be an Array index!");var l=n.querySelectorAll("button"),l=(l.forEach(e=>{e.checked=!1,e.classList.remove("checked")}),l[e]);l.checked=!l.checked,l.classList.toggle("checked"),t||this._trigger(new C(null,[e,a[e]],s),i)};var n=document.createElement("div"),e=(n.className="lexradiogroup "+(s.className??""),this.root.appendChild(n),document.createElement("span"));e.innerHTML=t,n.appendChild(e);for(let t=0;t<a.length;++t){var c=document.createElement("div"),r=(c.className="lexradiogroupitem",n.appendChild(c),document.createElement("button")),o=(r.className="lexbutton",r.disabled=s.disabled??!1,c.appendChild(r),r.addEventListener("click",e=>{this.set(t,!1,e)}),document.createElement("span")),r=(r.appendChild(o),document.createElement("span"));r.innerHTML=a[t],c.appendChild(r)}s.selected&&(console.assert(s.selected.constructor==Number,"RadioGroup _selected_ must be an Array index!"),l=s.selected,this.set(l,!0))}}T.RadioGroup=te;class se extends w{constructor(l,a,i,n={}){const c=n.useAlpha??(a.constructor===Object&&"a"in a||a.constructor===String&&[5,9].includes(a.length));var e=new m(a),s=(a=c?e.hex:e.hex.substr(0,7),super(w.COLOR,l,a,n),this.onGetValue=()=>{var e=new m(a);return n.useRGB?e.rgb:a},this.onSetValue=(t,e,s)=>{t=new m(t);if(r.style.color=a=t.hex.substr(0,7),c&&(o.style.color=a=t.hex),this._skipTextUpdate||d.set(a,!0,s),!e){let e=a;n.useRGB&&(e=t.rgb,c||delete e.a),this._trigger(new C(l,e,s),i)}},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=`calc( 100% - ${t}px)`},document.createElement("span"));s.className="lexcolor",this.root.appendChild(s);let t=T.makeContainer(["18px","18px"],"flex flex-row bg-contrast rounded overflow-hidden","",s),r=(t.tabIndex="1",t.addEventListener("click",e=>{n.disabled||new E(a,t,{colorModel:n.useRGB?"RGB":"Hex",useAlpha:c,onChange:e=>{this._fromColorPicker=!0,this.set(e.hex),delete this._fromColorPicker}})}),document.createElement("div")),o=(r.className="lexcolorsample",r.style.color=a,t.appendChild(r),null);c?((o=document.createElement("div")).className="lexcolorsample",o.style.color=a,t.appendChild(o)):r.style.width="18px";const d=new z(null,a,e=>{this._skipTextUpdate=!0,this.set(e),delete this._skipTextUpdate},{width:"calc( 100% - 24px )",disabled:n.disabled});d.root.style.marginLeft="6px",s.appendChild(d.root),N(this.onResize.bind(this))}}T.ColorInput=se;class le extends w{constructor(l,a,i,n={}){super(w.RANGE,l,a,n),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{isNaN(e)||(c.value=a=g(+e,+c.min,+c.max),t)||this._trigger(new C(l,n.left?+c.max-a+ +c.min:a,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=n.inputWidth??`calc( 100% - ${t}px)`};const s=document.createElement("div");s.className="lexrange",this.root.appendChild(s);let c=document.createElement("input");c.className="lexrangeslider "+(n.className??""),c.min=n.min??0,c.max=n.max??100,c.step=n.step??1,c.type="range",c.disabled=n.disabled??!1,a.constructor==Number&&(a=g(a,+c.min,+c.max)),n.left&&(a=+c.max-a+ +c.min),c.value=a,s.appendChild(c),n.left&&c.classList.add("left"),(n.fill??!0)||c.classList.add("no-fill"),c.addEventListener("input",e=>{this.set(e.target.valueAsNumber,!1,e)},{passive:!1}),c.addEventListener("mousedown",function(e){n.onPress&&n.onPress.bind(c)(e,c)},!1),c.addEventListener("mouseup",function(e){n.onRelease&&n.onRelease.bind(c)(e,c)},!1),this.setLimits=(e,t,s)=>{c.min=e??c.min,c.max=t??c.max,c.step=s??c.step,w._dispatchEvent(c,"input",!0)},N(this.onResize.bind(this))}}T.RangeInput=le;class ae extends w{constructor(l,a,i,n={}){super(w.NUMBER,l,a,n),this.onGetValue=()=>a,this.onSetValue=(e,t,s)=>{isNaN(e)||(a=g(+e,+r.min,+r.max),r.value=a=f(a,n.precision),c.querySelector(".lexinputslider")&&(c.querySelector(".lexinputslider").value=a),n.units&&(r.unitSpan.style.left=p(a)+"px"),t)||this._trigger(new C(l,a,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=n.inputWidth??`calc( 100% - ${t}px)`};var e,s=document.createElement("div");s.className="lexnumber",this.root.appendChild(s);let c=document.createElement("div"),r=(c.className="numberbox",s.appendChild(c),document.createElement("input")),o=(r.id="number_"+b(),r.className="vecinput",r.min=n.min??-1e24,r.max=n.max??1e24,r.step=n.step??"any",r.type="number",a.constructor==Number&&(a=f(a=g(a,+r.min,+r.max),n.precision)),r.value=r.iValue=a,c.appendChild(r),n.units&&((e=document.createElement("span")).className="lexunit",e.innerText=n.units,e.style.left=p(r.value)+"px",r.unitSpan=e,c.appendChild(e)),document.createElement("a"));if(o.className="fa-solid fa-arrows-up-down drag-icon hidden",c.appendChild(o),n.disabled&&(r.disabled=!0),!n.skipSlider&&void 0!==n.min&&void 0!==n.max){let l=document.createElement("input");l.className="lexinputslider",l.min=n.min,l.max=n.max,l.step=n.step??1,l.type="range",l.value=a,l.addEventListener("input",e=>{this.set(l.valueAsNumber,!1,e)},!1),l.addEventListener("mousedown",function(e){n.onPress&&n.onPress.bind(l)(e,l)},!1),l.addEventListener("mouseup",function(e){n.onRelease&&n.onRelease.bind(l)(e,l)},!1),c.appendChild(l),this.setLimits=(e,t,s)=>{r.min=l.min=e??r.min,r.max=l.max=t??r.max,r.step=s??r.step,l.step=s??l.step,this.set(a,!0)}}r.addEventListener("input",function(e){a=f(a=+this.valueAsNumber,n.precision),n.units&&(r.unitSpan.style.left=p(r.value)+"px")},!1),r.addEventListener("wheel",t=>{if(t.preventDefault(),r===document.activeElement){let e=n.step??1;t.shiftKey?e*=10:t.altKey&&(e*=.1),a=+r.valueAsNumber-e*(0<t.deltaY?1:-1),this.set(a,!1,t)}},{passive:!1}),r.addEventListener("change",e=>{this.set(r.valueAsNumber,!1,e)},{passive:!1});var d=this;let h=t=>{var s=-t.movementY;if(0!=s){let e=n.step??1;t.shiftKey?e*=10:t.altKey&&(e*=.1),a=+r.valueAsNumber+e*s,this.set(a,!1,t)}t.stopPropagation(),t.preventDefault()},u=e=>{var t=d.root.ownerDocument;t.removeEventListener("mousemove",h),t.removeEventListener("mouseup",u),document.body.classList.remove("noevents"),o.classList.add("hidden"),document.pointerLockElement&&document.exitPointerLock(),n.onRelease&&n.onRelease.bind(r)(e,r)};r.addEventListener("mousedown",e=>{var t;document.activeElement!=r&&((t=d.root.ownerDocument).addEventListener("mousemove",h),t.addEventListener("mouseup",u),document.body.classList.add("noevents"),o.classList.remove("hidden"),e.stopImmediatePropagation(),e.stopPropagation(),document.pointerLockElement||r.requestPointerLock(),n.onPress)&&n.onPress.bind(r)(e,r)}),N(this.onResize.bind(this))}}T.NumberInput=ae;class ie extends w{constructor(t,a,i,n,c={}){t=g(t,2,4),i=i??new Array(t).fill(0),super(w.VECTOR,a,[].concat(i),c),this.onGetValue=()=>{var e,t=[];for(e of this.root.querySelectorAll("input"))t.push(+e.value);return t},this.onSetValue=(t,e,s)=>{if(r.length!=t.length)console.error("Input length does not match vector length.");else{for(let e=0;e<r.length;++e){var l;l=f(g(t[e],+r[e].min,+r[e].max),c.precision)??0,r[e].value=t[e]=l}e||this._trigger(new C(a,t,s),n)}},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;l.style.width=`calc( 100% - ${t}px)`};const r=[];var l=document.createElement("div");l.className="lexvector",this.root.appendChild(l);const o=this;for(let e=0;e<t;++e){var d=document.createElement("div");d.className="vecbox",d.innerHTML="<span class='"+k.VECTOR_COMPONENTS[e]+"'></span>";let a=document.createElement("input"),s=(a.className="vecinput v"+t,a.min=c.min??-1e24,a.max=c.max??1e24,a.step=c.step??"any",a.type="number",a.id="vec"+t+"_"+b(),a.idx=e,r[e]=a,i[e].constructor==Number&&(i[e]=g(i[e],+a.min,+a.max),i[e]=f(i[e],c.precision)),a.value=a.iValue=i[e],document.createElement("a"));function h(e){var t;document.activeElement!=a&&((t=o.root.ownerDocument).addEventListener("mousemove",u),t.addEventListener("mouseup",p),document.body.classList.add("noevents"),s.classList.remove("hidden"),e.stopImmediatePropagation(),e.stopPropagation(),document.pointerLockElement||a.requestPointerLock(),c.onPress)&&c.onPress.bind(a)(e,a)}function u(t){var s=-t.movementY;if(0!=s){let e=c.step??1;if(t.shiftKey?e=10:t.altKey&&(e=.1),m.locked)for(var l of this.root.querySelectorAll(".vecinput"))l.value=f(+l.valueAsNumber+e*s,c.precision),w._dispatchEvent(l,"change");else a.value=f(+a.valueAsNumber+e*s,c.precision),w._dispatchEvent(a,"change")}t.stopPropagation(),t.preventDefault()}function p(e){var t=o.root.ownerDocument;t.removeEventListener("mousemove",u),t.removeEventListener("mouseup",p),document.body.classList.remove("noevents"),s.classList.add("hidden"),document.pointerLockElement&&document.exitPointerLock(),c.onRelease&&c.onRelease.bind(a)(e,a)}s.className="fa-solid fa-arrows-up-down drag-icon hidden",d.appendChild(s),c.disabled&&(a.disabled=!0),a.addEventListener("wheel",function(t){if(t.preventDefault(),this===document.activeElement){let e=c.step??1;if(t.shiftKey?e=10:t.altKey&&(e=.1),m.locked)for(var s of o.querySelectorAll(".vecinput"))s.value=f(+s.valueAsNumber-e*(0<t.deltaY?1:-1),c.precision),w._dispatchEvent(s,"change");else this.value=f(+this.valueAsNumber-e*(0<t.deltaY?1:-1),c.precision),w._dispatchEvent(a,"change")}},{passive:!1}),a.addEventListener("change",e=>{if(!isNaN(e.target.value)){var t=f(g(e.target.value,+a.min,+a.max),c.precision);if(m.locked)for(var s of r)s.value=t,i[s.idx]=t;else a.value=t,i[e.target.idx]=t;this.set(i,!1,e)}},!1),a.addEventListener("mousedown",h),d.appendChild(a),l.appendChild(d)}void 0===c.min&&void 0===c.max||(this.setLimits=(e,t,s)=>{for(var l of r)l.min=e??l.min,l.max=t??l.max,l.step=s??l.step;this.set(i,!0)});let m=document.createElement("a");m.title="Lock",m.className="fa-solid fa-lock-open lexicon lock",l.appendChild(m),m.addEventListener("click",function(e){this.locked=!this.locked,this.locked?(this.classList.add("fa-lock"),this.classList.remove("fa-lock-open")):(this.classList.add("fa-lock-open"),this.classList.remove("fa-lock"))},!1),N(this.onResize.bind(this))}}T.Vector=ie;class ne extends w{constructor(e,t,i,s={}){super(w.SIZE,e,t,s),this.onGetValue=()=>{var t=[];for(let e=0;e<this.root.dimensions.length;++e)t.push(this.root.dimensions[e].value());return t},this.onSetValue=(t,s,e)=>{for(let e=0;e<this.root.dimensions.length;++e)this.root.dimensions[e].set(t[e],s)},this.root.aspectRatio=2==t.length?t[0]/t[1]:null,this.root.dimensions=[];for(let a=0;a<t.length;++a){var l=new k;this.root.dimensions[a]=l.addNumber(null,t[a],e=>{var t,s,l=this.value();this.root.locked&&(t=0==a?1/this.root.aspectRatio:this.root.aspectRatio,l[s=(1+a)%2]=e*t,this.root.dimensions[s].set(l[s],!0)),i&&i(l)},{min:0,disabled:s.disabled,precision:s.precision}),this.root.appendChild(this.root.dimensions[a].root),a+1!=t.length&&((l=document.createElement("a")).className="lexsizecross fa-solid fa-xmark",this.root.appendChild(l))}if(s.units&&((e=document.createElement("span")).className="lexunit",e.innerText=s.units,this.root.appendChild(e)),this.root.aspectRatio){let s=document.createElement("a");s.title="Lock Aspect Ratio",s.className="fa-solid fa-lock-open lexicon lock",this.root.appendChild(s),s.addEventListener("click",e=>{var t;this.root.locked=!this.root.locked,this.root.locked?(s.classList.add("fa-lock"),s.classList.remove("fa-lock-open"),t=this.value(),this.root.aspectRatio=t[0]/t[1]):(s.classList.add("fa-lock-open"),s.classList.remove("fa-lock"))},!1)}}}T.SizeInput=ne;class ce extends w{constructor(l,a,i,e={}){var t=e.pattern??"xxx-xxx",s=(t.match(/x/g)||[]).length;(a=String(a)).length||(a="x".repeat(s)),super(w.OTP,l,a,e),this.onGetValue=()=>+a,this.onSetValue=(e,t,s)=>{a=e,n(a),t||this._trigger(new C(l,+e,s),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;r.style.width=`calc( 100% - ${t}px)`},this.disabled=e.disabled??!1;const r=document.createElement("div"),o=(r.className="lexotp flex flex-row items-center",this.root.appendChild(r),t.split("-")),n=l=>{r.innerHTML="";let t=0,a=0;for(let e=0;e<o.length;++e){var s=o[e];for(let e=0;e<s.length;++e){var i=l[t++];const n=T.makeContainer(["36px","30px"],"lexotpslot border-top border-bottom border-left px-3 cursor-text select-none font-medium outline-none","x"==i?"":i,r),c=(n.tabIndex="1",this.disabled&&n.classList.add("disabled"),t);0==e?n.className+=" rounded-l":e==s.length-1&&(n.className+=" rounded-r border-right"),n.addEventListener("click",()=>{var e;this.disabled||(r.querySelectorAll(".lexotpslot").forEach(e=>e.classList.remove("active")),(e=r.querySelectorAll(".lexotpslot")[a]).classList.add("active"),e.focus())}),n.addEventListener("blur",()=>{this.disabled||N(()=>{r.contains(document.activeElement)||r.querySelectorAll(".lexotpslot").forEach(e=>e.classList.remove("active"))},10)}),n.addEventListener("keyup",e=>{var t,s;this.disabled||(/[^0-9]+/g.test(e.key)?"ArrowLeft"==e.key||"ArrowRight"==e.key?(s="ArrowLeft"==e.key?-1:1,(t=r.querySelectorAll(".lexotpslot")[a+s])&&(r.querySelectorAll(".lexotpslot")[a].classList.remove("active"),t.classList.add("active"),t.focus(),a+=s)):"Enter"!=e.key||l.includes("x")||this.set(l):(t=e.key,console.assert(NaN!=parseInt(t)),n.innerHTML=t,l=l.substring(0,c-1)+t+l.substring(c),(s=r.querySelectorAll(".lexotpslot")[a+1])?(r.querySelectorAll(".lexotpslot")[a].classList.remove("active"),s.classList.add("active"),s.focus(),a++):this.set(l)))})}e<o.length-1&&T.makeContainer(["auto","auto"],"mx-2","-",r)}console.assert(t==l.length,"OTP Value/Pattern Mismatch!")};n(a)}}T.OTPInput=ce;class re extends w{constructor(a,e,i,s={}){super(w.PAD,a,null,s),this.onGetValue=()=>c.value.xy,this.onSetValue=(e,t,s)=>{c.value.set(e[0],e[1]),r(c.value),t||this._trigger(new C(a,c.value.xy),i)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;l.style.width=`calc( 100% - ${t}px)`};var l=document.createElement("div");l.className="lexpad",this.root.appendChild(l);let n=document.createElement("div"),c=(n.id="lexpad-"+a,n.className="lexinnerpad",n.style.width=s.padSize??"96px",n.style.height=s.padSize??"96px",l.appendChild(n),document.createElement("div")),r=(c.className="lexpadthumb",c.value=new T.vec2(e[0],e[1]),c.min=s.min??0,c.max=s.max??1,n.appendChild(c),e=>{var[t,s]=[n.offsetWidth,n.offsetHeight],e=new T.vec2(u(e.x,c.min,c.max,0,1),u(e.y,c.min,c.max,0,1));c.style.transform=`translate(calc( ${t*e.x}px - 50% ), calc( ${s*e.y}px - 50%)`}),o=(n.addEventListener("mousedown",function(e){var t;document.activeElement!=c&&((t=o.root.ownerDocument).addEventListener("mousemove",d),t.addEventListener("mouseup",h),document.body.classList.add("nocursor"),document.body.classList.add("noevents"),e.stopImmediatePropagation(),e.stopPropagation(),c.classList.add("active"),s.onPress)&&s.onPress.bind(c)(e,c)}),this);function d(e){var t=n.getBoundingClientRect(),t=new T.vec2(e.x-t.x,e.y-t.y),[s,l]=(t.clp(0,n.offsetWidth,t),[n.offsetWidth,n.offsetHeight]),t=t.div(new T.vec2(n.offsetWidth,n.offsetHeight));c.style.transform=`translate(calc( ${s*t.x}px - 50% ), calc( ${l*t.y}px - 50%)`,c.value=new T.vec2(u(t.x,0,1,c.min,c.max),u(t.y,0,1,c.min,c.max)),o._trigger(new C(a,c.value.xy,e),i),e.stopPropagation(),e.preventDefault()}function h(e){var t=o.root.ownerDocument;t.removeEventListener("mousemove",d),t.removeEventListener("mouseup",h),document.body.classList.remove("nocursor"),document.body.classList.remove("noevents"),c.classList.remove("active"),s.onRelease&&s.onRelease.bind(c)(e,c)}N(()=>{this.onResize(),r(c.value)})}}T.Pad=re;class oe extends w{constructor(e,t,a={}){super(w.PROGRESS,e,t,a),this.onGetValue=()=>i.value,this.onSetValue=(e,t,s)=>{this.root.querySelector("meter").value=e,l(),this.root.querySelector("span")&&(this.root.querySelector("span").innerText=e)},this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=`calc( 100% - ${t}px)`};const s=document.createElement("div");s.className="lexprogress",this.root.appendChild(s);let i=document.createElement("meter");i.id="lexprogressbar-"+e,i.className="lexprogressbar",i.step="any",i.min=a.min??0,i.max=a.max??1,i.low=a.low??i.low,i.high=a.high??i.high,i.optimum=a.optimum??i.optimum,i.value=t,s.appendChild(i);const l=()=>{let e=T.getThemeColor("global-selected");null!=i.low&&i.value<i.low?e=T.getThemeColor("global-color-error"):null!=i.high&&i.value<i.high&&(e=T.getThemeColor("global-color-warning")),i.style.background=`color-mix(in srgb, ${e} 20%, transparent)`};var n;if(a.showValue&&(document.getElementById("progressvalue-"+e)&&document.getElementById("progressvalue-"+e).remove(),(n=document.createElement("span")).id="progressvalue-"+e,n.style.padding="0px 5px",n.innerText=t,s.appendChild(n)),a.editable){i.classList.add("editable");let s=e=>{var t;0!=e.movementX&&(t=i.getBoundingClientRect(),t=f(u(e.offsetX-t.x,0,t.width,i.min,i.max)),this.set(t,!1,e),a.callback)&&a.callback(t,e),e.stopPropagation(),e.preventDefault()},l=e=>{var t=this.root.ownerDocument;t.removeEventListener("mousemove",s),t.removeEventListener("mouseup",l),document.body.classList.remove("noevents"),i.classList.remove("grabbing")};i.addEventListener("mousedown",e=>{var t=this.root.ownerDocument,t=(t.addEventListener("mousemove",s),t.addEventListener("mouseup",l),document.body.classList.add("noevents"),i.classList.add("grabbing"),e.stopImmediatePropagation(),e.stopPropagation(),i.getBoundingClientRect()),t=f(u(e.offsetX,0,t.width,i.min,i.max));this.set(t,!1,e)})}l(),N(this.onResize.bind(this))}}T.Progress=oe;class de extends w{constructor(e,s,l={}){super(w.FILE,e,null,l);e=l.local??!0;let a=l.type??"text",i=l.read??!0,n=(this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;n.style.width=`calc( 100% - ${t}px)`},document.createElement("input"));if(n.className="lexfileinput",n.type="file",n.disabled=l.disabled??!1,this.root.appendChild(n),l.placeholder&&(n.placeholder=l.placeholder),n.addEventListener("change",function(e){const t=e.target.files;t.length&&(i?(l.onBeforeRead&&l.onBeforeRead(),e=new FileReader,"text"===a?e.readAsText(t[0]):"buffer"===a?e.readAsArrayBuffer(t[0]):"bin"===a?e.readAsBinaryString(t[0]):"url"===a&&e.readAsDataURL(t[0]),e.onload=e=>{s.call(this,e.target.result,t[0])}):s(t[0]))}),n.addEventListener("cancel",function(e){s(null)}),e){let t=null;e=new D(null,"",()=>{t=t||new _("Load Settings",e=>{e.addSelect("Type",["text","buffer","bin","url"],a,e=>{a=e}),e.addButton(null,"Reload",e=>{n.dispatchEvent(new Event("change"))})},{onclose:e=>{e.remove(),t=null}})},{skipInlineCount:!0,title:"Settings",disabled:l.disabled,icon:"fa-solid fa-gear"});this.root.appendChild(e.root)}N(this.onResize.bind(this))}}T.FileInput=de;class he extends w{constructor(e,t,s={}){s.hideName=!0,super(w.TREE,e,null,s);var l=document.createElement("div"),a=(l.className="lextree",this.root.appendChild(l),e&&((c=document.createElement("span")).innerHTML=e,l.appendChild(c)),document.createElement("div"));if(a.className="lextreetools",e||(a.className+=" notitle"),s.icons)for(var i of s.icons){var n=document.createElement("a");n.title=i.name,n.className="lexicon "+i.icon,n.addEventListener("click",i.callback),a.appendChild(n)}s.filter=s.filter??!0;var c=null,c=(s.filter&&((c=document.createElement("input")).className="lexnodetree_filter",c.setAttribute("placeholder","Filter.."),c.style.width="100%",c.addEventListener("input",()=>{this.innerTree.refresh()}),(e=document.createElement("a")).className="lexicon fa-solid fa-magnifying-glass",a.appendChild(c),a.appendChild(e)),(s.icons||s.filter)&&l.appendChild(a),document.createElement("ul"));c.addEventListener("contextmenu",function(e){e.preventDefault()}),l.appendChild(c),this.innerTree=new V(l,t,s)}}T.Tree=he;class ue extends w{constructor(e,l,t={}){if(t.hideName=!0,super(w.TABS,e,null,t),l.constructor!=Array)throw"Param @tabs must be an Array!";var e=t.vertical??!0,a=!e&&(t.showNames??!1);let i=document.createElement("div"),n=(i.className="lextabscontainer",e||(i.className+=" horizontal"),document.createElement("div"));n.className="tabs",i.appendChild(n),this.root.appendChild(i);for(let e=0;e<l.length;++e){const r=l[e];console.assert(r.name);var c=0==e;let t=document.createElement("div"),s=(t.className="lextab "+(e==l.length-1?"last":"")+(c?"selected":""),t.innerHTML=(a?r.name:"")+"<a class='"+(r.icon||"fa fa-hashtag")+" "+(a?"withname":"")+"'></a>",t.title=r.name,document.createElement("div"));s.id=r.name.replace(/\s/g,""),s.className="widgets",c||s.toggleAttribute("hidden",!0),i.appendChild(s),t.addEventListener("click",e=>{n.querySelectorAll(".lextab").forEach(e=>{e.classList.remove("selected")}),t.classList.add("selected"),i.querySelectorAll(".widgets").forEach(e=>{e.toggleAttribute("hidden",!0)}),i.querySelector("#"+s.id).toggleAttribute("hidden"),r.onSelect&&r.onSelect(this,s)}),n.appendChild(t),r.onCreate&&((c=new k).queue(s),r.onCreate.call(this,c),c.clearQueue())}}}T.TabSections=ue;class pe extends w{constructor(l,e,a,t={}){super(w.COUNTER,l,e,t),this.onGetValue=()=>o.count,this.onSetValue=(e,t,s)=>{e=g(e,i,n),o.count=e,o.innerHTML=e,t||this._trigger(new C(l,e,s),a)};const i=t.min??0,n=t.max??100,c=t.step??1;var s=document.createElement("div"),r=(s.className="lexcounter",this.root.appendChild(s),new D(null,"",(e,t)=>{let s=c??1;t.shiftKey&&(s*=10),this.set(o.count-s,!1,t)},{skipInlineCount:!0,title:"Minus",icon:"fa-solid fa-minus"})),r=(s.appendChild(r.root),document.createElement("div"));r.className="lexcounterbox",s.appendChild(r);const o=document.createElement("span");o.className="lexcountervalue",o.innerHTML=e,o.count=e,r.appendChild(o),t.label&&((e=document.createElement("span")).className="lexcounterlabel",e.innerHTML=t.label,r.appendChild(e));t=new D(null,"",(e,t)=>{let s=c??1;t.shiftKey&&(s*=10),this.set(o.count+s,!1,t)},{skipInlineCount:!0,title:"Plus",icon:"fa-solid fa-plus"});s.appendChild(t.root)}}T.Counter=pe;class me extends w{constructor(e,M,k={}){if(!M)throw"Data is needed to create a table!";super(w.TABLE,e,null,k),this.onResize=e=>{var t=this.root.domName?.offsetWidth??0;s.style.width=`calc( 100% - ${t}px)`};const s=document.createElement("div"),l=(s.className="lextable",this.root.appendChild(s),this.centered=k.centered??!1,!0===this.centered&&s.classList.add("centered"),this.filter=k.filter??!1,this.toggleColumns=k.toggleColumns??!1,this.customFilters=k.customFilters??!1,this.activeCustomFilters={},this._currentFilter=k.filterValue,M.head=M.head??[],M.body=M.body??[],M.checkMap={},M.colVisibilityMap={},M.head.forEach((e,t)=>{M.colVisibilityMap[t]=!0}),(e,t,s,l)=>s[e]<l[e]?-t:s[e]>l[e]?t:0),_=(e,t)=>{M.body=M.body.sort(l.bind(this,e,t)),this.refresh()};if(this.filter||this.customFilters||this.toggleColumns){var t=T.makeContainer(["100%","auto"],"flex flex-row");if(this.filter&&((e=T.deepCopy(k)).placeholder=`Filter ${this.filter}...`,e.skipWidget=!0,e.trigger="input",e.inputClass="outline",e=new z(null,this._currentFilter??"",e=>{this._currentFilter=e,this.refresh()},e),t.appendChild(e.root)),this.customFilters){var a=T.makeIcon("circle-plus",{svgClass:"sm"});for(let l of this.customFilters){const i=new D(null,a.innerHTML+l.name,e=>{var t=l.options.map((e,t)=>({name:e,checked:!!this.activeCustomFilters[e],callback:(e,t,s)=>{s?this.activeCustomFilters[e]=l.name:delete this.activeCustomFilters[e],this.refresh()}}));new A(i.root,t,{side:"bottom",align:"start"})},{buttonClass:" primary dashed"});t.appendChild(i.root)}this._resetCustomFiltersBtn=new D(null,"resetButton",e=>{this.activeCustomFilters={},this.refresh(),this._resetCustomFiltersBtn.root.classList.add("hidden")},{title:"Reset filters",icon:"fa fa-xmark"}),t.appendChild(this._resetCustomFiltersBtn.root),this._resetCustomFiltersBtn.root.classList.add("hidden")}this.toggleColumns&&(e=T.makeIcon("sliders-large"),e=new D("toggleColumnsBtn",e.innerHTML+"View",(e,t)=>{var s=M.head.map((e,t)=>{e={name:e,icon:"check",callback:()=>{M.colVisibilityMap[t]=!M.colVisibilityMap[t],S.querySelectorAll(`tr > *:nth-child(${t+this.rowOffsetCount+1})`).forEach(e=>{e.style.display="none"===e.style.display?"":"none"})}};return M.colVisibilityMap[t]||delete e.icon,e});new A(t.target,s,{side:"bottom",align:"end"})},{hideName:!0}),t.appendChild(e.root),e.root.style.marginLeft="auto"),s.appendChild(t)}const S=document.createElement("table");s.appendChild(S),this.refresh=()=>{this._currentFilter=this._currentFilter??"",S.innerHTML="",this.rowOffsetCount=0;var e,t,s=document.createElement("thead"),l=(s.className="lextablehead",S.appendChild(s),document.createElement("tr"));k.sortable&&((e=document.createElement("th")).style.width="0px",l.appendChild(e),this.rowOffsetCount++),k.selectable&&((e=document.createElement("th")).style.width="0px",(t=document.createElement("input")).type="checkbox",t.className="lexcheckbox accent",t.checked=M.checkMap[":root"]??!1,e.appendChild(t),t.addEventListener("change",function(){M.checkMap[":root"]=this.checked;for(const e of S.querySelector("tbody").childNodes)M.checkMap[e.getAttribute("rowId")]=this.checked,e.querySelector("input[type='checkbox']").checked=this.checked}),this.rowOffsetCount++,l.appendChild(e));for(const n of M.head){var a=document.createElement("th");a.innerHTML=`<span>${n}</span>`,a.querySelector("span").appendChild(T.makeIcon("menu-arrows",{svgClass:"sm"}));const L=M.head.indexOf(n),b=(this.centered&&-1<this.centered.indexOf(L)&&a.classList.add("centered"),[{name:"Asc",icon:"up",callback:_.bind(this,L,1)},{name:"Desc",icon:"down",callback:_.bind(this,L,-1)}]);this.toggleColumns&&b.push(null,{name:"Hide",icon:"eye-slash",callback:()=>{M.colVisibilityMap[L]=!1,S.querySelectorAll(`tr > *:nth-child(${L+this.rowOffsetCount+1})`).forEach(e=>{e.style.display="none"===e.style.display?"":"none"})}}),a.addEventListener("click",e=>{new A(e.target,b,{side:"bottom",align:"start"})}),l.appendChild(a)}k.rowActions&&((t=document.createElement("th")).className="sm",l.appendChild(t)),s.appendChild(l);{var c,r=document.createElement("tbody");r.className="lextablebody",S.appendChild(r);let a=null,l=!1,i=null,n=(document.addEventListener("mouseup",e=>{var t,s,l;a&&(document.removeEventListener("mousemove",n),(t=S.rows[a]).dY=0,t.classList.remove("dragging"),Array.from(S.rows).forEach(e=>{e.style.transform="",e.style.transition="none"}),P(t),i&&(t=a-1,s=i[1]-1,l=M.body[t],M.body[t]=M.body[s],M.body[s]=l,i[0].parentNode.insertChildAtIndex(i[0],i[1]),i=null),a=null,N(()=>{Array.from(S.rows).forEach(e=>{e.style.transition="transform 0.2s ease-in"})}))}),e=>{var t;a&&((t=S.rows[a]).dY=t.dY??0,t.dY+=e.movementY,t.style.transform=`translateY(${t.dY}px)`)});for(let s=0;s<M.body.length;++s){const C=M.body[s];if(this.filter){var o=M.head.indexOf(this.filter);if(-1<o)if(!H(C[o]).toLowerCase().includes(this._currentFilter.toLowerCase()))continue}if(Object.keys(this.activeCustomFilters).length){var d,h={};for(d in this._resetCustomFiltersBtn.root.classList.remove("hidden"),this.activeCustomFilters){var u=this.activeCustomFilters[d],p=(h[u]=h[u]??!1,M.head.indexOf(u));-1<p&&(h[u]|=C[p]===d)}if(!Object.values(h).reduce((e,t)=>t*e))continue}const y=document.createElement("tr"),E=T.getSupportedDOMName(C.join("-"));y.setAttribute("rowId",E.substr(0,32)),k.sortable&&((o=document.createElement("td")).style.width="0px",c=T.makeIcon("grip-vertical"),o.appendChild(c),c.draggable=!0,c.addEventListener("dragstart",e=>{e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),a=y.rowIndex,y.classList.add("dragging"),document.addEventListener("mousemove",n)},!1),y.addEventListener("mouseenter",function(e){var t;e.preventDefault(),a&&this.rowIndex!=a&&l!=this.rowIndex&&(l=this.rowIndex,e=S.rows[a],t=""!=this.style.transform,this.rowIndex>a?(i=[e,t?this.rowIndex-1:this.rowIndex],this.style.transform=t?"":`translateY(-${this.offsetHeight}px)`):(i=[e,t?this.rowIndex:this.rowIndex-1],this.style.transform=t?"":`translateY(${this.offsetHeight}px)`),N(()=>{l=!1}))}),y.appendChild(o)),k.selectable&&(c=document.createElement("td"),(f=document.createElement("input")).type="checkbox",f.className="lexcheckbox accent",f.checked=M.checkMap[E],c.appendChild(f),f.addEventListener("change",function(){M.checkMap[E]=this.checked;var e=S.querySelector("thead input[type='checkbox']");this.checked?Array.from(S.querySelectorAll("tbody input[type='checkbox']")).filter(e=>!e.checked).length||(e.checked=M.checkMap[":root"]=!0):e.checked=M.checkMap[":root"]=!1}),y.appendChild(c));for(const x of C){var m=document.createElement("td"),g=(m.innerHTML=""+x,C.indexOf(x));this.centered&&-1<this.centered.indexOf(g)&&m.classList.add("centered"),y.appendChild(m)}if(k.rowActions){var f=document.createElement("td"),v=(f.style.width="0px",document.createElement("div"));v.className="lextablebuttons",f.appendChild(v);for(const w of k.rowActions){let e=null;"delete"==w?(e=T.makeIcon("trash-can",{title:"Delete Row"})).addEventListener("click",function(){M.body.splice(s,1),y.remove()}):"menu"==w?(e=T.makeIcon("more-horizontal",{title:"Menu"})).addEventListener("click",function(e){var t;k.onMenuAction&&(t=k.onMenuAction(s,M),console.assert(t.length,"Add items to the Menu Action Dropdown!"),new A(e.target,t,{side:"bottom",align:"end"}))}):(console.assert(w.constructor==Object),e=T.makeIcon(w.icon,{title:w.title}),w.callback&&e.addEventListener("click",e=>{w.callback(C,S,e)&&this.refresh()})),console.assert(e),v.appendChild(e)}y.appendChild(f)}r.appendChild(y)}}for(const z in M.colVisibilityMap){var i=parseInt(z);M.colVisibilityMap[i]||S.querySelectorAll(`tr > *:nth-child(${i+this.rowOffsetCount+1})`).forEach(e=>{e.style.display="none"===e.style.display?"":"none"})}},this.refresh(),N(this.onResize.bind(this))}}T.Table=me;class k{constructor(e={}){var t=document.createElement("div");t.className="lexpanel",e.id&&(t.id=e.id),e.className&&(t.className+=" "+e.className),t.style.width=e.width||"100%",t.style.height=e.height||"100%",Object.assign(t.style,e.style??{}),this.root=t,this.branches=[],this.widgets={},this._branchOpen=!1,this._currentBranch=null,this._queue=[],this._inlineWidgetsLeft=-1,this._inline_queued_container=null}get(e){return this.widgets[e]}getValue(e){var t=this.widgets[e];if(t)return t.value();throw"No widget called "+e}setValue(e,t,s){var l=this.widgets[e];if(l)return l.set(t,s);throw"No widget called "+e}attach(e){console.assert(e,"No content to attach!"),(e.parent=this).root.appendChild(e.root||e)}clear(){for(var t in this._branchOpen=!1,this.branches=[],this._currentBranch=null,this.widgets)if(this.widgets[t].options&&this.widgets[t].options.signal){var s=this.widgets[t].options.signal;for(let e=0;e<T.signals[s].length;e++)T.signals[s][e]==this.widgets[t]&&(T.signals[s]=[...T.signals[s].slice(0,e),...T.signals[s].slice(e+1)])}if(this.signals)for(let e=0;e<this.signals.length;e++){var l=Object.values(this.signals[e])[0],a=l.options.signal;for(let e=0;e<T.signals[a].length;e++)T.signals[a][e]==l&&(T.signals[a]=[...T.signals[a].slice(0,e),...T.signals[a].slice(e+1)])}this.widgets={},this.root.innerHTML=""}sameLine(e){this._inline_queued_container=this.queuedContainer,this._inlineWidgetsLeft=e||1/0}endLine(e){if(-1==this._inlineWidgetsLeft)console.warn("No pending widgets to be inlined!");else{this._inlineWidgetsLeft=-1,this._inlineContainer||(this._inlineContainer=document.createElement("div"),this._inlineContainer.className="lexinlinewidgets",e&&(this._inlineContainer.className+=" "+e));for(var t of this._inlineWidgets)t.constructor==Array?(this._inline_queued_container?this._inlineContainer:t[1]).appendChild(t[0]):this._inlineContainer.appendChild(t);(this._inline_queued_container||(this._currentBranch?this._currentBranch.content:this.root)).appendChild(this._inlineContainer),delete this._inlineWidgets,delete this._inlineContainer}}branch(e,t={}){this._branchOpen&&this.merge();e=new ge(e,t);return(e.panel=this)._branchOpen=!0,this._currentBranch=e,0==this.branches.length&&e.root.classList.add("first"),this.root.querySelectorAll(".lexbranch.last").forEach(e=>{e.classList.remove("last")}),e.root.classList.add("last"),this.branches.push(e),this.root.appendChild(e.root),t.filter&&this._addFilter(t.filter,{callback:this._searchWidgets.bind(this,e.name)}),e}merge(){this._branchOpen=!1,this._currentBranch=null}_pick(e,t){return void 0===e?t:e}_attachWidget(t,s={}){null!=t.name&&(this.widgets[t.name]=t),t.options.signal&&!t.name&&(this.signals||(this.signals=[]),this.signals.push({[t.options.signal]:t}));var e=e=>{(s.container||this.queuedContainer||(this._currentBranch?(s.skipWidget||this._currentBranch.widgets.push(t),this._currentBranch.content):(e.className+=" nobranch w-full",this.root))).appendChild(e)},l=e=>{this.queuedContainer?this._inlineWidgets.push([e,this.queuedContainer]):this._inlineWidgets.push(e)};return 0<this._inlineWidgetsLeft&&!s.skipInlineCount?(this._inlineWidgets||(this._inlineWidgets=[]),l(t.root),this._inlineWidgetsLeft--,this._inlineWidgetsLeft||this.endLine()):e(t.root),t}_addFilter(e,t={}){t.placeholder=e.constructor==String?e:"Filter properties..",t.skipWidget=t.skipWidget??!0,t.skipInlineCount=!0;e=new z(null,null,null,t).root;e.className+=" lexfilter";let s=document.createElement("input");s.className="lexinput-filter",s.setAttribute("placeholder",t.placeholder),s.style.width="100%",s.value=t.filterValue||"";var l=document.createElement("a");return l.className="fa-solid fa-magnifying-glass",e.appendChild(l),e.appendChild(s),s.addEventListener("input",e=>{t.callback&&t.callback(s.value,e)}),e}_searchWidgets(e,t){for(var s of this.branches)if(s.name===e){for(var l of s.widgets)l.domEl.classList.contains("lexfilter")||l.domEl.remove();this.queue(s.content);var a,i=!t.length;for(a of s.widgets){if(!i){if(!a.name)continue;t.toLowerCase();if(!a.name.toLowerCase().includes(t))continue}this.queuedContainer.appendChild(a.domEl)}return void this.clearQueue()}}getBranch(t){return t?this.branches.find(e=>e.name==t):this._currentBranch}queue(e){!e&&this._currentBranch&&(e=this._currentBranch.root),this.queuedContainer&&this._queue.push(this.queuedContainer),this.queuedContainer=e}clearQueue(){this._queue&&this._queue.length?this.queuedContainer=this._queue.pop():delete this.queuedContainer}addSeparator(){var e=document.createElement("div"),t=(e.className="lexseparator",new w(w.SEPARATOR));t.root=e,this._currentBranch?(this._currentBranch.content.appendChild(e),this._currentBranch.widgets.push(t)):this.root.appendChild(e)}addBlank(e,t){e=new c(e,t);return this._attachWidget(e)}addTitle(e,t={}){e=new q(e,t);return this._attachWidget(e)}addText(e,t,s,l={}){e=new z(e,t,s,l);return this._attachWidget(e)}addTextArea(e,t,s,l={}){e=new F(e,t,s,l);return this._attachWidget(e)}addLabel(e,t={}){t.disabled=!0,t.inputClass=(t.inputClass??"")+" nobg";e=this.addText(null,e,null,t);return e.type=w.LABEL,e}addButton(e,t,s,l={}){e=new D(e,t,s,l);return this._attachWidget(e)}addComboButtons(e,t,s={}){e=new U(e,t,s);return this._attachWidget(e)}addCard(e,t={}){e=new j(e,t);return this._attachWidget(e)}addForm(e,t,s,l={}){e=new G(e,t,s,l);return this._attachWidget(e)}addContent(e,t,s={}){console.assert(t,"Empty content!"),t.constructor==String&&((l=document.createElement("div")).innerHTML=t,t=1<l.childElementCount?l:l.firstElementChild),s.hideName=!0;var l=new w(w.CONTENT,e,null,s);return l.root.appendChild(t),this._attachWidget(l)}async addImage(e,t,s={}){console.assert(t,"Empty src/url for Image!");var l=document.createElement("div"),a=(l.className="leximage",l.style.width="100%",document.createElement("img")),t=(a.src=t,Object.assign(a.style,s.style??{}),l.appendChild(a),new w(w.IMAGE,e,null,s));return t.root.appendChild(l),a.decode(),this._attachWidget(t)}addSelect(e,t,s,l,a={}){e=new M(e,t,s,l,a);return this._attachWidget(e)}addCurve(e,t,s,l={}){e=new $(e,t,s,l);return this._attachWidget(e)}addDial(e,t,s,l={}){e=new X(e,t,s,l);return this._attachWidget(e)}addLayers(e,t,s,l={}){e=new Y(e,t,s,l);return this._attachWidget(e)}addArray(e,t=[],s,l={}){e=new K(e,t,s,l);return this._attachWidget(e)}addList(e,t,s,l,a={}){e=new Z(e,t,s,l,a);return this._attachWidget(e)}addTags(e,t,s,l={}){e=new J(e,t,s,l);return this._attachWidget(e)}addCheckbox(e,t,s,l={}){e=new Q(e,t,s,l);return this._attachWidget(e)}addToggle(e,t,s,l={}){e=new ee(e,t,s,l);return this._attachWidget(e)}addRadioGroup(e,t,s,l,a={}){e=new te(e,t,s,l,a);return this._attachWidget(e)}addColor(e,t,s,l={}){e=new se(e,t,s,l);return this._attachWidget(e)}addRange(e,t,s,l={}){e=new le(e,t,s,l);return this._attachWidget(e)}addNumber(e,t,s,l={}){e=new ae(e,t,s,l);return this._attachWidget(e)}static VECTOR_COMPONENTS={0:"x",1:"y",2:"z",3:"w"};_addVector(e,t,s,l,a={}){e=new ie(e,t,s,l,a);return this._attachWidget(e)}addVector2(e,t,s,l){return this._addVector(2,e,t,s,l)}addVector3(e,t,s,l){return this._addVector(3,e,t,s,l)}addVector4(e,t,s,l){return this._addVector(4,e,t,s,l)}addSize(e,t,s,l={}){e=new ne(e,t,s,l);return this._attachWidget(e)}addOTP(e,t,s,l={}){e=new ce(e,t,s,l);return this._attachWidget(e)}addPad(e,t,s,l={}){e=new re(e,t,s,l);return this._attachWidget(e)}addProgress(e,t,s={}){e=new oe(e,t,s);return this._attachWidget(e)}addFile(e,t,s={}){e=new de(e,t,s);return this._attachWidget(e)}addTree(e,t,s={}){e=new he(e,t,s);return this._attachWidget(e)}addTabSections(e,t,s={}){e=new ue(e,t,s);return this._attachWidget(e)}addCounter(e,t,s,l={}){e=new pe(e,t,s,l);return this._attachWidget(e)}addTable(e,t,s={}){e=new me(e,t,s);return this._attachWidget(e)}}T.Panel=k;class ge{constructor(e,t={}){this.name=e;var s=document.createElement("div"),l=(s.className="lexbranch",t.id&&(s.id=t.id),t.className&&(s.className+=" "+t.className),s.style.margin="0 auto",this),a=(this.root=s,this.widgets=[],document.createElement("div")),i=(a.className="lexbranchtitle",t.icon&&(a.innerHTML="<a class='branchicon "+t.icon+"'>"),a.innerHTML+=e||"Branch",a.innerHTML+="<a class='fa-solid fa-angle-right switch-branch-button'></a>",s.appendChild(a),document.createElement("div"));i.id=e.replace(/\s/g,""),i.className="lexbranchcontent",s.appendChild(i),this.content=i,this._addBranchSeparator(),t.closed&&(a.classList.add("closed"),s.classList.add("closed"),this.grabber.setAttribute("hidden",!0),N(()=>{this.content.setAttribute("hidden",!0)},10)),this.onclick=function(e){this.classList.toggle("closed"),this.parentElement.classList.toggle("closed"),l.content.toggleAttribute("hidden"),l.grabber.toggleAttribute("hidden"),T.emit("@on_branch_closed",this.classList.contains("closed"))},this.oncontextmenu=function(t){t.preventDefault(),t.stopPropagation(),this.parentElement.classList.contains("dialog")||S("Dock",t,e=>{t.preventDefault(),e.add("Floating",l._onMakeFloating.bind(l))},{icon:"fa-regular fa-window-restore"})},a.addEventListener("click",this.onclick),a.addEventListener("contextmenu",this.oncontextmenu)}_onMakeFloating(){new _(this.name,e=>{for(var t of this.widgets)e.root.appendChild(t.root)}).widgets=this.widgets;var e=this.root.parentElement,t=(this.root.remove(),e.querySelector(".lexbranch")),t=(t&&t.classList.add("first"),e.querySelectorAll(".lexbranch"));t.length&&t[t.length-1].classList.add("last")}_addBranchSeparator(){var e=document.createElement("div");e.className="lexwidgetseparator",e.style.width="100%",e.style.background="none";const s=document.createElement("div"),l=(s.innerHTML="▾",e.appendChild(s),N(()=>{s.style.marginLeft=parseFloat(T.DEFAULT_NAME_WIDTH)/100*this.content.offsetWidth+"px"},10),document.createElement("div"));l.style.width="1px",l.style.marginLeft="6px",l.style.marginTop="2px",l.style.height="0px",s.appendChild(l),s.addEventListener("mousedown",function(e){var t=a.root.ownerDocument;t.addEventListener("mouseup",n),t.addEventListener("mousemove",i),e.stopPropagation(),e.preventDefault();t=a.root.offsetHeight-a.root.children[0].offsetHeight;l.style.height=t-3+"px",document.body.classList.add("nocursor")}),this.grabber=s;let a=this;function i(e){var t,e=e.movementX;0!=e&&(t=parseFloat(s.style.marginLeft),s.style.marginLeft=g(t+e,32,a.content.offsetWidth-32)+"px")}function n(e){a._updateWidgets(),l.style.height="0px";var t=a.root.ownerDocument;t.removeEventListener("mouseup",n),t.removeEventListener("mousemove",i),document.body.classList.remove("nocursor")}this.content.appendChild(e)}_updateWidgets(){var t=this.grabber.style.marginLeft;for(let e=0;e<this.widgets.length;e++){var s=this.widgets[e],l=s.root;if(!(l.children.length<2)){var a=l.children[0],l=l.children[1];switch(a.style.width=t,a.style.minWidth=t,s.type){case w.CUSTOM:case w.ARRAY:continue}l.style.width="-moz-calc( 100% - "+t+" )",l.style.width="-webkit-calc( 100% - "+t+" )",l.style.width="calc( 100% - "+t+" )"}}}}T.Branch=ge;T.Footer=class{constructor(e={}){var t=document.createElement("footer"),s=(t.className="lexfooter "+(e.className??""),document.createElement("div"));if(s.style.minHeight="48px",s.className="w-full",t.appendChild(s),e.columns&&e.columns.constructor==Array){var l,a=document.createElement("div");a.className="columns",a.style.gridTemplateColumns="1fr ".repeat(e.columns.length),s.appendChild(a);for(l of e.columns){var i=document.createElement("div"),n=(i.className="col",a.appendChild(i),document.createElement("h2"));if(n.innerHTML=l.title,i.appendChild(n),l.items&&l.items.length){var c,r=document.createElement("ul");i.appendChild(r);for(c of l.items){var o=document.createElement("li");o.innerHTML=`<a class="" href="${c.link}">${c.title}</a>`,r.appendChild(o)}}}}if(e.credits||e.socials){var d=document.createElement("div");if(d.className="credits-and-socials",s.appendChild(d),e.credits&&((s=document.createElement("p")).innerHTML=e.credits,d.appendChild(s)),e.socials){var h,u=document.createElement("div");u.className="social";for(h of e.socials){var p=document.createElement("a");p.title=h.title,p.innerHTML=h.icon,p.href=h.link,p.target="_blank",u.appendChild(p)}d.appendChild(u)}}(e.parent??document.body).appendChild(t),t.previousElementSibling.style.height="unset",t.previousElementSibling.style.flexGrow="1",this.root=t}};class _{static _last_id=0;constructor(n,e,t={}){e||console.warn("Content is empty, add some widgets using 'callback' parameter!"),this._oncreate=e,this.id=b();const s=t.size??[],l=t.position??[],a=t.draggable??!0,i=t.modal??!1;let c=document.createElement("dialog"),r=(c.className="lexdialog "+(t.className??""),c.id=t.id??"dialog"+_._last_id++,T.root.appendChild(c),N(()=>{i?c.showModal():c.show()},10),this);var o=document.createElement("div"),d=(n&&(o.className="lexdialogtitle",o.innerHTML=n,o.setAttribute("draggable",!1),o.oncontextmenu=function(i){i.preventDefault(),i.stopPropagation(),T.main_area&&"horizontal"===T.main_area.type&&S("Dock",i,e=>{i.preventDefault();function l(e){let t=e.panels[0];if(t)return t;for(var s of e.sections)if(t=l(s))return t}function t(e){let t=e.branches.find(e=>e.name===n);t?e.root.appendChild(t.root):(e.branch(n),t=e.branches.find(e=>e.name===n));for(var s of r.widgets)t.content.appendChild(s.root);t.widgets=r.widgets,e.root.querySelectorAll(".lexbranch.last").forEach(e=>{e.classList.remove("last")}),t.root.classList.add("last"),c.remove()}let s=l(T.main_area.sections[1]),a=(e.add('<i class="fa-regular fa-window-maximize fa-window-maximize fa-rotate-90">',{disabled:!s,id:"dock_options0",callback:()=>{t(s)}}),l(T.main_area.sections[0]));e.add('<i class="fa-regular fa-window-maximize fa-window-maximize fa-rotate-270">',{disabled:!a,id:"dock_options1",callback:()=>{t(a)}})},{icon:"fa-regular fa-window-restore"})},c.appendChild(o)),(t.closable??!0)&&(this.close=()=>{t.onBeforeClose&&t.onBeforeClose(this),t.onclose?t.onclose(this.root):(c.close(),N(()=>{r.panel.clear(),c.remove()},150))},(d=document.createElement("a")).className="lexdialogcloser fa-solid fa-xmark",d.title="Close",d.addEventListener("click",this.close),(n?o:(d.classList.add("notitle"),c)).appendChild(d)),new k);d.root.classList.add("lexdialogcontent"),n||d.root.classList.add("notitle"),e&&e.call(this,d),c.appendChild(d.root),d.root.querySelectorAll(".lexbranch").forEach(e=>e.classList.add("dialog")),this.panel=d,this.root=c,this.title=o,a&&h(c,Object.assign({targetClass:"lexdialogtitle"},t)),s.length&&"string"!=typeof s[0]&&(s[0]+="px"),s.length&&"string"!=typeof s[1]&&(s[1]+="px"),c.style.width=s[0]||"25%",c.style.height=s[1]||"auto",c.style.translate=t.position?"unset":"-50% -50%",t.size&&(this.size=s),c.style.left=l[0]??"50%",c.style.top=l[1]??"50%",d.root.style.height=n?"calc( 100% - "+(o.offsetHeight+30)+"px )":"calc( 100% - 51px )"}destroy(){this.root.remove()}refresh(){this.panel.root.innerHTML="",this._oncreate.call(this,this.panel)}setPosition(e,t){this.root.style.left=e+"px",this.root.style.top=t+"px"}setTitle(e){var t=this.root.querySelector(".lexdialogtitle");t&&(t.innerText=e)}}T.Dialog=_;class r extends _{static TOP=0;static BOTTOM=1;constructor(e,t,s={}){s.draggable=s.draggable??!1,s.closable=s.closable??!1;super(e,t,s);let l=this;if(T.addSignal("@on_branch_closed",this.panel,e=>{this.dock_pos==r.BOTTOM&&(this.root.style.top="calc(100% - "+(this.root.offsetHeight+3)+"px)")}),this.root.classList.add("pocket"),this.root.style.translate="none",this.root.style.top="0",this.root.style.left="unset",s.position||(this.root.style.right="3px",this.root.style.top="3px"),this.panel.root.style.width="100%",this.panel.root.style.height="100%",this.dock_pos=r.TOP,this.minimized=!1,this.title.tabIndex=-1,this.title.addEventListener("click",e=>{this.title.eventCatched?this.title.eventCatched=!1:(this.size&&(this.minimized?this.root.style.height=this.size[1]:this.root.style.height="auto"),this.root.classList.toggle("minimized"),this.minimized=!this.minimized,this.dock_pos==r.BOTTOM&&(l.root.style.top=this.root.classList.contains("minimized")?"calc(100% - "+(l.title.offsetHeight+6)+"px)":"calc(100% - "+(l.root.offsetHeight+3)+"px)"))}),!s.draggable){var a=s.float;if(a)for(let e=0;e<a.length;e++)switch(a[e]){case"b":this.root.style.top="calc(100% - "+(this.root.offsetHeight+3)+"px)";break;case"l":this.root.style.right="unset",this.root.style.left=s.position?s.position[1]:"3px"}this.root.classList.add("dockable"),this.title.addEventListener("keydown",function(e){e.ctrlKey&&(l.root.style.right="unset","ArrowLeft"==e.key?l.root.style.left="0px":"ArrowRight"==e.key?l.root.style.left="calc(100% - "+(l.root.offsetWidth+3)+"px)":"ArrowUp"==e.key?(l.root.style.top="0px",l.dock_pos=r.TOP):"ArrowDown"==e.key&&(l.root.style.top="calc(100% - "+(l.root.offsetHeight+3)+"px)",l.dock_pos=r.BOTTOM))})}}}T.PocketDialog=r;class fe{constructor(e,t,s={}){document.body.querySelectorAll(".lexcontextmenu").forEach(e=>e.remove()),this.root=document.createElement("div"),this.root.className="lexcontextmenu",this.root.style.left=e.x-48+"px",this.root.style.top=e.y-8+"px",this.root.addEventListener("mouseleave",function(){this.remove()}),this.items=[],this.colors={},t&&((e={})[t]=[],e.className="cmtitle",e.icon=s.icon,this.items.push(e))}_adjustPosition(e,t,s=!1){var l=e.getBoundingClientRect();s?((s=window.innerWidth-l.right)<0&&(e.style.left=e.offsetLeft+(s-t)+"px"),(s=window.innerHeight-(l.top+l.height))<0&&(e.style.top=e.offsetTop+(s-t+20)+"px")):(s=l.width,l.left<0?e.style.left=t+"px":window.innerWidth-l.right<0&&(e.style.left=window.innerWidth-s-t+"px"),l.top<0?e.style.top=t+"px":l.top+l.height>window.innerHeight&&(e.style.top=window.innerHeight-l.height-t+"px"))}_createSubmenu(t,s,e,l){this.root.querySelectorAll(".lexcontextmenu").forEach(e=>e.remove());var a=document.createElement("div");a.className="lexcontextmenu",e.appendChild(a);for(let e=0;e<t[s].length;++e){var i=t[s][e],n=Object.keys(i)[0];this._createEntry(i,n,a,l)}e=e.getBoundingClientRect();a.style.left=e.x+e.width+"px",a.style.marginTop="-31px",this._adjustPosition(a,6)}_createEntry(t,s,e,l){const a=t[s].length;let i=document.createElement("div");i.className="lexmenuboxentry"+(t.className?" "+t.className:""),i.id=t.id??"eId"+d(s),i.innerHTML="";var n=t.icon;n&&(i.innerHTML+="<a class='"+n+" fa-sm'></a>");const c=t.disabled;i.innerHTML+="<div class='lexentryname"+(c?" disabled":"")+"'>"+s+"</div>",e.appendChild(i),this.colors[s]&&(i.style.borderColor=this.colors[s]),""==s?i.className+=" cmseparator":(i.addEventListener("click",e=>{e.stopPropagation(),e.stopImmediatePropagation(),c||((e=t.callback)&&(e.call(this,s,i),this.root.remove()),a&&"click"==T.OPEN_CONTEXTMENU_ENTRY&&this._createSubmenu(t,s,i,++l))}),a&&((n=document.createElement("a")).className="fa-solid fa-bars-staggered fa-xs",i.appendChild(n),"mouseover"==T.OPEN_CONTEXTMENU_ENTRY&&i.addEventListener("mouseover",e=>{i.built||(i.built=!0,this._createSubmenu(t,s,i,++l),e.stopPropagation())}),i.addEventListener("mouseleave",()=>{l=-1,e.querySelectorAll(".lexcontextmenu").forEach(e=>e.remove())})))}onCreate(){N(()=>this._adjustPosition(this.root,6))}add(e,i={}){i.constructor==Function&&(i={callback:i});const n=(e+="").split("/");var t,s,e=n[n.length-1];this.colors[e]=i.color;let c=0;const r=(l,e)=>{if(null!=l){let s=null;var t,a;e.forEach(e=>{var t=Object.keys(e).find(e=>e==l);t&&(s=e[t])}),s?r(n[c++],s):((t={})[l]=[],(a=n[c++])||(t.id=i.id,t.callback=i.callback,t.disabled=i.disabled??!1),e.push(t),r(a,t[l]))}},o=(r(n[c++],this.items),e=>{let t=Object.keys(e)[0];var s,l=e[t];if(l.length){null==l.find(e=>Object.keys(e)[0]==t)&&((l={})[t]=[],l.className="cmtitle",e[t].unshift(l));for(s of e[t]){var a=Object.keys(s)[0];for(let e=0;e<s[a].length;++e)o(s)}}});for(t of this.items)o(t);for(s of this.items){var l=Object.keys(s)[0],a="eId"+d(l),a="#"+(s.id??a);this.root.querySelector(a)||this._createEntry(s,l,this.root,-1)}}setColor(e,t){"#"!==t[0]&&(t=s(t)),this.colors[e]=t}}function S(e,t,s,l){t=new fe(t,e,l);return T.root.appendChild(t.root),s&&s(t),t.onCreate(),t}T.ContextMenu=fe,T.addContextMenu=S;class ve{constructor(e,s={}){let c=document.createElement("div"),r=(c.className="curve "+(s.className||""),c.style.minHeight="50px",c.style.width=s.width||"100%",c.style.minWidth="50px",c.style.minHeight="20px",c.bgcolor=s.bgColor||T.getThemeColor("global-intense-background"),c.pointscolor=s.pointsColor||T.getThemeColor("global-color-accent"),c.activepointscolor=s.activePointsColor||T.getThemeColor("global-color-accent-light"),c.linecolor=s.lineColor||"#555",c.value=e||[],c.xrange=s.xrange||[0,1],c.yrange=s.yrange||[0,1],c.defaulty=null!=s.defaulty?s.defaulty:0,c.no_overlap=s.noOverlap||!1,c.show_samples=s.showSamples||0,c.allow_add_values=s.allowAddValues??!0,c.draggable_x=s.draggableX??!0,c.draggable_y=s.draggableY??!0,c.smooth=(s.smooth&&"number"==typeof s.smooth?s.smooth:.3)||!1,c.move_out=s.moveOutAction??T.CURVE_MOVEOUT_DELETE,T.addSignal("@on_new_color_scheme",(e,t)=>{c.bgcolor=s.bgColor||T.getThemeColor("global-intense-background"),c.pointscolor=s.pointsColor||T.getThemeColor("global-color-accent"),c.activepointscolor=s.activePointsColor||T.getThemeColor("global-color-accent-light"),this.redraw()}),this.element=c,document.createElement("canvas"));function n(e){return[r.width*(e[0]-c.xrange[0])/c.xrange[1],r.height*(e[1]-c.yrange[0])/c.yrange[1]]}function o(e){return[e[0]*c.xrange[1]/r.width+c.xrange[0],e[1]*c.yrange[1]/r.height+c.yrange[0]]}r.width=s.width||200,r.height=s.height||50,c.appendChild(r),this.canvas=r,c.addEventListener("mousedown",function(e){document.addEventListener("mousemove",a),document.addEventListener("mouseup",u);var t=r.getBoundingClientRect(),s=e.clientX-t.left,t=e.clientY-t.top;{var l;d=function(e,t){for(var s=1e5,l=-1,a=0;a<c.value.length;a++){var i=n(c.value[a]),i=m([e,t],i);i<s&&i<8&&(s=i,l=a)}return l}(s,r.height-t),e.button==T.MOUSE_LEFT_CLICK&&-1==d&&c.allow_add_values&&(l=o([s,r.height-t]),c.value.push(l),g(),d=c.value.indexOf(l))}h=[s,t],c.redraw(),e.preventDefault(),e.stopPropagation()}),c.getValueAt=function(t){if(t<c.xrange[0]||t>c.xrange[1])return c.defaulty;let s=[c.xrange[0],c.defaulty],l=0;for(let e=0;e<c.value.length;e+=1){var a=c.value[e];if(t==a[0])return a[1];if(t<a[0])return l=(t-s[0])/(a[0]-s[0]),s[1]*(1-l)+a[1]*l;s=a}return v=[c.xrange[1],c.defaulty],l=(t-s[0])/(v[0]-s[0]),s[1]*(1-l)+v[1]*l},c.resample=function(e){var t=[],s=(c.xrange[1]-c.xrange[0])/e;for(let e=c.xrange[0];e<=c.xrange[1];e+=s)t.push(c.getValueAt(e));return t},c.addValue=function(t){for(let e=0;e<c.value;e++){var s=c.value[e];if(!(s[0]<t[0]))return c.value.splice(e,0,t),void redraw()}c.value.push(t),redraw()};let d=-1;c.redraw=function(e={}){e.value&&(c.value=e.value),e.xrange&&(c.xrange=e.xrange),e.yrange&&(c.yrange=e.yrange),e.smooth&&(c.smooth=e.smooth);var e=r.parentElement.getBoundingClientRect(),t=((e=r.parentElement.parentElement?r.parentElement.parentElement.getBoundingClientRect():e)&&r.width!=e.width&&e.width&&e.width<1e3&&(r.width=e.width),r.getContext("2d")),s=(t.setTransform(1,0,0,1,0,0),t.translate(0,r.height),t.scale(1,-1),t.fillStyle=c.bgcolor,t.fillRect(0,0,r.width,r.height),t.strokeStyle=c.linecolor,t.beginPath(),n([c.xrange[0],c.defaulty])),l=(t.moveTo(s[0],s[1]),[s[0],s[1]]);for(a in c.value){s=n(c.value[a]);l.push(s[0]),l.push(s[1]),c.smooth||t.lineTo(s[0],s[1])}s=n([c.xrange[1],c.defaulty]),l.push(s[0]),l.push(s[1]),c.smooth?T.UTILS.drawSpline(t,l,c.smooth):(t.lineTo(s[0],s[1]),t.stroke());for(var a=0;a<c.value.length;a+=1)s=n(c.value[a]),d==a?t.fillStyle=c.activepointscolor:t.fillStyle=c.pointscolor,t.beginPath(),t.arc(s[0],s[1],d==a?4:3,0,2*Math.PI),t.fill();if(c.show_samples){var i=c.resample(c.show_samples);t.fillStyle="#888";for(a=0;a<i.length;a+=1)s=n([a*((c.xrange[1]-c.xrange[0])/c.show_samples)+c.xrange[0],i[a]]),t.beginPath(),t.arc(s[0],s[1],2,0,2*Math.PI),t.fill()}};var h=[0,0];function a(e){var t,s,l,a=r.getBoundingClientRect(),i=e.clientX-a.left,n=e.clientY-a.top,a=(i<0?i=0:i>r.width&&(i=r.width),n<0?n=0:n>r.height&&(n=r.height),[e.clientX-a.left,e.clientY-a.top]);-1!=d&&m(a,[i,n])>.5*r.height?(c.move_out==T.CURVE_MOVEOUT_DELETE?c.value.splice(d,1):(a=[a[0]-i,a[1]-n],(t=c.value[d])[0]=0==a[0]?t[0]:a[0]<0?c.xrange[0]:c.xrange[1],t[1]=0==a[1]?t[1]:a[1]<0?c.yrange[1]:c.yrange[0]),u(e)):(t=o([-(c.draggable_x?h[0]-i:0),c.draggable_y?h[1]-n:0]),-1!=d&&(a=c.xrange[0],s=c.xrange[1],c.no_overlap&&(0<d&&(a=c.value[d-1][0]),d<c.value.length-1)&&(s=c.value[d+1][0]),(l=c.value[d])[0]+=t[0],l[1]+=t[1],l[0]<a?l[0]=a:l[0]>s&&(l[0]=s),l[1]<c.yrange[0]?l[1]=c.yrange[0]:l[1]>c.yrange[1]&&(l[1]=c.yrange[1])),g(),c.redraw(),h[0]=i,h[1]=n,p(e),e.preventDefault(),e.stopPropagation())}function u(e){d=-1,c.redraw(),document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",u),p(e),e.preventDefault(),e.stopPropagation()}function p(e){s.callback&&s.callback.call(c,c.value,e)}function m(e,t){return Math.sqrt(Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2))}function g(){var e=null;-1!=d&&(e=c.value[d]),c.value.sort(function(e,t){return e[0]-t[0]}),e&&(d=c.value.indexOf(e))}return c.redraw(),this}redraw(e={}){this.element.redraw(e)}}T.CanvasCurve=ve;class Le{constructor(e,t,s={}){let c=document.createElement("div"),r=(c.className="dial "+(s.className||""),c.style.width=c.style.height=s.size||"100%",c.style.minWidth=c.style.minHeight="50px",c.bgcolor=s.bgColor||T.getThemeColor("global-dark-background"),c.pointscolor=s.pointsColor||T.getThemeColor("global-color-accent-light"),c.linecolor=s.lineColor||"#555",c.value=t||[],c.xrange=s.xrange||[0,1],c.yrange=s.yrange||[0,1],c.defaulty=null!=s.defaulty?s.defaulty:0,c.no_overlap=s.noOverlap||!1,c.show_samples=s.showSamples||0,c.allow_add_values=s.allowAddValues??!0,c.draggable_x=s.draggableX??!0,c.draggable_y=s.draggableY??!0,c.smooth=(s.smooth&&"number"==typeof s.smooth?s.smooth:.3)||!1,c.move_out=s.moveOutAction??T.CURVE_MOVEOUT_DELETE,this.element=c,document.createElement("canvas"));function n(e){return Math.pow(e[0],2),[r.width*(e[0]-c.xrange[0])/c.xrange[1],r.height*(e[1]-c.yrange[0])/c.yrange[1]]}function o(e){return[e[0]*c.xrange[1]/r.width+c.xrange[0],e[1]*c.yrange[1]/r.height+c.yrange[0]]}r.width=r.height=s.size||200,c.appendChild(r),this.canvas=r,c.addEventListener("mousedown",function(e){document.addEventListener("mousemove",a),document.addEventListener("mouseup",u);var t=r.getBoundingClientRect(),s=e.clientX-t.left,t=e.clientY-t.top;{var l;d=function(e,t){for(var s=1e5,l=-1,a=0;a<c.value.length;a++){var i=n(c.value[a]),i=m([e,t],i);i<s&&i<8&&(s=i,l=a)}return l}(s,r.height-t),e.button==T.MOUSE_LEFT_CLICK&&-1==d&&c.allow_add_values&&(l=o([s,r.height-t]),c.value.push(l),g(),d=c.value.indexOf(l))}h=[s,t],c.redraw(),e.preventDefault(),e.stopPropagation()}),c.getValueAt=function(e){if(e<c.xrange[0]||e>c.xrange[1])return c.defaulty;for(var t=[c.xrange[0],c.defaulty],s=0,l=0;l<c.value.length;l+=1){var a=c.value[l];if(e==a[0])return a[1];if(e<a[0])return s=(e-t[0])/(a[0]-t[0]),t[1]*(1-s)+a[1]*s;t=a}return a=[c.xrange[1],c.defaulty],s=(e-t[0])/(a[0]-t[0]),t[1]*(1-s)+a[1]*s},c.resample=function(e){for(var t=[],s=(c.xrange[1]-c.xrange[0])/e,l=c.xrange[0];l<=c.xrange[1];l+=s)t.push(c.getValueAt(l));return t},c.addValue=function(e){for(var t=0;t<c.value;t++){var s=c.value[t];if(!(s[0]<e[0]))return c.value.splice(t,0,e),void redraw()}c.value.push(e),redraw()};var d=-1,h=(c.redraw=function(e={}){e.value&&(c.value=e.value),e.xrange&&(c.xrange=e.xrange),e.yrange&&(c.yrange=e.yrange),e.smooth&&(c.smooth=e.smooth);var e=r.parentElement.getBoundingClientRect(),t=((e=r.parentElement.parentElement?r.parentElement.parentElement.getBoundingClientRect():e)&&r.width!=e.width&&e.width&&e.width<1e3&&(r.width=e.width),r.getContext("2d")),s=(t.setTransform(1,0,0,1,0,0),t.translate(0,r.height),t.scale(1,-1),t.fillStyle=c.bgcolor,t.fillRect(0,0,r.width,r.height),t.strokeStyle=c.linecolor,t.beginPath(),n([c.xrange[0],c.defaulty])),l=(t.moveTo(s[0],s[1]),[s[0],s[1]]);for(a in c.value){s=n(c.value[a]);l.push(s[0]),l.push(s[1])}s=n([c.xrange[1],c.defaulty]),l.push(s[0]),l.push(s[1]);s=n([0,0]),t.fillStyle="gray",t.beginPath(),t.arc(s[0],s[1],3,0,2*Math.PI),t.fill();for(var a=0;a<c.value.length;a+=1)s=n(c.value[a]),t.fillStyle=d==a?"white":c.pointscolor,t.beginPath(),t.arc(s[0],s[1],d==a?4:3,0,2*Math.PI),t.fill();if(c.show_samples){var i=c.resample(c.show_samples);t.fillStyle="#888";for(a=0;a<i.length;a+=1)s=n([a*((c.xrange[1]-c.xrange[0])/c.show_samples)+c.xrange[0],i[a]]),t.beginPath(),t.arc(s[0],s[1],2,0,2*Math.PI),t.fill()}},[0,0]);function a(e){var t,s,l,a=r.getBoundingClientRect(),i=e.clientX-a.left,n=e.clientY-a.top,a=(i<0?i=0:i>r.width&&(i=r.width),n<0?n=0:n>r.height&&(n=r.height),[e.clientX-a.left,e.clientY-a.top]);-1!=d&&m(a,[i,n])>.5*r.height?(c.move_out==T.CURVE_MOVEOUT_DELETE?c.value.splice(d,1):(a=[a[0]-i,a[1]-n],(t=c.value[d])[0]=0==a[0]?t[0]:a[0]<0?c.xrange[0]:c.xrange[1],t[1]=0==a[1]?t[1]:a[1]<0?c.yrange[1]:c.yrange[0]),u(e)):(t=o([-(c.draggable_x?h[0]-i:0),c.draggable_y?h[1]-n:0]),-1!=d&&(a=c.xrange[0],s=c.xrange[1],c.no_overlap&&(0<d&&(a=c.value[d-1][0]),d<c.value.length-1)&&(s=c.value[d+1][0]),(l=c.value[d])[0]+=t[0],l[1]+=t[1],l[0]<a?l[0]=a:l[0]>s&&(l[0]=s),l[1]<c.yrange[0]?l[1]=c.yrange[0]:l[1]>c.yrange[1]&&(l[1]=c.yrange[1])),g(),c.redraw(),h[0]=i,h[1]=n,p(e),e.preventDefault(),e.stopPropagation())}function u(e){d=-1,c.redraw(),document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",u),p(e),e.preventDefault(),e.stopPropagation()}function p(e){s.callback&&s.callback.call(c,c.value,e)}function m(e,t){return Math.sqrt(Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2))}function g(){var e=null;-1!=d&&(e=c.value[d]),c.value.sort(function(e,t){return e[0]-t[0]}),e&&(d=c.value.indexOf(e))}return c.redraw(),this}redraw(e={}){this.element.redraw(e)}}T.Dial=X;class I{static NONE=0;static ASSET_SELECTED=1;static ASSET_DELETED=2;static ASSET_RENAMED=3;static ASSET_CLONED=4;static ASSET_DBLCLICKED=5;static ENTER_FOLDER=6;static ASSET_CHECKED=7;constructor(e,t,s){this.type=e||y.NONE,this.item=t,this.value=s,this.multiple=!1}string(){switch(this.type){case I.NONE:return"assetview_event_none";case I.ASSET_SELECTED:return"assetview_event_selected";case I.ASSET_DELETED:return"assetview_event_deleted";case I.ASSET_RENAMED:return"assetview_event_renamed";case I.ASSET_CLONED:return"assetview_event_cloned";case I.ASSET_DBLCLICKED:return"assetview_event_dblclicked";case I.ENTER_FOLDER:return"assetview_event_enter_folder";case I.ASSET_CHECKED:return"assetview_event_checked"}}}T.AssetViewEvent=I;class R{static LAYOUT_CONTENT=0;static LAYOUT_LIST=1;static MAX_PAGE_ELEMENTS=50;constructor(e={}){this.rootPath="https://raw.githubusercontent.com/jxarco/lexgui.js/master/",this.layout=e.layout??R.LAYOUT_CONTENT,this.contentPage=1,e.rootPath&&(e.rootPath.constructor!==String?console.warn("Asset Root Path must be a String (now is "+path.constructor.name+")"):this.rootPath=e.rootPath);var t=document.createElement("div"),s=(t.className="lexassetbrowser",this.root=t,new T.Area({height:"100%"}));t.appendChild(s.root);let l,a,i=s;this.skipBrowser=e.skipBrowser??!1,this.skipPreview=e.skipPreview??!1,this.useNativeTitle=e.useNativeTitle??!1,this.onlyFolders=e.onlyFolders??!0,this.allowMultipleSelection=e.allowMultipleSelection??!1,this.previewActions=e.previewActions??[],this.contextMenu=e.contextMenu??[],this.onRefreshContent=e.onRefreshContent,this.skipBrowser||([l,a]=s.split({type:"horizontal",sizes:["15%","85%"]}),i=a,l.setLimitBox(210,0),a.setLimitBox(512,0)),this.skipPreview||([i,a]=i.split({type:"horizontal",sizes:["80%","20%"]})),this.allowedTypes=e.allowedTypes||["None","Image","Mesh","Script","JSON","Clip"],this.prevData=[],this.nextData=[],this.data=[],this._processData(this.data,null),this.currentData=this.data,this.path=["@"],this.skipBrowser||this._createTreePanel(l),this._createContentPanel(i),this.skipPreview||(this.previewPanel=a.addPanel({className:"lexassetcontentpanel",style:{overflow:"scroll"}}))}load(e,t){this.prevData.length=0,this.nextData.length=0,this.data=e,this._processData(this.data,null),this.currentData=this.data,this.path=["@"],this.skipBrowser||this._createTreePanel(this.area),this._refreshContent(),this.onevent=t}clear(){this.previewPanel&&this.previewPanel.clear(),this.leftPanel&&this.leftPanel.clear(),this.rightPanel&&this.rightPanel.clear()}_processData(e,t){e.constructor!==Array&&(e.folder=t,e.children=e.children??[]);for(var s=e.constructor===Array?e:e.children,l=0;l<s.length;++l)this._processData(s[l],e)}_updatePath(e){this.path.length=0;const t=e=>{e&&(e=(e.children||e)[0])&&e.folder&&(this.path.push(e.folder.id??"@"),t(e.folder.folder))};t(e),T.emit("@on_folder_change",this.path.reverse().join("/"))}_createTreePanel(e){this.leftPanel?this.leftPanel.clear():this.leftPanel=e.addPanel({className:"lexassetbrowserpanel"});e={id:"/",children:this.data},e=this.leftPanel.addTree("Content Browser",e,{filter:!1,onlyFolders:this.onlyFolders,onevent:e=>{var t=e.node,s=e.value;switch(e.type){case T.TreeEvent.NODE_SELECTED:e.multiple||this._enterFolder(t),t.parent||(this.prevData.push(this.currentData),this.currentData=this.data,this._refreshContent(),this.path=["@"],T.emit("@on_folder_change",this.path.join("/")));break;case T.TreeEvent.NODE_DRAGGED:t.folder=s,this._refreshContent()}}});this.tree=e.innerTree}_setContentLayout(e){this.layout=e,this._refreshContent()}_createContentPanel(e){this.rightPanel?this.rightPanel.clear():this.rightPanel=e.addPanel({className:"lexassetcontentpanel"});e=(e,t)=>{var s;this.allowNextPage&&(s=this.contentPage,this.contentPage+=e,this.contentPage=Math.min(this.contentPage,1+((this.currentData.length-1)/R.MAX_PAGE_ELEMENTS|0)),this.contentPage=Math.max(this.contentPage,1),s!=this.contentPage)&&this._refreshContent()},this.rightPanel.sameLine(),this.rightPanel.addSelect("Filter",this.allowedTypes,this.allowedTypes[0],e=>this._refreshContent.call(this,null,e),{width:"30%",minWidth:"128px"}),this.rightPanel.addText(null,this.searchValue??"",e=>this._refreshContent.call(this,e,null),{placeholder:"Search assets.."}),this.rightPanel.addButton(null,"<a class='fa fa-arrow-up-short-wide'></a>",((e,t)=>{var t=S("Sort by",t,e=>{e.add("Name",()=>this._sortData("id")),e.add("Type",()=>this._sortData("type")),e.add(""),e.add("Ascending",()=>this._sortData()),e.add("Descending",()=>this._sortData(null,!0))}),s=this.parent.root.parentElement;s.classList.contains("lexdialog")&&(t.root.style.zIndex=+getComputedStyle(s).zIndex+1)}).bind(this),{title:"Sort"}),this.rightPanel.addButton(null,"<a class='fa-solid fa-grip'></a>",((e,t)=>{var t=S("Layout",t,e=>{e.add("Content",()=>this._setContentLayout(R.LAYOUT_CONTENT)),e.add(""),e.add("List",()=>this._setContentLayout(R.LAYOUT_LIST))}),s=this.parent.root.parentElement;s.classList.contains("lexdialog")&&(t.root.style.zIndex=+getComputedStyle(s).zIndex+1)}).bind(this),{title:"View"}),this.rightPanel.addButton(null,"<a class='fa-solid fa-angles-left'></a>",e.bind(this,-1),{title:"Previous Page",className:"ml-auto"}),this.rightPanel.addButton(null,"<a class='fa-solid fa-angles-right'></a>",e.bind(this,1),{title:"Next Page"}),e="Page "+this.contentPage+" / "+(1+((this.currentData.length-1)/R.MAX_PAGE_ELEMENTS|0));this.rightPanel.addText(null,e,null,{inputClass:"nobg",disabled:!0,signal:"@on_page_change",maxWidth:"16ch"}),this.rightPanel.endLine(),this.skipBrowser||(this.rightPanel.sameLine(),this.rightPanel.addComboButtons(null,[{value:"Left",icon:"fa-solid fa-left-long",callback:e=>{this.prevData.length&&(this.nextData.push(this.currentData),this.currentData=this.prevData.pop(),this._refreshContent(),this._updatePath(this.currentData))}},{value:"Right",icon:"fa-solid fa-right-long",callback:e=>{this.nextData.length&&(this.prevData.push(this.currentData),this.currentData=this.nextData.pop(),this._refreshContent(),this._updatePath(this.currentData))}},{value:"Refresh",icon:"fa-solid fa-arrows-rotate",callback:e=>{this._refreshContent()}}],{noSelection:!0}),this.rightPanel.addText(null,this.path.join("/"),null,{inputClass:"nobg",disabled:!0,signal:"@on_folder_change",style:{fontWeight:"600",fontSize:"15px"}}),this.rightPanel.endLine()),this.content=document.createElement("ul"),this.content.className="lexassetscontent",this.rightPanel.root.appendChild(this.content),this.content.addEventListener("dragenter",function(e){e.preventDefault(),this.classList.add("dragging")}),this.content.addEventListener("dragleave",function(e){e.preventDefault(),this.classList.remove("dragging")}),this.content.addEventListener("drop",e=>{e.preventDefault(),this._processDrop(e)}),this.content.addEventListener("click",function(){this.querySelectorAll(".lexassetitem").forEach(e=>e.classList.remove("selected"))}),this._refreshContent()}_refreshContent(s,l){const r=this.layout==R.LAYOUT_CONTENT;this.filter=l??this.filter??"None",this.searchValue=s??this.searchValue??"",this.content.innerHTML="",this.content.className=r?"lexassetscontent":"lexassetscontent list";let i=this;const a=new FileReader;var n=this.currentData.filter(e=>("None"==this.filter||e.type.toLowerCase()==this.filter.toLowerCase())&&e.id.toLowerCase().includes(this.searchValue.toLowerCase())),t=((l||s)&&(this.contentPage=1),(this.contentPage-1)*R.MAX_PAGE_ELEMENTS),c=Math.min(t+R.MAX_PAGE_ELEMENTS,n.length);for(let e=t;e<c;++e){let t=n[e];t.path?T.request({url:t.path,dataType:"blob",success:e=>{t.bytesize=e.size,a.readAsDataURL(e),a.onload=e=>{t.src=e.currentTarget.result,t._path=t.path,delete t.path,this._refreshContent(s,l)}}}):t.domEl=function(l){var e=l.type.charAt(0).toUpperCase()+l.type.slice(1),t=o(l.id);const s="Folder"===e;let c=document.createElement("li");if(c.className="lexassetitem "+l.type.toLowerCase(),c.tabIndex=-1,i.content.appendChild(c),i.useNativeTitle)c.title=e+": "+l.id;else{let n=document.createElement("span");n.className="lexitemdesc",n.innerHTML="File: "+l.id+"<br>Type: "+e,i.content.appendChild(n),c.addEventListener("mousemove",t=>{if(r){var s=c.getBoundingClientRect(),l=t.target.getBoundingClientRect(),a=n.parentElement.getBoundingClientRect(),i=l.x-a.x-(l.x-s.x);let e=l.y-a.y-(l.y-s.y);t.target.classList.contains("lexassettitle")&&(e+=l.y-s.y),n.style.left=i+t.offsetX+12+"px",n.style.top=e+t.offsetY+"px"}}),c.addEventListener("mouseenter",()=>{r&&(n.style.display="unset")}),c.addEventListener("mouseleave",()=>{r&&setTimeout(()=>{n.style.display="none"},100)})}i.allowMultipleSelection&&((a=document.createElement("input")).type="checkbox",a.className="lexcheckbox",a.checked=l.selected,a.addEventListener("change",(e,t)=>{var s;l.selected=!l.selected,i.onevent&&((s=new I(I.ASSET_CHECKED,e.shiftKey?[l]:l)).multiple=!!e.shiftKey,i.onevent(s)),e.stopPropagation(),e.stopImmediatePropagation()}),c.appendChild(a));var a=document.createElement("span");if(a.className="lexassettitle",a.innerText=l.id,c.appendChild(a),!i.skipPreview){let e=null;l.src&&(-1<["png","jpg"].indexOf(o(l.src))||l.src.includes("data:image/"))||s||!r?(e=document.createElement("img"),a=l.unknown_extension?i.rootPath+"images/file.png":s?i.rootPath+"images/folder.png":l.src,e.src=r||s?a:i.rootPath+"images/file.png",c.appendChild(e)):((e=document.createElement("svg")).className="asset-file-preview",c.appendChild(e),a=document.createElement("text"),e.appendChild(a),a.innerText=t&&t!=l.id?"."+t.toUpperCase():l.type.toUpperCase(),(t=2.5/a.innerText.length)<1&&(a.style.fontSize=64*t+"px",e.style.paddingTop="calc(50% - "+(.5*a.offsetHeight+10)+"px)"))}return s||((t=document.createElement("span")).className="lexassetinfo",t.innerText=e,c.appendChild(t)),c.addEventListener("click",function(e){e.stopImmediatePropagation(),e.stopPropagation();var t=e.detail==T.MOUSE_DOUBLE_CLICK;if(t){if(s)return void i._enterFolder(l)}else e.shiftKey||i.content.querySelectorAll(".lexassetitem").forEach(e=>e.classList.remove("selected")),this.classList.add("selected"),i.selectedItem=l,i.skipPreview||i._previewAsset(l);i.onevent&&((t=new I(t?I.ASSET_DBLCLICKED:I.ASSET_SELECTED,e.shiftKey?[l]:l)).multiple=!!e.shiftKey,i.onevent(t))}),i.contextMenu&&c.addEventListener("contextmenu",function(e){e.preventDefault();const t=i.content.querySelectorAll(".selected").length;T.addContextMenu(1<t?t+" selected":s?l.id:l.type,e,e=>{t<=1&&e.add("Rename"),s||e.add("Clone",i._cloneItem.bind(i,l)),t<=1&&e.add("Properties"),e.add(""),e.add("Delete",i._deleteItem.bind(i,l))})}),c.addEventListener("dragstart",function(e){e.preventDefault()},!1),c}(t)}this.allowNextPage=n.length-1>R.MAX_PAGE_ELEMENTS;t="Page "+this.contentPage+" / "+(1+((n.length-1)/R.MAX_PAGE_ELEMENTS|0));T.emit("@on_page_change",t),this.onRefreshContent&&this.onRefreshContent(s,l)}_previewAsset(e){var t,s=e.src&&e.src.includes("data:image/"),s=(this.previewPanel.clear(),this.previewPanel.branch("Asset"),("image"==e.type||e.src)&&(-1<["png","jpg"].indexOf(o(e.src))||s)&&this.previewPanel.addImage(null,e.src,{style:{width:"100%"}}),{disabled:!0}),s=(this.previewPanel.addText("Filename",e.id,null,s),e.lastModified&&this.previewPanel.addText("Last Modified",new Date(e.lastModified).toLocaleString(),null,s),(e._path||e.src)&&this.previewPanel.addText("URL",e._path||e.src,null,s),this.previewPanel.addText("Path",this.path.join("/"),null,s),this.previewPanel.addText("Type",e.type,null,s),e.bytesize&&this.previewPanel.addText("Size",(e.bytesize/1024).toPrecision(3)+" KBs",null,s),"folder"==e.type&&this.previewPanel.addText("Files",e.children?e.children.length.toString():"0",null,s),this.previewPanel.addSeparator(),[...this.previewActions]);s.length||s.push({name:"Download",callback:()=>T.downloadURL(e.src,e.id)});for(t of s)t.type&&t.type!==e.type||t.path&&t.path!==this.path.join("/")||this.previewPanel.addButton(null,t.name,t.callback.bind(this,e));this.previewPanel.merge()}_processDrop(e){var t=new FileReader;const a=e.dataTransfer.files.length;for(let l=0;l<e.dataTransfer.files.length;++l){const i=e.dataTransfer.files[l];this.currentData.find(e=>e.id===i.name)||(t.readAsDataURL(i),t.onload=e=>{var t=i.name.substr(i.name.lastIndexOf(".")+1).toLowerCase(),s={id:i.name,src:e.currentTarget.result,extension:t,lastModified:i.lastModified};switch(t){case"png":case"jpg":s.type="image";break;case"js":case"css":s.type="script";break;case"json":s.type="json";break;case"obj":s.type="mesh";break;default:s.type=t,s.unknown_extension=!0}this.currentData.push(s),l==a-1&&(this._refreshContent(),this.skipBrowser||this.tree.refresh())})}}_sortData(l,a=!1){l=l??this._lastSortBy??"id",this.currentData=this.currentData.sort((e,t)=>{var s=a?t[l].localeCompare(e[l]):e[l].localeCompare(t[l]);return s=0==s?a?t.id.localeCompare(e.id):e.id.localeCompare(t.id):s}),this._lastSortBy=l,this._refreshContent()}_enterFolder(e){this.prevData.push(this.currentData),this.currentData=e.children,this.contentPage=1,this._refreshContent(),this._updatePath(this.currentData),this.onevent&&(e=new I(I.ENTER_FOLDER,e),this.onevent(e))}_deleteItem(e){var t=this.currentData.indexOf(e);t<0?console.error("[AssetView Error] Cannot delete. Item not found."):(this.currentData.splice(t,1),this._refreshContent(this.searchValue,this.filter),this.onevent&&(t=new I(I.ASSET_DELETED,e),this.onevent(t)),this.tree.refresh(),this._processData(this.data))}_cloneItem(e){var t,s=this.currentData.indexOf(e);s<0||(delete e.domEl,delete e.folder,t=L(e),this.currentData.splice(s,0,t),this._refreshContent(this.searchValue,this.filter),this.onevent&&(s=new I(I.ASSET_CLONED,e),this.onevent(s)),this._processData(this.data))}}T.AssetView=R,Object.assign(T,{request(l){var e=l.dataType||"text",t=("json"==e||"xml"==e?e="text":"binary"==e&&(e="arraybuffer",l.mimeType="application/octet-stream"),new XMLHttpRequest),s=(t.open(l.data?"POST":"GET",l.url,!0),e&&(t.responseType=e),l.mimeType&&t.overrideMimeType(l.mimeType),l.nocache&&t.setRequestHeader("Cache-Control","no-cache"),t.onload=function(e){var t,s=this.response;if(200!=this.status)t="Error "+this.status,l.error&&l.error(t);else{if("json"==l.dataType)try{s=JSON.parse(s)}catch(t){if(!l.error)throw t;l.error(t)}else if("xml"==l.dataType)try{s=(new DOMParser).parseFromString(s,"text/xml")}catch(t){if(!l.error)throw t;l.error(t)}l.success&&l.success.call(this,s,this)}},t.onerror=function(e){l.error&&l.error(e)},new FormData);if(l.data)for(var a in l.data)s.append(a,l.data[a]);return t.send(s),t},requestText(e,t,s){return this.request({url:e,dataType:"text",success:t,error:s})},requestJSON(e,t,s){return this.request({url:e,dataType:"json",success:t,error:s})},requestBinary(e,t,s){return this.request({url:e,dataType:"binary",success:t,error:s})},requireScript(e,t,s,l,a){if(!e)throw"invalid URL";var i,n=(e=e.constructor===String?[e]:e).length,c=[];for(i in e){var r=document.createElement("script");r.num=i,r.type="text/javascript",r.src=e[i]+(a?"?version="+a:""),r.original_src=e[i],r.async=!1,r.onload=function(e){n--,c.push(this),n?l&&l(this.original_src,this.num):t&&t(c)},s&&(r.onerror=function(e){s(e,this.original_src,this.num)}),document.getElementsByTagName("head")[0].appendChild(r)}},downloadURL(e,s){function t(e){var t=document.createElement("a");t.href=e,t.download=s,document.body.appendChild(t),t.click(),document.body.removeChild(t)}const l=new FileReader;e.includes("http")?T.request({url:e,dataType:"blob",success:e=>{l.readAsDataURL(e),l.onload=e=>{t(e.currentTarget.result)}}}):t(e)},downloadFile:function(e,t,s){var l,a;t?(s=s||(t.constructor===String?"text/plain":"application/octet-stream"),l=null,l=t.constructor!==File&&t.constructor!==Blob?new Blob([t],{type:s}):t,a=URL.createObjectURL(l),(s=document.createElement("a")).setAttribute("href",a),s.setAttribute("download",e),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s),setTimeout(function(){URL.revokeObjectURL(a)},6e4)):console.warn("No file provided to download")}}),Object.defineProperty(String.prototype,"lastChar",{get:function(){return this[this.length-1]},enumerable:!0,configurable:!0}),Element.prototype.insertChildAtIndex=function(e,t=1/0){t>=this.children.length?this.appendChild(e):this.insertBefore(e,this.children[t])},Element.prototype.hasClass=function(e){return!!(e=[].concat(e)).filter(e=>this.classList.contains(e)).length},Element.prototype.addClass=function(e){e&&this.classList.add(e)},Element.prototype.getComputedSize=function(){return{width:this.offsetWidth,height:this.offsetHeight}},Element.prototype.getParentArea=function(){let e=this.parentElement;for(;e;){if(e.classList.contains("lexarea"))return e;e=e.parentElement}},Element.prototype.listen=function(e,t,s){this[s=s??"_on"+e]=t,this.addEventListener(e,t)},Element.prototype.ignore=function(e,t){t=this[t=t??"_on"+e];this.removeEventListener(e,t)},T.UTILS={getTime(){return(new Date).getTime()},compareThreshold(e,t,s,l){return Math.abs(e-t)>=l||Math.abs(e-s)>=l},compareThresholdRange(e,t,s,l){return s<=e&&e<=l||s<=t&&t<=l||e<=s&&l<=t},uidGenerator:b,deleteElement(e){e&&e.remove()},flushCss(e){e.offsetHeight},getControlPoints(e,t,s,l,a,i,n){var c=Math.sqrt(Math.pow(s-e,2)+Math.pow(l-t,2)),c=n*c/(c+Math.sqrt(Math.pow(a-s,2)+Math.pow(i-l,2))),n=n-c;return[s+c*(e-a),l+c*(t-i),s-n*(e-a),l-n*(t-i)]},drawSpline(e,t,s){e.save();for(var l=[],a=t.length,i=0;i<a-4;i+=2)l=l.concat(T.UTILS.getControlPoints(t[i],t[i+1],t[i+2],t[i+3],t[i+4],t[i+5],s));for(i=2;i<t.length-5;i+=2)e.beginPath(),e.moveTo(t[i],t[i+1]),e.bezierCurveTo(l[2*i-2],l[2*i-1],l[2*i],l[2*i+1],t[i+2],t[i+3]),e.stroke(),e.closePath();e.beginPath(),e.moveTo(t[0],t[1]),e.quadraticCurveTo(l[0],l[1],t[2],t[3]),e.stroke(),e.closePath(),e.beginPath(),e.moveTo(t[a-2],t[a-1]),e.quadraticCurveTo(l[2*a-10],l[2*a-9],t[a-4],t[a-3]),e.stroke(),e.closePath(),e.restore()}},T.ICONS={"align-center":[448,512,[],"solid","M352 64c0-17.7-14.3-32-32-32L128 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32l-192 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32z"],"align-justify":[448,512,[],"solid","M448 64c0-17.7-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32L32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32z"],"align-left":[448,512,[],"solid","M288 64c0 17.7-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32L32 352c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"],"align-right":[448,512,[],"solid","M448 64c0 17.7-14.3 32-32 32L192 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"],bell:[448,512,[],"regular","M224 0c-17.7 0-32 14.3-32 32l0 19.2C119 66 64 130.6 64 208l0 25.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416l400 0c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4l0-25.4c0-77.4-55-142-128-156.8L256 32c0-17.7-14.3-32-32-32zm0 96c61.9 0 112 50.1 112 112l0 25.4c0 47.9 13.9 94.6 39.7 134.6L72.3 368C98.1 328 112 281.3 112 233.4l0-25.4c0-61.9 50.1-112 112-112zm64 352l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z"],"bell-slash":[640,512,[],"regular","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L542.6 400c2.7-7.8 1.3-16.5-3.9-23l-14.9-18.6C495.5 322.9 480 278.8 480 233.4l0-33.4c0-75.8-55.5-138.6-128-150.1L352 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 17.9c-43.9 7-81.5 32.7-104.4 68.7L38.8 5.1zM221.7 148.4C239.6 117.1 273.3 96 312 96l8 0 8 0c57.4 0 104 46.6 104 104l0 33.4c0 32.7 6.4 64.8 18.7 94.5L221.7 148.4zM406.2 416l-60.9-48-176.9 0c21.2-32.8 34.4-70.3 38.4-109.1L160 222.1l0 11.4c0 45.4-15.5 89.5-43.8 124.9L101.3 377c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l286.2 0zM384 448l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z"],display:[576,512,[],"solid","M64 0C28.7 0 0 28.7 0 64L0 352c0 35.3 28.7 64 64 64l176 0-10.7 32L160 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-69.3 0L336 416l176 0c35.3 0 64-28.7 64-64l0-288c0-35.3-28.7-64-64-64L64 0zM512 64l0 288L64 352 64 64l448 0z"],fingerprint:[512,512,[],"regular","M48 256C48 141.1 141.1 48 256 48c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9c10.6-2.9 21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128l0 24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7l0-24.9c0-97.2-78.8-176-176-176zM150.7 148.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256l0 24.9c0 24.2-2.6 48.4-7.8 71.9C68.8 368.4 80.1 384 96.1 384c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8l0-24.9c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2zM256 160c-53 0-96 43-96 96l0 24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7l0-24.9c0-28.7 23.3-52 52-52s52 23.3 52 52l0 24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1l0-24.9c0-53-43-96-96-96zm24 96c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3C267.9 411.9 280 346.7 280 280.9l0-24.9z"],"mobile-screen":[384,512,[],"solid","M16 64C16 28.7 44.7 0 80 0L304 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L80 512c-35.3 0-64-28.7-64-64L16 64zM144 448c0 8.8 7.2 16 16 16l64 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-64 0c-8.8 0-16 7.2-16 16zM304 64L80 64l0 320 224 0 0-320z"],"window-restore":[512,512,[],"regular","M432 48L208 48c-17.7 0-32 14.3-32 32l0 16-48 0 0-16c0-44.2 35.8-80 80-80L432 0c44.2 0 80 35.8 80 80l0 224c0 44.2-35.8 80-80 80l-16 0 0-48 16 0c17.7 0 32-14.3 32-32l0-224c0-17.7-14.3-32-32-32zM48 448c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-192L48 256l0 192zM64 128l256 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192c0-35.3 28.7-64 64-64z"],"window-maximize":[512,512,[],"regular","M.3 89.5C.1 91.6 0 93.8 0 96L0 224 0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-192 0-128c0-35.3-28.7-64-64-64L64 32c-2.2 0-4.4 .1-6.5 .3c-9.2 .9-17.8 3.8-25.5 8.2C21.8 46.5 13.4 55.1 7.7 65.5c-3.9 7.3-6.5 15.4-7.4 24zM48 224l416 0 0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192z"],"window-minimize":[512,512,[],"regular","M24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l464 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 432z"],"vr-cardboard":[640,512,["vr"],"solid","M576 64L64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l120.4 0c24.2 0 46.4-13.7 57.2-35.4l32-64c8.8-17.5 26.7-28.6 46.3-28.6s37.5 11.1 46.3 28.6l32 64c10.8 21.7 33 35.4 57.2 35.4L576 448c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64zM96 240a64 64 0 1 1 128 0A64 64 0 1 1 96 240zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z"],gamepad:[640,512,[],"solid","M192 64C86 64 0 150 0 256S86 448 192 448l256 0c106 0 192-86 192-192s-86-192-192-192L192 64zM496 168a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM392 304a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM168 200c0-13.3 10.7-24 24-24s24 10.7 24 24l0 32 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0 0 32c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l32 0 0-32z"],keyboard:[576,512,[],"regular","M64 112c-8.8 0-16 7.2-16 16l0 256c0 8.8 7.2 16 16 16l448 0c8.8 0 16-7.2 16-16l0-256c0-8.8-7.2-16-16-16L64 112zM0 128C0 92.7 28.7 64 64 64l448 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128zM176 320l224 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm-72-72c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16z"],headset:[512,512,[],"solid","M256 48C141.1 48 48 141.1 48 256l0 40c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-40C0 114.6 114.6 0 256 0S512 114.6 512 256l0 144.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24l-32 0c-26.5 0-48-21.5-48-48s21.5-48 48-48l32 0c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40L464 256c0-114.9-93.1-208-208-208zM144 208l16 0c17.7 0 32 14.3 32 32l0 112c0 17.7-14.3 32-32 32l-16 0c-35.3 0-64-28.7-64-64l0-48c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64l0 48c0 35.3-28.7 64-64 64l-16 0c-17.7 0-32-14.3-32-32l0-112c0-17.7 14.3-32 32-32l16 0z"],"hard-drive":[512,512,[],"regular","M64 80c-8.8 0-16 7.2-16 16l0 162c5.1-1.3 10.5-2 16-2l384 0c5.5 0 10.9 .7 16 2l0-162c0-8.8-7.2-16-16-16L64 80zM48 320l0 96c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16L64 304c-8.8 0-16 7.2-16 16zM0 320L0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 224 0 96c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64l0-96zm280 48a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"],camera:[512,512,[],"solid","M149.1 64.8L138.7 96 64 96C28.7 96 0 124.7 0 160L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64l-74.7 0L362.9 64.8C356.4 45.2 338.1 32 317.4 32L194.6 32c-20.7 0-39 13.2-45.5 32.8zM256 192a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"],print:[512,512,[],"solid","M128 0C92.7 0 64 28.7 64 64l0 96 64 0 0-96 226.7 0L384 93.3l0 66.7 64 0 0-66.7c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0L128 0zM384 352l0 32 0 64-256 0 0-64 0-16 0-16 256 0zm64 32l32 0c17.7 0 32-14.3 32-32l0-96c0-35.3-28.7-64-64-64L64 192c-35.3 0-64 28.7-64 64l0 96c0 17.7 14.3 32 32 32l32 0 0 64c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-64zM432 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"],server:[512,512,[],"solid","M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"],bookmark:[384,512,[],"regular","M0 48C0 21.5 21.5 0 48 0l0 48 0 393.4 130.1-92.9c8.3-6 19.6-6 27.9 0L336 441.4 336 48 48 48 48 0 336 0c26.5 0 48 21.5 48 48l0 440c0 9-5 17.2-13 21.3s-17.6 3.4-24.9-1.8L192 397.5 37.9 507.5c-7.3 5.2-16.9 5.9-24.9 1.8S0 497 0 488L0 48z"],"address-book":[512,512,[],"regular","M384 48c8.8 0 16 7.2 16 16l0 384c0 8.8-7.2 16-16 16L96 464c-8.8 0-16-7.2-16-16L80 64c0-8.8 7.2-16 16-16l288 0zM96 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l288 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L96 0zM240 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16l192 0c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80l-64 0zM512 80c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64zM496 192c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64c0-8.8-7.2-16-16-16zm16 144c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64z"],"id-card":[576,512,[],"regular","M528 160l0 256c0 8.8-7.2 16-16 16l-192 0c0-44.2-35.8-80-80-80l-64 0c-44.2 0-80 35.8-80 80l-32 0c-8.8 0-16-7.2-16-16l0-256 480 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM272 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm104-48c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0z"],"id-badge":[384,512,[],"regular","M256 48l0 16c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-16L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-384c0-8.8-7.2-16-16-16l-64 0zM0 64C0 28.7 28.7 0 64 0L320 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zM160 320l64 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16L96 416c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"],"address-card":[576,512,[],"regular","M512 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l448 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM208 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16l192 0c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80l-64 0zM376 144c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0z"],calendar:[448,512,[],"regular","M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l352 0 0 256c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256z"],"calendar-days":[448,512,[],"regular","M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l80 0 0 56-80 0 0-56zm0 104l80 0 0 64-80 0 0-64zm128 0l96 0 0 64-96 0 0-64zm144 0l80 0 0 64-80 0 0-64zm80-48l-80 0 0-56 80 0 0 56zm0 160l0 40c0 8.8-7.2 16-16 16l-64 0 0-56 80 0zm-128 0l0 56-96 0 0-56 96 0zm-144 0l0 56-64 0c-8.8 0-16-7.2-16-16l0-40 80 0zM272 248l-96 0 0-56 96 0 0 56z"],"calendar-xmark":[448,512,[],"regular","M128 0c13.3 0 24 10.7 24 24l0 40 144 0 0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40 40 0c35.3 0 64 28.7 64 64l0 16 0 48 0 256c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192l0-48 0-16C0 92.7 28.7 64 64 64l40 0 0-40c0-13.3 10.7-24 24-24zM400 192L48 192l0 256c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-256zm-95 89l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"],"calendar-check":[448,512,[],"regular","M128 0c13.3 0 24 10.7 24 24l0 40 144 0 0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40 40 0c35.3 0 64 28.7 64 64l0 16 0 48 0 256c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192l0-48 0-16C0 92.7 28.7 64 64 64l40 0 0-40c0-13.3 10.7-24 24-24zM400 192L48 192l0 256c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-256zM329 297L217 409c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 95-95c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"],"calendar-plus":[448,512,[],"regular","M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L64 64C28.7 64 0 92.7 0 128l0 16 0 48L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-256 0-48 0-16c0-35.3-28.7-64-64-64l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L152 64l0-40zM48 192l352 0 0 256c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256zm176 40c-13.3 0-24 10.7-24 24l0 48-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l48 0 0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48 48 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0 0-48c0-13.3-10.7-24-24-24z"],"calendar-minus":[448,512,[],"regular","M128 0c13.3 0 24 10.7 24 24l0 40 144 0 0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40 40 0c35.3 0 64 28.7 64 64l0 16 0 48 0 256c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192l0-48 0-16C0 92.7 28.7 64 64 64l40 0 0-40c0-13.3 10.7-24 24-24zM400 192L48 192l0 256c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-256zM296 352l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24z"],chart:[448,512,[],"solid","M160 80c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 352c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-352zM0 272c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 160c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48L0 272zM368 96l32 0c26.5 0 48 21.5 48 48l0 288c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48z"],"chart-line":[512,512,[],"solid","M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64L0 400c0 44.2 35.8 80 80 80l400 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 416c-8.8 0-16-7.2-16-16L64 64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z"],"chart-bar":[512,512,[],"regular","M24 32c13.3 0 24 10.7 24 24l0 352c0 13.3 10.7 24 24 24l416 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L72 480c-39.8 0-72-32.2-72-72L0 56C0 42.7 10.7 32 24 32zM128 136c0-13.3 10.7-24 24-24l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24zm24 72l144 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-144 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96l272 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-272 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z"],check:[448,512,[],"solid","M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"],clone:[512,512,[],"regular","M64 464l224 0c8.8 0 16-7.2 16-16l0-64 48 0 0 64c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 224c0-35.3 28.7-64 64-64l64 0 0 48-64 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16zM224 304l224 0c8.8 0 16-7.2 16-16l0-224c0-8.8-7.2-16-16-16L224 48c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16zm-64-16l0-224c0-35.3 28.7-64 64-64L448 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64l-224 0c-35.3 0-64-28.7-64-64z"],copy:[448,512,[],"regular","M384 336l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l140.1 0L400 115.9 400 320c0 8.8-7.2 16-16 16zM192 384l192 0c35.3 0 64-28.7 64-64l0-204.1c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1L192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-32-48 0 0 32c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l32 0 0-48-32 0z"],paste:[512,512,[],"regular","M104.6 48L64 48C28.7 48 0 76.7 0 112L0 384c0 35.3 28.7 64 64 64l96 0 0-48-96 0c-8.8 0-16-7.2-16-16l0-272c0-8.8 7.2-16 16-16l16 0c0 17.7 14.3 32 32 32l72.4 0C202 108.4 227.6 96 256 96l62 0c-7.1-27.6-32.2-48-62-48l-40.6 0C211.6 20.9 188.2 0 160 0s-51.6 20.9-55.4 48zM144 56a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM448 464l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l140.1 0L464 243.9 464 448c0 8.8-7.2 16-16 16zM256 512l192 0c35.3 0 64-28.7 64-64l0-204.1c0-12.7-5.1-24.9-14.1-33.9l-67.9-67.9c-9-9-21.2-14.1-33.9-14.1L256 128c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64z"],clipboard:[384,512,[],"regular","M280 64l40 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 128C0 92.7 28.7 64 64 64l40 0 9.6 0C121 27.5 153.3 0 192 0s71 27.5 78.4 64l9.6 0zM64 112c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16l-16 0 0 24c0 13.3-10.7 24-24 24l-88 0-88 0c-13.3 0-24-10.7-24-24l0-24-16 0zm128-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"],"eye-dropper":[512,512,[],"solid","M341.6 29.2L240.1 130.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L482.8 170.4c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6l0 42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480l42.4 0c21.2 0 41.6-8.4 56.6-23.4L309.4 335.9l-45.3-45.3L143.4 411.3c-3 3-7.1 4.7-11.3 4.7L96 416l0-36.1c0-4.2 1.7-8.3 4.7-11.3L221.4 247.9l-45.3-45.3L55.4 323.3z"],edit:[512,512,[],"regular","M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152L0 424c0 48.6 39.4 88 88 88l272 0c48.6 0 88-39.4 88-88l0-112c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 112c0 22.1-17.9 40-40 40L88 464c-22.1 0-40-17.9-40-40l0-272c0-22.1 17.9-40 40-40l112 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L88 64z"],envelope:[512,512,[],"regular","M64 112c-8.8 0-16 7.2-16 16l0 22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1l0-22.1c0-8.8-7.2-16-16-16L64 112zM48 212.2L48 384c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-171.8L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64l384 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128z"],"envelope-open":[512,512,[],"regular","M255.4 48.2c.2-.1 .4-.2 .6-.2s.4 .1 .6 .2L460.6 194c2.1 1.5 3.4 3.9 3.4 6.5l0 13.6L291.5 355.7c-20.7 17-50.4 17-71.1 0L48 214.1l0-13.6c0-2.6 1.2-5 3.4-6.5L255.4 48.2zM48 276.2L190 392.8c38.4 31.5 93.7 31.5 132 0L464 276.2 464 456c0 4.4-3.6 8-8 8L56 464c-4.4 0-8-3.6-8-8l0-179.8zM256 0c-10.2 0-20.2 3.2-28.5 9.1L23.5 154.9C8.7 165.4 0 182.4 0 200.5L0 456c0 30.9 25.1 56 56 56l400 0c30.9 0 56-25.1 56-56l0-255.5c0-18.1-8.7-35.1-23.4-45.6L284.5 9.1C276.2 3.2 266.2 0 256 0z"],inbox:[24,24,[],"regular","M22 12H16l-2 3h-4l-2-3H2M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11Z",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],map:[576,512,[],"regular","M565.6 36.2C572.1 40.7 576 48.1 576 56l0 336c0 10-6.2 18.9-15.5 22.4l-168 64c-5.2 2-10.9 2.1-16.1 .3L192.5 417.5l-160 61c-7.4 2.8-15.7 1.8-22.2-2.7S0 463.9 0 456L0 120c0-10 6.1-18.9 15.5-22.4l168-64c5.2-2 10.9-2.1 16.1-.3L383.5 94.5l160-61c7.4-2.8 15.7-1.8 22.2 2.7zM48 136.5l0 284.6 120-45.7 0-284.6L48 136.5zM360 422.7l0-285.4-144-48 0 285.4 144 48zm48-1.5l120-45.7 0-284.6L408 136.5l0 284.6z"],"note-sticky":[448,512,["sticky-note"],"regular","M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l224 0 0-80c0-17.7 14.3-32 32-32l80 0 0-224c0-8.8-7.2-16-16-16L64 80zM288 480L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 224 0 5.5c0 17-6.7 33.3-18.7 45.3l-90.5 90.5c-12 12-28.3 18.7-45.3 18.7l-5.5 0z"],file:[384,512,[],"regular","M320 464c8.8 0 16-7.2 16-16l0-288-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l256 0zM0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64z"],"file-lines":[384,512,["file-text"],"regular","M64 464c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm56 256c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0z"],"file-video":[384,512,[],"regular","M320 464c8.8 0 16-7.2 16-16l0-288-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l256 0zM0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zM80 288c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32l0 16 44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3l0 103.4c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1L240 368l0 16c0 17.7-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32l0-96z"],"file-audio":[384,512,[],"regular","M64 464l256 0c8.8 0 16-7.2 16-16l0-288-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16zM0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zM192 272l0 128c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L129.4 376 112 376c-8.8 0-16-7.2-16-16l0-48c0-8.8 7.2-16 16-16l17.4 0 35.3-35.3c4.6-4.6 11.5-5.9 17.4-3.5s9.9 8.3 9.9 14.8zm85.8-4c11.6 20 18.2 43.3 18.2 68s-6.6 48-18.2 68c-6.6 11.5-21.3 15.4-32.8 8.8s-15.4-21.3-8.8-32.8c7.5-12.9 11.8-27.9 11.8-44s-4.3-31.1-11.8-44c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8z"],"file-code":[384,512,[],"regular","M64 464c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm97 289c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L79 303c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM257 255c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z"],"file-zip":[384,512,[],"regular","M64 464c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l48 0c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l48 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm48 112c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm-6.3 71.8L82.1 335.9c-1.4 5.4-2.1 10.9-2.1 16.4c0 35.2 28.8 63.7 64 63.7s64-28.5 64-63.7c0-5.5-.7-11.1-2.1-16.4l-23.5-88.2c-3.7-14-16.4-23.8-30.9-23.8l-14.8 0c-14.5 0-27.2 9.7-30.9 23.8zM128 336l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z"],"file-pdf":[512,512,[],"regular","M64 464l48 0 0 48-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 304l-48 0 0-144-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16zM176 352l32 0c30.9 0 56 25.1 56 56s-25.1 56-56 56l-16 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-80c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0 48 16 0zm96-80l32 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-32 0c-8.8 0-16-7.2-16-16l0-128c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-16 0 0 96 16 0zm80-112c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 32 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-64 0-64z"],"file-import":[512,512,[],"solid","M128 64c0-35.3 28.7-64 64-64L352 0l0 128c0 17.7 14.3 32 32 32l128 0 0 288c0 35.3-28.7 64-64 64l-256 0c-35.3 0-64-28.7-64-64l0-112 174.1 0-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39L128 288l0-224zm0 224l0 48L24 336c-13.3 0-24-10.7-24-24s10.7-24 24-24l104 0zM512 128l-128 0L384 0 512 128z"],"file-word":[384,512,[],"regular","M48 448L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm55 241.1c-3.8-12.7-17.2-19.9-29.9-16.1s-19.9 17.2-16.1 29.9l48 160c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l25-83.4 25 83.4c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l48-160c3.8-12.7-3.4-26.1-16.1-29.9s-26.1 3.4-29.9 16.1l-25 83.4-25-83.4c-3-10.2-12.4-17.1-23-17.1s-19.9 7-23 17.1l-25 83.4-25-83.4z"],"file-powerpoint":[384,512,[],"regular","M64 464c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm72 208c-13.3 0-24 10.7-24 24l0 104 0 56c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 44 0c42 0 76-34 76-76s-34-76-76-76l-68 0zm68 104l-44 0 0-56 44 0c15.5 0 28 12.5 28 28s-12.5 28-28 28z"],"file-excel":[384,512,[],"regular","M48 448L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm90.9 233.3c-8.1-10.5-23.2-12.3-33.7-4.2s-12.3 23.2-4.2 33.7L161.6 320l-44.5 57.3c-8.1 10.5-6.3 25.5 4.2 33.7s25.5 6.3 33.7-4.2L192 359.1l37.1 47.6c8.1 10.5 23.2 12.3 33.7 4.2s12.3-23.2 4.2-33.7L222.4 320l44.5-57.3c8.1-10.5 6.3-25.5-4.2-33.7s-25.5-6.3-33.7 4.2L192 280.9l-37.1-47.6z"],"box-archive":[24,24,[],"regular","M2 3a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2V3Zm2 5h16v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8Zm6 4h4",null,"fill=none stroke-width=2 stroke-linecap=round stroke-linejoin=round"],"box-archive-x":[24,24,[],"regular","M3 3h18a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1ZM4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8M9.5 17l5-5m-5-0l5 5",null,"fill=none stroke-width=2 stroke-linecap=round stroke-linejoin=round"],"code-pull-request":[512,512,[],"solid","M305.8 2.1C314.4 5.9 320 14.5 320 24l0 40 16 0c70.7 0 128 57.3 128 128l0 166.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3L400 192c0-35.3-28.7-64-64-64l-16 0 0 40c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1zM104 80A24 24 0 1 0 56 80a24 24 0 1 0 48 0zm8 73.3l0 205.3c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3l0-205.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80c0 32.8-19.7 61-48 73.3zM104 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm328 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"],"code-fork":[448,512,[],"solid","M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 38.7c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-38.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 38.7c0 53-43 96-96 96l-48 0 0 70.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3l0-70.7-48 0c-53 0-96-43-96-96l0-38.7C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm208 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM248 432a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z"],"code-branch":[448,512,[],"solid","M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 87.8c18.8-10.9 40.7-17.1 64-17.1l96 0c35.3 0 64-28.7 64-64l0-6.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 6.7c0 70.7-57.3 128-128 128l-96 0c-35.3 0-64 28.7-64 64l0 6.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3l0-6.7 0-198.7C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"],"code-merge":[448,512,[],"solid","M80 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm32.4 97.2c28-12.4 47.6-40.5 47.6-73.2c0-44.2-35.8-80-80-80S0 35.8 0 80c0 32.8 19.7 61 48 73.3l0 205.3C19.7 371 0 399.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-32.8-19.7-61-48-73.3l0-86.6c26.7 20.1 60 32 96 32l86.7 0c12.3 28.3 40.5 48 73.3 48c44.2 0 80-35.8 80-80s-35.8-80-80-80c-32.8 0-61 19.7-73.3 48L208 240c-49.9 0-91-38.1-95.6-86.8zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM344 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"],"code-compare":[512,512,[],"solid","M320 488c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1s14.2 12.4 14.2 21.9l0 40 16 0c35.3 0 64-28.7 64-64l0-166.7C371.7 141 352 112.8 352 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3L464 320c0 70.7-57.3 128-128 128l-16 0 0 40zM456 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM192 24c0-9.5 5.6-18.1 14.2-21.9s18.8-2.3 25.8 4.1l80 72c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-80 72c-7 6.3-17.2 7.9-25.8 4.1s-14.2-12.4-14.2-21.9l0-40-16 0c-35.3 0-64 28.7-64 64l0 166.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3L48 192c0-70.7 57.3-128 128-128l16 0 0-40zM56 432a24 24 0 1 0 48 0 24 24 0 1 0 -48 0z"],"code-commit":[640,512,[],"solid","M320 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm156.8-48C462 361 397.4 416 320 416s-142-55-156.8-128L32 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l131.2 0C178 151 242.6 96 320 96s142 55 156.8 128L608 224c17.7 0 32 14.3 32 32s-14.3 32-32 32l-131.2 0z"],scroll:[576,512,["script"],"solid","M0 80l0 48c0 17.7 14.3 32 32 32l16 0 48 0 0-80c0-26.5-21.5-48-48-48S0 53.5 0 80zM112 32c10 13.4 16 30 16 48l0 304c0 35.3 28.7 64 64 64s64-28.7 64-64l0-5.3c0-32.4 26.3-58.7 58.7-58.7L480 320l0-192c0-53-43-96-96-96L112 32zM464 480c61.9 0 112-50.1 112-112c0-8.8-7.2-16-16-16l-245.3 0c-14.7 0-26.7 11.9-26.7 26.7l0 5.3c0 53-43 96-96 96l176 0 96 0z"],"paper-plane":[512,512,[],"regular","M16.1 260.2c-22.6 12.9-20.5 47.3 3.6 57.3L160 376l0 103.3c0 18.1 14.6 32.7 32.7 32.7c9.7 0 18.9-4.3 25.1-11.8l62-74.3 123.9 51.6c18.9 7.9 40.8-4.5 43.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448 256zm52.1 25.5L409.7 90.6 190.1 336l1.2 1L68.2 285.7zM403.3 425.4L236.7 355.9 450.8 116.6 403.3 425.4z"],"floppy-disk":[448,512,["save"],"regular","M48 96l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-245.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9c12 12 18.7 28.3 18.7 45.3L448 416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l245.5 0c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8L320 184c0 13.3-10.7 24-24 24l-192 0c-13.3 0-24-10.7-24-24L80 80 64 80c-8.8 0-16 7.2-16 16zm80-16l0 80 144 0 0-80L128 80zm32 240a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"],download:[512,512,[],"solid","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"],upload:[512,512,[],"solid","M288 109.3L288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-242.7-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352l128 0c0 35.3 28.7 64 64 64s64-28.7 64-64l128 0c35.3 0 64 28.7 64 64l0 32c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64l0-32c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"],gear:[512,512,[],"solid","M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"],gears:[640,512,[],"solid","M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8l-.7 0c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"],sliders:[512,512,[],"solid","M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z"],"sliders-large":[24,24,[],"solid","M20 7H11M14 17H5M17 14a3 3 0 1 0 0 6a3 3 0 0 0 0-6zM7 4a3 3 0 1 0 0 6a3 3 0 0 0 0-6z",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],eye:[576,512,[],"regular","M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"],"eye-slash":[640,512,[],"regular","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"],comment:[512,512,[],"regular","M123.6 391.3c12.9-9.4 29.6-11.8 44.6-6.4c26.5 9.6 56.2 15.1 87.8 15.1c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 32 12.4 62.8 35.7 89.2c8.6 9.7 12.8 22.5 11.8 35.5c-1.4 18.1-5.7 34.7-11.3 49.4c17-7.9 31.1-16.7 39.4-22.7zM21.2 431.9c1.8-2.7 3.5-5.4 5.1-8.1c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6c-15.1 6.6-32.3 12.6-50.1 16.1c-.8 .2-1.6 .3-2.4 .5c-4.4 .8-8.7 1.5-13.2 1.9c-.2 0-.5 .1-.7 .1c-5.1 .5-10.2 .8-15.3 .8c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c4.1-4.2 7.8-8.7 11.3-13.5c1.7-2.3 3.3-4.6 4.8-6.9l.3-.5z"],comments:[640,512,[],"regular","M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128s-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6c-10.4-2-21.2-.6-30.7 4.2c-4.1 2.1-8.3 4.1-12.6 6c-16 7.2-32.9 13.5-49.9 18c2.8-4.6 5.4-9.1 7.9-13.6c1.1-1.9 2.2-3.9 3.2-5.9zM208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 41.8 17.2 80.1 45.9 110.3c-.9 1.7-1.9 3.5-2.8 5.1c-10.3 18.4-22.3 36.5-36.6 52.1c-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.8-2.2 9.6-4.5 14.2-6.8c15.1 3 30.9 4.5 47.1 4.5zM432 480c16.2 0 31.9-1.6 47.1-4.5c4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5c3.8-8.8 2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1c-.9-1.7-1.9-3.4-2.8-5.1C622.8 384.1 640 345.8 640 304c0-94.4-87.9-171.5-198.2-175.8c4.1 15.2 6.2 31.2 6.2 47.8l0 .6c87.2 6.7 144 67.5 144 127.4c0 28-11.4 54.9-32.7 77.2c-14.3 15-17.3 37.6-7.5 55.8c1.1 2 2.2 4 3.2 5.9c2.5 4.5 5.2 9 7.9 13.6c-17-4.5-33.9-10.7-49.9-18c-4.3-1.9-8.5-3.9-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2c-12.1 2.4-24.8 3.6-37.8 3.6c-61.7 0-110-26.5-136.8-62.3c-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480z"],"comment-dots":[512,512,[],"regular","M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM144 272a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm80 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"],message:[512,512,[],"regular","M160 368c26.5 0 48 21.5 48 48l0 16 72.5-54.4c8.3-6.2 18.4-9.6 28.8-9.6L448 368c8.8 0 16-7.2 16-16l0-288c0-8.8-7.2-16-16-16L64 48c-8.8 0-16 7.2-16 16l0 288c0 8.8 7.2 16 16 16l96 0zm48 124l-.2 .2-5.1 3.8-17.1 12.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3l0-21.3 0-6.4 0-.3 0-4 0-48-48 0-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L448 0c35.3 0 64 28.7 64 64l0 288c0 35.3-28.7 64-64 64l-138.7 0L208 492z"],folder:[512,512,[],"regular","M0 96C0 60.7 28.7 32 64 32l132.1 0c19.1 0 37.4 7.6 50.9 21.1L289.9 96 448 96c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-256c0-8.8-7.2-16-16-16l-161.4 0c-10.6 0-20.8-4.2-28.3-11.7L213.1 87c-4.5-4.5-10.6-7-17-7L64 80z"],"folder-closed":[512,512,[],"regular","M251.7 127.6s0 0 0 0c10.5 10.5 24.7 16.4 39.6 16.4L448 144c8.8 0 16 7.2 16 16l0 32L48 192l0-96c0-8.8 7.2-16 16-16l133.5 0c4.2 0 8.3 1.7 11.3 4.7l33.9-33.9L208.8 84.7l42.9 42.9zM48 240l416 0 0 176c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-176zM285.7 93.7L242.7 50.7c-12-12-28.3-18.7-45.3-18.7L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L291.3 96c-2.1 0-4.2-.8-5.7-2.3z"],"folder-open":[576,512,[],"regular","M384 480l48 0c11.4 0 21.9-6 27.6-15.9l112-192c5.8-9.9 5.8-22.1 .1-32.1S555.5 224 544 224l-400 0c-11.4 0-21.9 6-27.6 15.9L48 357.1 48 96c0-8.8 7.2-16 16-16l117.5 0c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c21 21 49.5 32.8 79.2 32.8L416 144c8.8 0 16 7.2 16 16l0 32 48 0 0-32c0-35.3-28.7-64-64-64L298.5 96c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l23.7 0L384 480z"],play:[384,512,[],"solid","M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80L0 432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"],pause:[320,512,[],"solid","M48 64C21.5 64 0 85.5 0 112L0 400c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48L48 64zm192 0c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-32 0z"],stop:[384,512,[],"solid","M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"],font:[448,512,[],"solid","M254 52.8C249.3 40.3 237.3 32 224 32s-25.3 8.3-30 20.8L57.8 416 32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-1.8 0 18-48 159.6 0 18 48-1.8 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-25.8 0L254 52.8zM279.8 304l-111.6 0L224 155.1 279.8 304z"],"grip-vertical":[320,512,[],"solid","M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z"],image:[512,512,[],"regular","M448 80c8.8 0 16 7.2 16 16l0 319.8-5-6.5-136-176c-4.5-5.9-11.6-9.3-19-9.3s-14.4 3.4-19 9.3L202 340.7l-30.5-42.7C167 291.7 159.8 288 152 288s-15 3.7-19.5 10.1l-80 112L48 416.3l0-.3L48 96c0-8.8 7.2-16 16-16l384 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm80 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"],images:[576,512,[],"regular","M160 80l352 0c8.8 0 16 7.2 16 16l0 224c0 8.8-7.2 16-16 16l-21.2 0L388.1 178.9c-4.4-6.8-12-10.9-20.1-10.9s-15.7 4.1-20.1 10.9l-52.2 79.8-12.4-16.9c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8L175.6 336 160 336c-8.8 0-16-7.2-16-16l0-224c0-8.8 7.2-16 16-16zM96 96l0 224c0 35.3 28.7 64 64 64l352 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L160 32c-35.3 0-64 28.7-64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120L0 344c0 75.1 60.9 136 136 136l320 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-320 0c-48.6 0-88-39.4-88-88l0-224zm208 24a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"],"photo-film":[640,512,["media"],"solid","M256 0L576 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64l-320 0c-35.3 0-64-28.7-64-64l0-224c0-35.3 28.7-64 64-64zM476 106.7C471.5 100 464 96 456 96s-15.5 4-20 10.7l-56 84L362.7 169c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l80 0 48 0 144 0c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144zM336 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 128l96 0 0 256 0 32c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-32 160 0 0 64c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192c0-35.3 28.7-64 64-64zm8 64c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm0 104c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm0 104c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm336 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0c-8.8 0-16 7.2-16 16z"],clapperboard:[512,512,[],"solid","M448 32l-86.1 0-1 1-127 127 92.1 0 1-1L453.8 32.3c-1.9-.2-3.8-.3-5.8-.3zm64 128l0-64c0-15.1-5.3-29.1-14-40l-104 104L512 160zM294.1 32l-92.1 0-1 1L73.9 160l92.1 0 1-1 127-127zM64 32C28.7 32 0 60.7 0 96l0 64 6.1 0 1-1 127-127L64 32zM512 192L0 192 0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-224z"],"object-group":[576,512,[],"regular","M48 115.8C38.2 107 32 94.2 32 80c0-26.5 21.5-48 48-48c14.2 0 27 6.2 35.8 16l344.4 0c8.8-9.8 21.6-16 35.8-16c26.5 0 48 21.5 48 48c0 14.2-6.2 27-16 35.8l0 280.4c9.8 8.8 16 21.6 16 35.8c0 26.5-21.5 48-48 48c-14.2 0-27-6.2-35.8-16l-344.4 0c-8.8 9.8-21.6 16-35.8 16c-26.5 0-48-21.5-48-48c0-14.2 6.2-27 16-35.8l0-280.4zM125.3 96c-4.8 13.6-15.6 24.4-29.3 29.3l0 261.5c13.6 4.8 24.4 15.6 29.3 29.3l325.5 0c4.8-13.6 15.6-24.4 29.3-29.3l0-261.5c-13.6-4.8-24.4-15.6-29.3-29.3L125.3 96zm2.7 64c0-17.7 14.3-32 32-32l128 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-96zM256 320l32 0c35.3 0 64-28.7 64-64l0-32 64 0c17.7 0 32 14.3 32 32l0 96c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-32z"],"object-ungroup":[640,512,[],"regular","M48.2 66.8c-.1-.8-.2-1.7-.2-2.5l0-.2c0-8.8 7.2-16 16-16c.9 0 1.9 .1 2.8 .2C74.3 49.5 80 56.1 80 64c0 8.8-7.2 16-16 16c-7.9 0-14.5-5.7-15.8-13.2zM0 64c0 26.9 16.5 49.9 40 59.3l0 105.3C16.5 238.1 0 261.1 0 288c0 35.3 28.7 64 64 64c26.9 0 49.9-16.5 59.3-40l201.3 0c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3l0-105.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40L123.3 40C113.9 16.5 90.9 0 64 0C28.7 0 0 28.7 0 64zm368 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM324.7 88c6.5 16 19.3 28.9 35.3 35.3l0 105.3c-16 6.5-28.9 19.3-35.3 35.3l-201.3 0c-6.5-16-19.3-28.9-35.3-35.3l0-105.3c16-6.5 28.9-19.3 35.3-35.3l201.3 0zM384 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM80 288c0 7.9-5.7 14.5-13.2 15.8c-.8 .1-1.7 .2-2.5 .2l-.2 0c-8.8 0-16-7.2-16-16c0-.9 .1-1.9 .2-2.8C49.5 277.7 56.1 272 64 272c8.8 0 16 7.2 16 16zm391.3-40l45.4 0c6.5 16 19.3 28.9 35.3 35.3l0 105.3c-16 6.5-28.9 19.3-35.3 35.3l-201.3 0c-6.5-16-19.3-28.9-35.3-35.3l0-36.7-48 0 0 36.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64c26.9 0 49.9-16.5 59.3-40l201.3 0c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3l0-105.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40L448 200l0 16.4c9.8 8.8 17.8 19.5 23.3 31.6zm88.9-26.7a16 16 0 1 1 31.5 5.5 16 16 0 1 1 -31.5-5.5zM271.8 450.7a16 16 0 1 1 -31.5-5.5 16 16 0 1 1 31.5 5.5zm307-18.5a16 16 0 1 1 -5.5 31.5 16 16 0 1 1 5.5-31.5z"],left:[320,512,[],"solid","M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"],right:[320,512,[],"solid","M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"],up:[448,512,[],"solid","M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z"],down:[448,512,[],"solid","M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"],arrows:[512,512,["arrows-up-down-left-right"],"solid","M278.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l9.4-9.4L224 224l-114.7 0 9.4-9.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-64 64c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L224 288l0 114.7-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-9.4 9.4L288 288l114.7 0-9.4 9.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-64-64c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L288 224l0-114.7 9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-64-64z"],"arrow-pointer":[320,512,[],"solid","M0 55.2L0 426c0 12.2 9.9 22 22 22c6.3 0 12.4-2.7 16.6-7.5L121.2 346l58.1 116.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9L179.8 320l118.1 0c12.2 0 22.1-9.9 22.1-22.1c0-6.3-2.7-12.3-7.4-16.5L38.6 37.9C34.3 34.1 28.9 32 23.2 32C10.4 32 0 42.4 0 55.2z"],"axis-arrow":[24,24,[],"solid","m12 2l4 4h-3v7.85l6.53 3.76L21 15.03l1.5 5.47l-5.5 1.46l1.53-2.61L12 15.58l-6.53 3.77L7 21.96L1.5 20.5L3 15.03l1.47 2.58L11 13.85V6H8z"],reply:[24,24,[],"regular","M9 17L4 12L9 7M4 12H16A4 4 0 0 1 20 16V18",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],"reply-all":[24,24,[],"regular","M7 17L2 12L7 7M12 17L7 12L12 7M7 12H18A4 4 0 0 1 22 16V18",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],forward:[24,24,[],"regular","M15 17L20 12L15 7M4 18V16A4 4 0 0 1 8 12H20",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],rotate:[512,512,[],"solid","M142.9 142.9c-17.5 17.5-30.1 38-37.8 59.8c-5.9 16.7-24.2 25.4-40.8 19.5s-25.4-24.2-19.5-40.8C55.6 150.7 73.2 122 97.6 97.6c87.2-87.2 228.3-87.5 315.8-1L455 55c6.9-6.9 17.2-8.9 26.2-5.2s14.8 12.5 14.8 22.2l0 128c0 13.3-10.7 24-24 24l-8.4 0c0 0 0 0 0 0L344 224c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l41.1-41.1c-62.6-61.5-163.1-61.2-225.3 1zM16 312c0-13.3 10.7-24 24-24l7.6 0 .7 0L168 288c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-41.1 41.1c62.6 61.5 163.1 61.2 225.3-1c17.5-17.5 30.1-38 37.8-59.8c5.9-16.7 24.2-25.4 40.8-19.5s25.4 24.2 19.5 40.8c-10.8 30.6-28.4 59.3-52.9 83.8c-87.2 87.2-228.3 87.5-315.8 1L57 457c-6.9 6.9-17.2 8.9-26.2 5.2S16 449.7 16 440l0-119.6 0-.7 0-7.6z"],"rotate-right":[512,512,["rotate-forward"],"solid","M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z"],"rotate-left":[512,512,["rotate-back"],"solid","M48.5 224L40 224c-13.3 0-24-10.7-24-24L16 72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8L48.5 224z"],hand:[512,512,[],"regular","M256 0c-25.3 0-47.2 14.7-57.6 36c-7-2.6-14.5-4-22.4-4c-35.3 0-64 28.7-64 64l0 165.5-2.7-2.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5L106.5 437c48 48 113.1 75 181 75l8.5 0 8 0c1.5 0 3-.1 4.5-.4c91.7-6.2 165-79.4 171.1-171.1c.3-1.5 .4-3 .4-4.5l0-176c0-35.3-28.7-64-64-64c-5.5 0-10.9 .7-16 2l0-2c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4C303.2 14.7 281.3 0 256 0zM240 96.1l0-.1 0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 31.9 0 .1 0 136c0 13.3 10.7 24 24 24s24-10.7 24-24l0-136c0 0 0 0 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16l0 55.9c0 0 0 .1 0 .1l0 80c0 13.3 10.7 24 24 24s24-10.7 24-24l0-71.9c0 0 0-.1 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16l0 172.9c-.1 .6-.1 1.3-.2 1.9c-3.4 69.7-59.3 125.6-129 129c-.6 0-1.3 .1-1.9 .2l-4.9 0-8.5 0c-55.2 0-108.1-21.9-147.1-60.9L52.7 315.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L119 336.4c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2L160 96c0-8.8 7.2-16 16-16c8.8 0 16 7.1 16 15.9L192 232c0 13.3 10.7 24 24 24s24-10.7 24-24l0-135.9z"],"hand-pointer":[448,512,[],"regular","M160 64c0-8.8 7.2-16 16-16s16 7.2 16 16l0 136c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c7.8 0 14.3 5.6 15.7 13c1.6 8.2 7.3 15.1 15.1 18s16.7 1.6 23.3-3.6c2.7-2.1 6.1-3.4 9.9-3.4c8.8 0 16 7.2 16 16l0 16 0 104c0 39.8-32.2 72-72 72l-56 0-59.8 0-.9 0c-37.4 0-72.4-18.7-93.2-49.9L50.7 312.9c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4L116 353.2c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23l0-19.9 0-256zM176 0c-35.3 0-64 28.7-64 64l0 197.7C91.2 238 55.5 232.8 28.5 250.7C-.9 270.4-8.9 310.1 10.8 339.5L78.3 440.8c29.7 44.5 79.6 71.2 133.1 71.2l.9 0 59.8 0 56 0c66.3 0 120-53.7 120-120l0-104 0-16c0-35.3-28.7-64-64-64c-4.5 0-8.8 .5-13 1.3c-11.7-15.4-30.2-25.3-51-25.3c-6.9 0-13.5 1.1-19.7 3.1C288.7 170.7 269.6 160 248 160c-2.7 0-5.4 .2-8 .5L240 64c0-35.3-28.7-64-64-64zm48 304c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96zm48-16c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96z"],"hand-point-right":[512,512,[],"regular","M448 128l-177.6 0c1 5.2 1.6 10.5 1.6 16l0 16 32 0 144 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM224 144c0-17.7-14.3-32-32-32c0 0 0 0 0 0l-24 0c-66.3 0-120 53.7-120 120l0 48c0 52.5 33.7 97.1 80.7 113.4c-.5-3.1-.7-6.2-.7-9.4c0-20 9.2-37.9 23.6-49.7c-4.9-9-7.6-19.4-7.6-30.3c0-15.1 5.3-29 14-40c-8.8-11-14-24.9-14-40l0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40c0 8.8 7.2 16 16 16s16-7.2 16-16l0-40 0-40zM192 64s0 0 0 0c18 0 34.6 6 48 16l208 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-82 0c1.3 5.1 2 10.5 2 16c0 25.3-14.7 47.2-36 57.6c2.6 7 4 14.5 4 22.4c0 20-9.2 37.9-23.6 49.7c4.9 9 7.6 19.4 7.6 30.3c0 35.3-28.7 64-64 64l-64 0-24 0C75.2 448 0 372.8 0 280l0-48C0 139.2 75.2 64 168 64l24 0zm64 336c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0zm16-176c0 5.5-.7 10.9-2 16l2 0 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0 16zm-24 64l-40 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-24 0z"],"hand-point-up":[384,512,[],"regular","M64 64l0 177.6c5.2-1 10.5-1.6 16-1.6l16 0 0-32L96 64c0-8.8-7.2-16-16-16s-16 7.2-16 16zM80 288c-17.7 0-32 14.3-32 32c0 0 0 0 0 0l0 24c0 66.3 53.7 120 120 120l48 0c52.5 0 97.1-33.7 113.4-80.7c-3.1 .5-6.2 .7-9.4 .7c-20 0-37.9-9.2-49.7-23.6c-9 4.9-19.4 7.6-30.3 7.6c-15.1 0-29-5.3-40-14c-11 8.8-24.9 14-40 14l-40 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l40 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-40 0-40 0zM0 320s0 0 0 0c0-18 6-34.6 16-48L16 64C16 28.7 44.7 0 80 0s64 28.7 64 64l0 82c5.1-1.3 10.5-2 16-2c25.3 0 47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c20 0 37.9 9.2 49.7 23.6c9-4.9 19.4-7.6 30.3-7.6c35.3 0 64 28.7 64 64l0 64 0 24c0 92.8-75.2 168-168 168l-48 0C75.2 512 0 436.8 0 344l0-24zm336-64c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48 0 16c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64zM160 240c5.5 0 10.9 .7 16 2l0-2 0-32c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32 16 0zm64 24l0 40c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 0-16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 24z"],"hand-point-down":[384,512,[],"regular","M64 448l0-177.6c5.2 1 10.5 1.6 16 1.6l16 0 0 32 0 144c0 8.8-7.2 16-16 16s-16-7.2-16-16zM80 224c-17.7 0-32-14.3-32-32c0 0 0 0 0 0l0-24c0-66.3 53.7-120 120-120l48 0c52.5 0 97.1 33.7 113.4 80.7c-3.1-.5-6.2-.7-9.4-.7c-20 0-37.9 9.2-49.7 23.6c-9-4.9-19.4-7.6-30.3-7.6c-15.1 0-29 5.3-40 14c-11-8.8-24.9-14-40-14l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-40 0-40 0zM0 192s0 0 0 0c0 18 6 34.6 16 48l0 208c0 35.3 28.7 64 64 64s64-28.7 64-64l0-82c5.1 1.3 10.5 2 16 2c25.3 0 47.2-14.7 57.6-36c7 2.6 14.5 4 22.4 4c20 0 37.9-9.2 49.7-23.6c9 4.9 19.4 7.6 30.3 7.6c35.3 0 64-28.7 64-64l0-64 0-24C384 75.2 308.8 0 216 0L168 0C75.2 0 0 75.2 0 168l0 24zm336 64c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 64zM160 272c5.5 0 10.9-.7 16-2l0 2 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32 16 0zm64-24l0-40c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-24z"],"hand-point-left":[512,512,[],"regular","M64 128l177.6 0c-1 5.2-1.6 10.5-1.6 16l0 16-32 0L64 160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm224 16c0-17.7 14.3-32 32-32c0 0 0 0 0 0l24 0c66.3 0 120 53.7 120 120l0 48c0 52.5-33.7 97.1-80.7 113.4c.5-3.1 .7-6.2 .7-9.4c0-20-9.2-37.9-23.6-49.7c4.9-9 7.6-19.4 7.6-30.3c0-15.1-5.3-29-14-40c8.8-11 14-24.9 14-40l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-40 0-40zm32-80s0 0 0 0c-18 0-34.6 6-48 16L64 80C28.7 80 0 108.7 0 144s28.7 64 64 64l82 0c-1.3 5.1-2 10.5-2 16c0 25.3 14.7 47.2 36 57.6c-2.6 7-4 14.5-4 22.4c0 20 9.2 37.9 23.6 49.7c-4.9 9-7.6 19.4-7.6 30.3c0 35.3 28.7 64 64 64l64 0 24 0c92.8 0 168-75.2 168-168l0-48c0-92.8-75.2-168-168-168l-24 0zM256 400c-8.8 0-16-7.2-16-16s7.2-16 16-16l48 0 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0zM240 224c0 5.5 .7 10.9 2 16l-2 0-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l32 0 0 16zm24 64l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l24 0z"],"hand-scissors":[512,512,[],"regular","M.2 276.3c-1.2-35.3 26.4-65 61.7-66.2l3.3-.1L57 208.1C22.5 200.5 .7 166.3 8.3 131.8S50.2 75.5 84.7 83.2l173 38.3c2.3-2.9 4.7-5.7 7.1-8.5l18.4-20.3C299.9 74.5 323.5 64 348.3 64l10.2 0c54.1 0 104.1 28.7 131.3 75.4l1.5 2.6c13.6 23.2 20.7 49.7 20.7 76.6L512 344c0 66.3-53.7 120-120 120l-8 0-96 0c-35.3 0-64-28.7-64-64c0-2.8 .2-5.6 .5-8.3c-19.4-11-32.5-31.8-32.5-55.7c0-.8 0-1.6 0-2.4L66.4 338c-35.3 1.2-65-26.4-66.2-61.7zm63.4-18.2c-8.8 .3-15.7 7.7-15.4 16.5s7.7 15.7 16.5 15.4l161.5-5.6c9.8-.3 18.7 5.3 22.7 14.2s2.2 19.3-4.5 26.4c-2.8 2.9-4.4 6.7-4.4 11c0 8.8 7.2 16 16 16c9.1 0 17.4 5.1 21.5 13.3s3.2 17.9-2.3 25.1c-2 2.7-3.2 6-3.2 9.6c0 8.8 7.2 16 16 16l96 0 8 0c39.8 0 72-32.2 72-72l0-125.4c0-18.4-4.9-36.5-14.2-52.4l-1.5-2.6c-18.6-32-52.8-51.6-89.8-51.6l-10.2 0c-11.3 0-22 4.8-29.6 13.1l-17.5-15.9 17.5 15.9-18.4 20.3c-.6 .6-1.1 1.3-1.7 1.9l57 13.2c8.6 2 14 10.6 12 19.2s-10.6 14-19.2 12l-85.6-19.7L74.3 130c-8.6-1.9-17.2 3.5-19.1 12.2s3.5 17.2 12.2 19.1l187.5 41.6c10.2 2.3 17.8 10.9 18.7 21.4l.1 1c.6 6.6-1.5 13.1-5.8 18.1s-10.6 7.9-17.2 8.2L63.6 258.1z"],"hand-spock":[576,512,[],"regular","M170.2 80.8C161 47 180.8 12 214.6 2.4c34-9.6 69.4 10.2 79 44.2l30.3 107.1L337.1 84c6.6-34.7 40.1-57.5 74.8-50.9c31.4 6 53 33.9 52 64.9c10-2.6 20.8-2.8 31.5-.1c34.3 8.6 55.1 43.3 46.6 77.6L486.7 397.2C469.8 464.7 409.2 512 339.6 512l-33.7 0c-56.9 0-112.2-19-157.2-53.9l-92-71.6c-27.9-21.7-32.9-61.9-11.2-89.8s61.9-32.9 89.8-11.2l17 13.2L100.5 167.5c-13-32.9 3.2-70.1 36-83c11.1-4.4 22.7-5.4 33.7-3.7zm77.1-21.2c-2.4-8.5-11.2-13.4-19.7-11s-13.4 11.2-11 19.7l54.8 182.4c3.5 12.3-3.3 25.2-15.4 29.3s-25.3-2-30-13.9L174.9 138.1c-3.2-8.2-12.5-12.3-20.8-9s-12.3 12.5-9 20.8l73.3 185.6c12 30.3-23.7 57-49.4 37l-63.1-49.1c-7-5.4-17-4.2-22.5 2.8s-4.2 17 2.8 22.5l92 71.6c36.5 28.4 81.4 43.8 127.7 43.8l33.7 0c47.5 0 89-32.4 100.5-78.5l55.4-221.6c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-26 104C435.6 271.8 425 280 413 280c-16.5 0-28.9-15-25.8-31.2L415.7 99c1.7-8.7-4-17.1-12.7-18.7s-17.1 4-18.7 12.7L352.5 260c-2.2 11.6-12.4 20-24.2 20c-11 0-20.7-7.3-23.7-17.9L247.4 59.6z"],"hand-back-fist":[448,512,["hand-rock"],"regular","M144 64c0-8.8 7.2-16 16-16s16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16l0 104c0 31.3-20 58-48 67.9c-9.6 3.4-16 12.5-16 22.6L304 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-117.8c38-20.1 64-60.1 64-106.2l0-104c0-35.3-28.7-64-64-64c-2.8 0-5.6 .2-8.3 .5C332.8 77.1 311.9 64 288 64c-2.8 0-5.6 .2-8.3 .5C268.8 45.1 247.9 32 224 32c-2.8 0-5.6 .2-8.3 .5C204.8 13.1 183.9 0 160 0C124.7 0 96 28.7 96 64l0 64.3c-11.7 7.4-22.5 16.4-32 26.9l17.8 16.1L64 155.2l-9.4 10.5C40 181.8 32 202.8 32 224.6l0 12.8c0 49.6 24.2 96.1 64.8 124.5l13.8-19.7L96.8 361.9l8.9 6.2c6.9 4.8 14.4 8.6 22.3 11.3L128 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-128.1c0-12.6-9.8-23.1-22.4-23.9c-7.3-.5-14.3-2.9-20.3-7.1l-13.1 18.7 13.1-18.7-8.9-6.2C96.6 303.1 80 271.3 80 237.4l0-12.8c0-9.9 3.7-19.4 10.3-26.8l9.4-10.5c3.8-4.2 7.9-8.1 12.3-11.6l0 32.3c0 8.8 7.2 16 16 16s16-7.2 16-16l0-65.7 0-14.3 0-64z"],"hand-lizard":[512,512,[],"regular","M72 112c-13.3 0-24 10.7-24 24s10.7 24 24 24l168 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-104 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l152 0c4.5 0 8.9 1.3 12.7 3.6l64 40c7 4.4 11.3 12.1 11.3 20.4l0 24c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-10.7L281.1 384 136 384c-39.8 0-72-32.2-72-72s32.2-72 72-72l104 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L72 208c-39.8 0-72-32.2-72-72S32.2 64 72 64l209.6 0c46.7 0 90.9 21.5 119.7 58.3l78.4 100.1c20.9 26.7 32.3 59.7 32.3 93.7L512 424c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-107.9c0-23.2-7.8-45.8-22.1-64.1L363.5 151.9c-19.7-25.2-49.9-39.9-81.9-39.9L72 112z"],"hand-peace":[512,512,[],"regular","M250.8 1.4c-35.2-3.7-66.6 21.8-70.3 57L174 119 156.7 69.6C145 36.3 108.4 18.8 75.1 30.5S24.2 78.8 35.9 112.1L88.7 262.2C73.5 276.7 64 297.3 64 320c0 0 0 0 0 0l0 24c0 92.8 75.2 168 168 168l48 0c92.8 0 168-75.2 168-168l0-72 0-16 0-32c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-.7 0-1.5 0-2.2 0l5.9-56.3c3.7-35.2-21.8-66.6-57-70.3zm-.2 155.4C243.9 166.9 240 179 240 192l0 48c0 .7 0 1.4 0 2c-5.1-1.3-10.5-2-16-2l-7.4 0-5.4-15.3 17-161.3c.9-8.8 8.8-15.2 17.6-14.2s15.2 8.8 14.2 17.6l-9.5 90.1zM111.4 85.6L165.7 240 144 240c-4 0-8 .3-11.9 .9L81.2 96.2c-2.9-8.3 1.5-17.5 9.8-20.4s17.5 1.5 20.4 9.8zM288 192c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48zm38.4 108c10.4 21.3 32.3 36 57.6 36c5.5 0 10.9-.7 16-2l0 10c0 66.3-53.7 120-120 120l-48 0c-66.3 0-120-53.7-120-120l0-24s0 0 0 0c0-17.7 14.3-32 32-32l80 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c35.3 0 64-28.7 64-64c0-.7 0-1.4 0-2c5.1 1.3 10.5 2 16 2c7.9 0 15.4-1.4 22.4-4zM400 272c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 0 16z"],"hands-asl-interpreting":[640,512,["asl"],"solid","M156.6 46.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L13.5 189.4C4.6 207.2 0 226.8 0 246.7L0 256c0 70.7 57.3 128 128 128l72 0 8 0 0-.3c35.2-2.7 65.4-22.8 82.1-51.7c8.8-15.3 3.6-34.9-11.7-43.7s-34.9-3.6-43.7 11.7c-7 12-19.9 20-34.7 20c-22.1 0-40-17.9-40-40s17.9-40 40-40c14.8 0 27.7 8 34.7 20c8.8 15.3 28.4 20.5 43.7 11.7s20.5-28.4 11.7-43.7c-12.8-22.1-33.6-39.1-58.4-47.1l80.8-22c17-4.6 27.1-22.2 22.5-39.3s-22.2-27.1-39.3-22.5L194.9 124.6l81.6-68c13.6-11.3 15.4-31.5 4.1-45.1S249.1-3.9 235.5 7.4L133.6 92.3l23-46zM483.4 465.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l85.9-171.7c8.9-17.8 13.5-37.4 13.5-57.2l0-9.3c0-70.7-57.3-128-128-128l-72 0-8 0 0 .3c-35.2 2.7-65.4 22.8-82.1 51.7c-8.9 15.3-3.6 34.9 11.7 43.7s34.9 3.6 43.7-11.7c7-12 19.9-20 34.7-20c22.1 0 40 17.9 40 40s-17.9 40-40 40c-14.8 0-27.7-8-34.7-20c-8.9-15.3-28.4-20.5-43.7-11.7s-20.5 28.4-11.7 43.7c12.8 22.1 33.6 39.1 58.4 47.1l-80.8 22c-17.1 4.7-27.1 22.2-22.5 39.3s22.2 27.1 39.3 22.5l100.7-27.5-81.6 68c-13.6 11.3-15.4 31.5-4.1 45.1s31.5 15.4 45.1 4.1l101.9-84.9-23 46z"],handshake:[640,512,[],"regular","M272.2 64.6l-51.1 51.1c-15.3 4.2-29.5 11.9-41.5 22.5L153 161.9C142.8 171 129.5 176 115.8 176L96 176l0 128c20.4 .6 39.8 8.9 54.3 23.4l35.6 35.6 7 7c0 0 0 0 0 0L219.9 397c6.2 6.2 16.4 6.2 22.6 0c1.7-1.7 3-3.7 3.7-5.8c2.8-7.7 9.3-13.5 17.3-15.3s16.4 .6 22.2 6.5L296.5 393c11.6 11.6 30.4 11.6 41.9 0c5.4-5.4 8.3-12.3 8.6-19.4c.4-8.8 5.6-16.6 13.6-20.4s17.3-3 24.4 2.1c9.4 6.7 22.5 5.8 30.9-2.6c9.4-9.4 9.4-24.6 0-33.9L340.1 243l-35.8 33c-27.3 25.2-69.2 25.6-97 .9c-31.7-28.2-32.4-77.4-1.6-106.5l70.1-66.2C303.2 78.4 339.4 64 377.1 64c36.1 0 71 13.3 97.9 37.2L505.1 128l38.9 0 40 0 40 0c8.8 0 16 7.2 16 16l0 208c0 17.7-14.3 32-32 32l-32 0c-11.8 0-22.2-6.4-27.7-16l-84.9 0c-3.4 6.7-7.9 13.1-13.5 18.7c-17.1 17.1-40.8 23.8-63 20.1c-3.6 7.3-8.5 14.1-14.6 20.2c-27.3 27.3-70 30-100.4 8.1c-25.1 20.8-62.5 19.5-86-4.1L159 404l-7-7-35.6-35.6c-5.5-5.5-12.7-8.7-20.4-9.3C96 369.7 81.6 384 64 384l-32 0c-17.7 0-32-14.3-32-32L0 144c0-8.8 7.2-16 16-16l40 0 40 0 19.8 0c2 0 3.9-.7 5.3-2l26.5-23.6C175.5 77.7 211.4 64 248.7 64L259 64c4.4 0 8.9 .2 13.2 .6zM544 320l0-144-48 0c-5.9 0-11.6-2.2-15.9-6.1l-36.9-32.8c-18.2-16.2-41.7-25.1-66.1-25.1c-25.4 0-49.8 9.7-68.3 27.1l-70.1 66.2c-10.3 9.8-10.1 26.3 .5 35.7c9.3 8.3 23.4 8.1 32.5-.3l71.9-66.4c9.7-9 24.9-8.4 33.9 1.4s8.4 24.9-1.4 33.9l-.8 .8 74.4 74.4c10 10 16.5 22.3 19.4 35.1l74.8 0zM64 336a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm528 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z"],"thumbs-down":[512,512,[],"regular","M323.8 477.2c-38.2 10.9-78.1-11.2-89-49.4l-5.7-20c-3.7-13-10.4-25-19.5-35l-51.3-56.4c-8.9-9.8-8.2-25 1.6-33.9s25-8.2 33.9 1.6l51.3 56.4c14.1 15.5 24.4 34 30.1 54.1l5.7 20c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7l-5.7-20c-5.7-19.9-14.7-38.7-26.6-55.5c-5.2-7.3-5.8-16.9-1.7-24.9s12.3-13 21.3-13L448 288c8.8 0 16-7.2 16-16c0-6.8-4.3-12.7-10.4-15c-7.4-2.8-13-9-14.9-16.7s.1-15.8 5.3-21.7c2.5-2.8 4-6.5 4-10.6c0-7.8-5.6-14.3-13-15.7c-8.2-1.6-15.1-7.3-18-15.2s-1.6-16.7 3.6-23.3c2.1-2.7 3.4-6.1 3.4-9.9c0-6.7-4.2-12.6-10.2-14.9c-11.5-4.5-17.7-16.9-14.4-28.8c.4-1.3 .6-2.8 .6-4.3c0-8.8-7.2-16-16-16l-97.5 0c-12.6 0-25 3.7-35.5 10.7l-61.7 41.1c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l61.7-41.1c18.4-12.3 40-18.8 62.1-18.8L384 32c34.7 0 62.9 27.6 64 62c14.6 11.7 24 29.7 24 50c0 4.5-.5 8.8-1.3 13c15.4 11.7 25.3 30.2 25.3 51c0 6.5-1 12.8-2.8 18.7C504.8 238.3 512 254.3 512 272c0 35.3-28.6 64-64 64l-92.3 0c4.7 10.4 8.7 21.2 11.8 32.2l5.7 20c10.9 38.2-11.2 78.1-49.4 89zM32 384c-17.7 0-32-14.3-32-32L0 128c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 224c0 17.7-14.3 32-32 32l-64 0z"],"thumbs-up":[512,512,[],"regular","M323.8 34.8c-38.2-10.9-78.1 11.2-89 49.4l-5.7 20c-3.7 13-10.4 25-19.5 35l-51.3 56.4c-8.9 9.8-8.2 25 1.6 33.9s25 8.2 33.9-1.6l51.3-56.4c14.1-15.5 24.4-34 30.1-54.1l5.7-20c3.6-12.7 16.9-20.1 29.7-16.5s20.1 16.9 16.5 29.7l-5.7 20c-5.7 19.9-14.7 38.7-26.6 55.5c-5.2 7.3-5.8 16.9-1.7 24.9s12.3 13 21.3 13L448 224c8.8 0 16 7.2 16 16c0 6.8-4.3 12.7-10.4 15c-7.4 2.8-13 9-14.9 16.7s.1 15.8 5.3 21.7c2.5 2.8 4 6.5 4 10.6c0 7.8-5.6 14.3-13 15.7c-8.2 1.6-15.1 7.3-18 15.2s-1.6 16.7 3.6 23.3c2.1 2.7 3.4 6.1 3.4 9.9c0 6.7-4.2 12.6-10.2 14.9c-11.5 4.5-17.7 16.9-14.4 28.8c.4 1.3 .6 2.8 .6 4.3c0 8.8-7.2 16-16 16l-97.5 0c-12.6 0-25-3.7-35.5-10.7l-61.7-41.1c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l61.7 41.1c18.4 12.3 40 18.8 62.1 18.8l97.5 0c34.7 0 62.9-27.6 64-62c14.6-11.7 24-29.7 24-50c0-4.5-.5-8.8-1.3-13c15.4-11.7 25.3-30.2 25.3-51c0-6.5-1-12.8-2.8-18.7C504.8 273.7 512 257.7 512 240c0-35.3-28.6-64-64-64l-92.3 0c4.7-10.4 8.7-21.2 11.8-32.2l5.7-20c10.9-38.2-11.2-78.1-49.4-89zM32 192c-17.7 0-32 14.3-32 32L0 448c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-224c0-17.7-14.3-32-32-32l-64 0z"],"log-in":[512,512,[],"solid","M352 96l64 0c17.7 0 32 14.3 32 32l0 256c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c53 0 96-43 96-96l0-256c0-53-43-96-96-96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm-9.4 182.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z"],"log-out":[512,512,[],"solid","M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 192 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128zM160 96c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 32C43 32 0 75 0 128L0 384c0 53 43 96 96 96l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l64 0z"],"menu-arrows":[512,512,[],"solid","M352 144l96 112-96 112M160 144L64 256l96 112","transform=rotate(90)","fill=none stroke-width=60 stroke-linejoin=round stroke-linecap=round"],more:[128,512,[],"solid","M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z"],minus:[448,512,[],"solid","M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"],"more-horizontal":[448,512,[],"solid","M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"],plus:[448,512,[],"solid","M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"],equals:[448,512,[],"solid","M48 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l352 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48 128zm0 192c-17.7 0-32 14.3-32 32s14.3 32 32 32l352 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48 320z"],"circle-nodes":[512,512,[],"solid","M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z"],"circle-plus":[24,24,[],"regular","M12 8V16M8 12H16M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z",null,"fill=none stroke-width=2 stroke-linecap=round stroke-linejoin=round"],"circle-info":[24,24,[],"regular","M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20ZM12 8v4M12 16h.01",null,"fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],"circle-play":[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c7.6-4.2 16.8-4.1 24.3 .5l144 88c7.1 4.4 11.5 12.1 11.5 20.5s-4.4 16.1-11.5 20.5l-144 88c-7.4 4.5-16.7 4.7-24.3 .5s-12.3-12.2-12.3-20.9l0-176c0-8.7 4.7-16.7 12.3-20.9z"],"circle-check":[512,512,[],"regular","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z"],"circle-stop":[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm192-96l128 0c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32z"],"circle-pause":[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm224-72l0 144c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-144c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0l0 144c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-144c0-13.3 10.7-24 24-24s24 10.7 24 24z"],"circle-xmark":[512,512,[],"regular","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z"],"circle-user":[512,512,[],"regular","M406.5 399.6C387.4 352.9 341.5 320 288 320l-64 0c-53.5 0-99.4 32.9-118.5 79.6C69.9 362.2 48 311.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 55.7-21.9 106.2-57.5 143.6zm-40.1 32.7C334.4 452.4 296.6 464 256 464s-78.4-11.6-110.5-31.7c7.3-36.7 39.7-64.3 78.5-64.3l64 0c38.8 0 71.2 27.6 78.5 64.3zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-272a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm-88-40a88 88 0 1 0 176 0 88 88 0 1 0 -176 0z"],"circle-dot":[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"],"circle-right":[512,512,[],"regular","M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 151.2c-4.2-4.6-10.1-7.2-16.4-7.2C266 144 256 154 256 166.3l0 41.7-96 0c-17.7 0-32 14.3-32 32l0 32c0 17.7 14.3 32 32 32l96 0 0 41.7c0 12.3 10 22.3 22.3 22.3c6.2 0 12.1-2.6 16.4-7.2l84-91c3.5-3.8 5.4-8.7 5.4-13.9s-1.9-10.1-5.4-13.9l-84-91z"],"circle-up":[512,512,[],"regular","M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM151.2 217.4c-4.6 4.2-7.2 10.1-7.2 16.4c0 12.3 10 22.3 22.3 22.3l41.7 0 0 96c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-96 41.7 0c12.3 0 22.3-10 22.3-22.3c0-6.2-2.6-12.1-7.2-16.4l-91-84c-3.8-3.5-8.7-5.4-13.9-5.4s-10.1 1.9-13.9 5.4l-91 84z"],"circle-question":[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm169.8-90.7c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"],"circle-left":[512,512,[],"regular","M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM217.4 376.9c4.2 4.5 10.1 7.1 16.3 7.1c12.3 0 22.3-10 22.3-22.3l0-57.7 96 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-96 0 0-57.7c0-12.3-10-22.3-22.3-22.3c-6.2 0-12.1 2.6-16.3 7.1L117.5 242.2c-3.5 3.8-5.5 8.7-5.5 13.8s2 10.1 5.5 13.8l99.9 107.1z"],"circle-down":[512,512,[],"regular","M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM376.9 294.6c4.5-4.2 7.1-10.1 7.1-16.3c0-12.3-10-22.3-22.3-22.3L304 256l0-96c0-17.7-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32l0 96-57.7 0C138 256 128 266 128 278.3c0 6.2 2.6 12.1 7.1 16.3l107.1 99.9c3.8 3.5 8.7 5.5 13.8 5.5s10.1-2 13.8-5.5l107.1-99.9z"],search:[512,512,[],"solid","M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"],compass:[512,512,[],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm306.7 69.1L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"],clock:[512,512,[],"regular","M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"],hourglass:[384,512,[],"regular","M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48l8 0 0 19c0 40.3 16 79 44.5 107.5L158.1 256 76.5 337.5C48 366 32 404.7 32 445l0 19-8 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l336 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-19c0-40.3-16-79-44.5-107.5L225.9 256l81.5-81.5C336 146 352 107.3 352 67l0-19 8 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 0zM192 289.9l81.5 81.5C293 391 304 417.4 304 445l0 19L80 464l0-19c0-27.6 11-54 30.5-73.5L192 289.9zm0-67.9l-81.5-81.5C91 121 80 94.6 80 67l0-19 224 0 0 19c0 27.6-11 54-30.5 73.5L192 222.1z"],"hourglass-half":[384,512,[],"regular","M0 24C0 10.7 10.7 0 24 0L360 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 19c0 40.3-16 79-44.5 107.5L225.9 256l81.5 81.5C336 366 352 404.7 352 445l0 19 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 512c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0 0-19c0-40.3 16-79 44.5-107.5L158.1 256 76.5 174.5C48 146 32 107.3 32 67l0-19-8 0C10.7 48 0 37.3 0 24zM110.5 371.5c-3.9 3.9-7.5 8.1-10.7 12.5l184.4 0c-3.2-4.4-6.8-8.6-10.7-12.5L192 289.9l-81.5 81.5zM284.2 128C297 110.4 304 89 304 67l0-19L80 48l0 19c0 22.1 7 43.4 19.8 61l184.4 0z"],sidebar:[512,512,[],"regular","M64 64h384a32 32 0 0 1 32 32v320a32 32 0 0 1-32 32H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm128 0v384",null,"fill=none stroke-width=50 stroke-linejoin=round stroke-linecap=round"],"table-cells":[512,512,[],"solid","M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm88 64l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0zM64 224l88 0 0 64-88 0 0-64zm232 0l0 64-88 0 0-64 88 0zm64 0l88 0 0 64-88 0 0-64zM152 352l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0z"],"table-cells-large":[512,512,[],"solid","M448 96l0 128-160 0 0-128 160 0zm0 192l0 128-160 0 0-128 160 0zM224 224L64 224 64 96l160 0 0 128zM64 288l160 0 0 128L64 416l0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"],lightbulb:[384,512,[],"regular","M297.2 248.9C311.6 228.3 320 203.2 320 176c0-70.7-57.3-128-128-128S64 105.3 64 176c0 27.2 8.4 52.3 22.8 72.9c3.7 5.3 8.1 11.3 12.8 17.7c0 0 0 0 0 0c12.9 17.7 28.3 38.9 39.8 59.8c10.4 19 15.7 38.8 18.3 57.5L109 384c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8c0 0 0 0 0 0s0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4c0 0 0 0 0 0s0 0 0 0c-12.3 16.8-24.6 33.7-34.5 51.8c-5.9 10.8-9.6 22.5-11.8 34.5l-48.6 0c2.6-18.7 7.9-38.6 18.3-57.5c11.5-20.9 26.9-42.1 39.8-59.8c0 0 0 0 0 0s0 0 0 0s0 0 0 0c4.7-6.4 9-12.4 12.7-17.7zM192 128c-26.5 0-48 21.5-48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16zm0 384c-44.2 0-80-35.8-80-80l0-16 160 0 0 16c0 44.2-35.8 80-80 80z"],flag:[448,512,[],"regular","M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24L0 64 0 350.5 0 400l0 88c0 13.3 10.7 24 24 24s24-10.7 24-24l0-100 80.3-20.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30l0-279.7c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L48 52l0-28zm0 77.5l96.6-24.2c27-6.7 55.5-3.6 80.4 8.8c54.9 27.4 118.7 29.7 175 6.8l0 241.8-24.4 9.1c-33.7 12.6-71.2 10.7-103.4-5.4c-48.2-24.1-103.3-30.1-155.6-17.1L48 338.5l0-237z"],newspaper:[512,512,[],"regular","M168 80c-13.3 0-24 10.7-24 24l0 304c0 8.4-1.4 16.5-4.1 24L440 432c13.3 0 24-10.7 24-24l0-304c0-13.3-10.7-24-24-24L168 80zM72 480c-39.8 0-72-32.2-72-72L0 112C0 98.7 10.7 88 24 88s24 10.7 24 24l0 296c0 13.3 10.7 24 24 24s24-10.7 24-24l0-304c0-39.8 32.2-72 72-72l272 0c39.8 0 72 32.2 72 72l0 304c0 39.8-32.2 72-72 72L72 480zM176 136c0-13.3 10.7-24 24-24l96 0c13.3 0 24 10.7 24 24l0 80c0 13.3-10.7 24-24 24l-96 0c-13.3 0-24-10.7-24-24l0-80zm200-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zM200 272l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z"],shuffle:[512,512,[],"solid","M403.8 34.4c12-5 25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-10.1 0-19.6 4.7-25.6 12.8L284 229.3 244 176l31.2-41.6C293.3 110.2 321.8 96 352 96l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6zM164 282.7L204 336l-31.2 41.6C154.7 401.8 126.2 416 96 416l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c10.1 0 19.6-4.7 25.6-12.8L164 282.7zm274.6 188c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-30.2 0-58.7-14.2-76.8-38.4L121.6 172.8c-6-8.1-15.5-12.8-25.6-12.8l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c30.2 0 58.7 14.2 76.8 38.4L326.4 339.2c6 8.1 15.5 12.8 25.6 12.8l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64z"],"shopping-cart":[24,24,[],"regular","M8 20a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM19 20a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12",null,"fill=none stroke-width=2 stroke-linecap=round stroke-linejoin=round"],"credit-card":[576,512,[],"regular","M512 80c8.8 0 16 7.2 16 16l0 32L48 128l0-32c0-8.8 7.2-16 16-16l448 0zm16 144l0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192 480 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24l48 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l112 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-112 0z"],lock:[448,512,[],"solid","M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z"],"lock-open":[576,512,[],"solid","M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48C576 64.5 511.5 0 432 0S288 64.5 288 144l0 48L64 192c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-32 0 0-48z"],"trash-can":[448,512,[],"regular","M170.5 51.6L151.5 80l145 0-19-28.4c-1.5-2.2-4-3.6-6.7-3.6l-93.7 0c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80 368 80l48 0 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 304c0 44.2-35.8 80-80 80l-224 0c-44.2 0-80-35.8-80-80l0-304-8 0c-13.3 0-24-10.7-24-24S10.7 80 24 80l8 0 48 0 13.8 0 36.7-55.1C140.9 9.4 158.4 0 177.1 0l93.7 0c18.7 0 36.2 9.4 46.6 24.9zM80 128l0 304c0 17.7 14.3 32 32 32l224 0c17.7 0 32-14.3 32-32l0-304L80 128zm80 64l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16z"],user:[448,512,[],"regular","M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464l349.5 0c-8.9-63.3-63.3-112-129-112l-91.4 0c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3z"],"user-check":[640,512,[],"solid","M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"],"user-xmark":[640,512,[],"solid","M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM471 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"],"user-large":[512,512,[],"solid","M256 288A144 144 0 1 0 256 0a144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7l450.6 0c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320l-189.4 0z"],"user-large-slash":[640,512,[],"solid","M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L381.9 274c48.5-23.2 82.1-72.7 82.1-130C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L38.8 5.1zM545.5 512L528 512 284.3 320l-59 0C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7l450.6 0 .3 0z"],"child-reaching":[384,512,[],"solid","M256 64A64 64 0 1 0 128 64a64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4L112 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 32 0 0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-258.4c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6c-12.6 0-24.9-2-36.6-5.8c-.9-.3-1.8-.7-2.7-.9z"],"person-walking-dashed-line-arrow-right":[640,512,[],"solid","M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224 384 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l146.7 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80zM392 0c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48c0-13.3-10.7-24-24-24zm24 152c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16zM392 320c-13.3 0-24 10.7-24 24l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16c0-13.3-10.7-24-24-24zm24 120c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48z"],"person-walking-arrow-loop-left":[640,512,[],"solid","M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zm347.7 119c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L461.3 384l18.7 0c88.4 0 160-71.6 160-160s-71.6-160-160-160L352 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c53 0 96 43 96 96s-43 96-96 96l-18.7 0 25.4-25.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3l80 80z"],"person-walking-arrow-right":[640,512,[],"solid","M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224 384 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l146.7 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80z"],"street-view":[512,512,[],"solid","M320 64A64 64 0 1 0 192 64a64 64 0 1 0 128 0zm-96 96c-35.3 0-64 28.7-64 64l0 48c0 17.7 14.3 32 32 32l1.8 0 11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5l38.7 0c16.3 0 30-12.3 31.8-28.5L318.2 304l1.8 0c17.7 0 32-14.3 32-32l0-48c0-35.3-28.7-64-64-64l-64 0zM132.3 394.2c13-2.4 21.7-14.9 19.3-27.9s-14.9-21.7-27.9-19.3c-32.4 5.9-60.9 14.2-82 24.8c-10.5 5.3-20.3 11.7-27.8 19.6C6.4 399.5 0 410.5 0 424c0 21.4 15.5 36.1 29.1 45c14.7 9.6 34.3 17.3 56.4 23.4C130.2 504.7 190.4 512 256 512s125.8-7.3 170.4-19.6c22.1-6.1 41.8-13.8 56.4-23.4c13.7-8.9 29.1-23.6 29.1-45c0-13.5-6.4-24.5-14-32.6c-7.5-7.9-17.3-14.3-27.8-19.6c-21-10.6-49.5-18.9-82-24.8c-13-2.4-25.5 6.3-27.9 19.3s6.3 25.5 19.3 27.9c30.2 5.5 53.7 12.8 69 20.5c3.2 1.6 5.8 3.1 7.9 4.5c3.6 2.4 3.6 7.2 0 9.6c-8.8 5.7-23.1 11.8-43 17.3C374.3 457 318.5 464 256 464s-118.3-7-157.7-17.9c-19.9-5.5-34.2-11.6-43-17.3c-3.6-2.4-3.6-7.2 0-9.6c2.1-1.4 4.8-2.9 7.9-4.5c15.3-7.7 38.8-14.9 69-20.5z"],"closed-captioning":[576,512,["cc"],"regular","M512 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l448 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z"],bone:[576,512,[],"solid","M153.7 144.8c6.9 16.3 20.6 31.2 38.3 31.2l192 0c17.7 0 31.4-14.9 38.3-31.2C434.4 116.1 462.9 96 496 96c44.2 0 80 35.8 80 80c0 30.4-17 56.9-42 70.4c-3.6 1.9-6 5.5-6 9.6s2.4 7.7 6 9.6c25 13.5 42 40 42 70.4c0 44.2-35.8 80-80 80c-33.1 0-61.6-20.1-73.7-48.8C415.4 350.9 401.7 336 384 336l-192 0c-17.7 0-31.4 14.9-38.3 31.2C141.6 395.9 113.1 416 80 416c-44.2 0-80-35.8-80-80c0-30.4 17-56.9 42-70.4c3.6-1.9 6-5.5 6-9.6s-2.4-7.7-6-9.6C17 232.9 0 206.4 0 176c0-44.2 35.8-80 80-80c33.1 0 61.6 20.1 73.7 48.8z"],sun:[512,512,[],"regular","M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 18.1 98.5c1.5 8 6.9 14.7 14.4 17.8s16.1 2.2 22.8-2.4L256 450.9l82.5 56.9c6.7 4.6 15.3 5.5 22.8 2.4s12.9-9.8 14.4-17.8l18.1-98.5 98.5-18.1c8-1.5 14.7-6.9 17.8-14.4s2.2-16.1-2.4-22.8L450.9 256l56.9-82.5c4.6-6.7 5.5-15.3 2.4-22.8s-9.8-12.9-17.8-14.4l-98.5-18.1L375.7 19.7zM269.6 110l65.6-45.2 14.4 78.3c1.8 9.8 9.5 17.5 19.3 19.3l78.3 14.4L402 242.4c-5.7 8.2-5.7 19 0 27.2l45.2 65.6-78.3 14.4c-9.8 1.8-17.5 9.5-19.3 19.3l-14.4 78.3L269.6 402c-8.2-5.7-19-5.7-27.2 0l-65.6 45.2-14.4-78.3c-1.8-9.8-9.5-17.5-19.3-19.3L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0zM256 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM192 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"],moon:[384,512,[],"regular","M144.7 98.7c-21 34.1-33.1 74.3-33.1 117.3c0 98 62.8 181.4 150.4 211.7c-12.4 2.8-25.3 4.3-38.6 4.3C126.6 432 48 353.3 48 256c0-68.9 39.4-128.4 96.8-157.3zm62.1-66C91.1 41.2 0 137.9 0 256C0 379.7 100 480 223.5 480c47.8 0 92-15 128.4-40.6c1.9-1.3 3.7-2.7 5.5-4c4.8-3.6 9.4-7.4 13.9-11.4c2.7-2.4 5.3-4.8 7.9-7.3c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-3.7 .6-7.4 1.2-11.1 1.6c-5 .5-10.1 .9-15.3 1c-1.2 0-2.5 0-3.7 0l-.3 0c-96.8-.2-175.2-78.9-175.2-176c0-54.8 24.9-103.7 64.1-136c1-.9 2.1-1.7 3.2-2.6c4-3.2 8.2-6.2 12.5-9c3.1-2 6.3-4 9.6-5.8c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-3.6-.3-7.1-.5-10.7-.6c-2.7-.1-5.5-.1-8.2-.1c-3.3 0-6.5 .1-9.8 .2c-2.3 .1-4.6 .2-6.9 .4z"],heart:[512,512,[],"regular","M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8l0-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9c0 0 0 0 0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5l0 3.3c0 41.9-17.4 81.9-48.1 110.4L288.7 465.9l-2.5 2.3c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM239.1 145c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1s0 0 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5l0 3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7 431.2 268c20.9-19.4 32.8-46.7 32.8-75.2l0-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2c0 0 0 0-.1 .1s0 0-.1 .1l-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7z"],"face-smile":[512,512,["smile"],"regular","M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"],xmark:[384,512,[],"solid","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"],"wand-sparkles":[512,512,[],"solid","M464 6.1c9.5-8.5 24-8.1 33 .9l8 8c9 9 9.4 23.5 .9 33l-85.8 95.9c-2.6 2.9-4.1 6.7-4.1 10.7l0 21.4c0 8.8-7.2 16-16 16l-15.8 0c-4.6 0-8.9 1.9-11.9 5.3L100.7 500.9C94.3 508 85.3 512 75.8 512c-8.8 0-17.3-3.5-23.5-9.8L9.7 459.7C3.5 453.4 0 445 0 436.2c0-9.5 4-18.5 11.1-24.8l111.6-99.8c3.4-3 5.3-7.4 5.3-11.9l0-27.6c0-8.8 7.2-16 16-16l34.6 0c3.9 0 7.7-1.5 10.7-4.1L464 6.1zM432 288c3.6 0 6.7 2.4 7.7 5.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8-14.8 51.7c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8l-14.8-51.7-51.7-14.8c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8 14.8-51.7c1-3.4 4.1-5.8 7.7-5.8zM87.7 69.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8L87.7 218.2c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8L57.5 166.5 5.8 151.7c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8L72.3 69.8c1-3.4 4.1-5.8 7.7-5.8s6.7 2.4 7.7 5.8zM208 0c3.7 0 6.9 2.5 7.8 6.1l6.8 27.3 27.3 6.8c3.6 .9 6.1 4.1 6.1 7.8s-2.5 6.9-6.1 7.8l-27.3 6.8-6.8 27.3c-.9 3.6-4.1 6.1-7.8 6.1s-6.9-2.5-7.8-6.1l-6.8-27.3-27.3-6.8c-3.6-.9-6.1-4.1-6.1-7.8s2.5-6.9 6.1-7.8l27.3-6.8 6.8-27.3c.9-3.6 4.1-6.1 7.8-6.1z"],star:[576,512,[],"regular","M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z"],"puzzle-piece":[512,512,[],"solid","M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8c0 12.8 10.4 23.2 23.2 23.2l56.8 0c26.5 0 48 21.5 48 48l0 56.8c0 12.8 10.4 23.2 23.2 23.2c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2c-12.8 0-23.2 10.4-23.2 23.2L384 464c0 26.5-21.5 48-48 48l-56.8 0c-12.8 0-23.2-10.4-23.2-23.2c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8c0 12.8-10.4 23.2-23.2 23.2L48 512c-26.5 0-48-21.5-48-48L0 343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256C10.4 256 0 245.6 0 232.8L0 176c0-26.5 21.5-48 48-48l120.8 0c12.8 0 23.2-10.4 23.2-23.2z"],discord:[640,512,[],"brands","M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"],github:[496,512,[],"brands","M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"],"square-js":[448,512,[],"brands","M448 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM180.9 444.9c-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6c13.8 0 22.6-5.4 22.6-26.5V237.7h42.1V381.4c0 43.6-25.6 63.5-62.9 63.5zm85.8-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6c17.4 0 28.6-8.7 28.6-20.8c0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5c0-31.6 24.1-55.6 61.6-55.6c26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18c-12.3 0-20.1 7.8-20.1 18c0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2c0 37.8-29.8 58.6-69.7 58.6c-39.1 0-64.4-18.6-76.7-43z"],python:[448,512,[],"brands","M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"],microsoft:[448,512,[],"brands","M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z"],apple:[384,512,[],"brands","M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"],youtube:[576,512,[],"brands","M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"],"x-twitter":[512,512,[],"brands","M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"],chrome:[512,512,[],"brands","M0 256C0 209.4 12.47 165.6 34.27 127.1L144.1 318.3C166 357.5 207.9 384 256 384C270.3 384 283.1 381.7 296.8 377.4L220.5 509.6C95.9 492.3 0 385.3 0 256zM365.1 321.6C377.4 302.4 384 279.1 384 256C384 217.8 367.2 183.5 340.7 160H493.4C505.4 189.6 512 222.1 512 256C512 397.4 397.4 511.1 256 512L365.1 321.6zM477.8 128H256C193.1 128 142.3 172.1 130.5 230.7L54.19 98.47C101 38.53 174 0 256 0C350.8 0 433.5 51.48 477.8 128V128zM168 256C168 207.4 207.4 168 256 168C304.6 168 344 207.4 344 256C344 304.6 304.6 344 256 344C207.4 344 168 304.6 168 256z"],reddit:[512,512,[],"brands","M0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256L37.1 512c-13.7 0-20.5-16.5-10.9-26.2L75 437C28.7 390.7 0 326.7 0 256zM349.6 153.6c23.6 0 42.7-19.1 42.7-42.7s-19.1-42.7-42.7-42.7c-20.6 0-37.8 14.6-41.8 34c-34.5 3.7-61.4 33-61.4 68.4l0 .2c-37.5 1.6-71.8 12.3-99 29.1c-10.1-7.8-22.8-12.5-36.5-12.5c-33 0-59.8 26.8-59.8 59.8c0 24 14.1 44.6 34.4 54.1c2 69.4 77.6 125.2 170.6 125.2s168.7-55.9 170.6-125.3c20.2-9.6 34.1-30.2 34.1-54c0-33-26.8-59.8-59.8-59.8c-13.7 0-26.3 4.6-36.4 12.4c-27.4-17-62.1-27.7-100-29.1l0-.2c0-25.4 18.9-46.5 43.4-49.9l0 0c4.4 18.8 21.3 32.8 41.5 32.8zM177.1 246.9c16.7 0 29.5 17.6 28.5 39.3s-13.5 29.6-30.3 29.6s-31.4-8.8-30.4-30.5s15.4-38.3 32.1-38.3zm190.1 38.3c1 21.7-13.7 30.5-30.4 30.5s-29.3-7.9-30.3-29.6c-1-21.7 11.8-39.3 28.5-39.3s31.2 16.6 32.1 38.3zm-48.1 56.7c-10.3 24.6-34.6 41.9-63 41.9s-52.7-17.3-63-41.9c-1.2-2.9 .8-6.2 3.9-6.5c18.4-1.9 38.3-2.9 59.1-2.9s40.7 1 59.1 2.9c3.1 .3 5.1 3.6 3.9 6.5z"],ubuntu:[576,512,[],"brands","M469.2 75A75.6 75.6 0 1 0 317.9 75a75.6 75.6 0 1 0 151.2 0zM154.2 240.7A75.6 75.6 0 1 0 3 240.7a75.6 75.6 0 1 0 151.2 0zM57 346C75.6 392.9 108 433 150 461.1s91.5 42.6 142 41.7c-14.7-18.6-22.9-41.5-23.2-65.2c-6.8-.9-13.3-2.1-19.5-3.4c-26.8-5.7-51.9-17.3-73.6-34s-39.3-38.1-51.7-62.5c-20.9 9.9-44.5 12.8-67.1 8.2zm395.1 89.8a75.6 75.6 0 1 0 -151.2 0 75.6 75.6 0 1 0 151.2 0zM444 351.6c18.5 14.8 31.6 35.2 37.2 58.2c33.3-41.3 52.6-92.2 54.8-145.2s-12.5-105.4-42.2-149.4c-8.6 21.5-24 39.6-43.8 51.6c15.4 28.6 22.9 60.8 21.9 93.2s-10.7 64-28 91.6zM101.1 135.4c12.4 2.7 24.3 7.5 35.1 14.3c16.6-24.2 38.9-44.1 64.8-58S255.8 70.4 285.2 70c.2-5.9 .9-11.9 2-17.7c3.6-16.7 11.1-32.3 21.8-45.5c-47.7-3.8-95.4 6-137.6 28.5S94.3 91.7 70.8 133.4c2.7-.2 5.3-.3 8-.3c7.5 0 15 .8 22.4 2.3z"],whatsapp:[448,512,[],"brands","M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"],linux:[448,512,[],"brands","M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"],instagram:[448,512,[],"brands","M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"],facebook:[512,512,[],"brands","M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"],safari:[512,512,[],"brands","M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z"],google:[488,512,[],"brands","M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z"],npm:[576,512,[],"brands","M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z"],"bluetooth-b":[320,512,[],"brands","M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z"],vr:"vr-cardboard","sticky-note":"note-sticky","file-text":"file-lines",script:"scroll",save:"floppy-disk",media:"photo-film","arrows-up-down-left-right":"arrows","rotate-forward":"rotate-right","rotate-back":"rotate-left",cc:"closed-captioning",asl:"hands-asl-interpreting",smile:"face-smile","hand-rock":"hand-back-fist"}}("undefined"==typeof window&&"undefined"==typeof self&&global);
|